#Copyright (c) KMG. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0

# ---------- Connection ----------
# Plain HTTP is the default transport. Use an explicit https:// URL to enable
# TLS; use insecure=true only when that HTTPS endpoint has an untrusted
# certificate.
url=http://play.min.io
# Optional comma-separated endpoints. Empty uses url. Workers are assigned
# round-robin while bucket setup and catalog discovery use the first endpoint.
endpoints=
accessKey=Q3AM3UQ867SPQQA43P2F
secretKey=zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG
bucketName=sbk
# AWS region for SigV4 (empty = auto-detect from endpoint)
region=
# Recreate the bucket; if already existing , delete it and create it again
reCreate=false
# No server certificate validation. Keep disabled unless a lab endpoint uses
# a self-signed certificate.
insecure=false

# ---------- Workload operation ----------
# Writer: put, update, copy, delete, tag-set, tag-delete,
#         bucket-create, bucket-delete
writeOperation=put
# Reader: get, range-get, stat, tag-get, list, bucket-stat, bucket-list
readOperation=get
# Optional deterministic weighted mixes, e.g. put=80,copy=20 and get=90,stat=10.
writeMix=
readMix=
# Use MinioAsyncClient. Concurrency is bounded per worker and process.
async=false
asyncDepth=32
# 0 derives workers * asyncDepth.
asyncMaxInflight=0
# Reject configurations whose worst-case payload/response buffers exceed this
# many MiB. 0 disables the memory guard.
asyncMaxMemoryMb=1024

# ---------- Object naming ----------
# Use filesystem-style hierarchical keys: a/b/c-<uuid>
fsAccess=false
# Optional object key prefix
prefix=
# Destination prefix for server-side COPY
copyPrefix=sbk-copy
# Ranged GET offset/length. rangeLength=0 uses the SBK -size value.
rangeOffset=0
rangeLength=0
# Maximum keys consumed by each LIST operation
listMaxKeys=1000
# Optional comma-separated prefixes distributed across LIST readers.
listPrefixes=
# Optional local CSV manifest: key,size[,versionId]. Empty discovers via S3.
objectFile=
# Bound startup catalog memory for very large buckets.
catalogMaxObjects=1000000

# ---------- Multipart upload ----------
# Part size in bytes; 0 disables multipart. Valid range: 5 MiB .. 5 GiB
partSize=0
# Concurrent parts in flight per object (0 = SDK default)
mpuConcurrentParts=0

# ---------- Checksum (crc32, crc32c, sha1, sha256, crc64nvme; empty = off) ----------
checksumAlgorithm=

# ---------- Auth (2 or 4; default 4 = SigV4) ----------
authVersion=4

# ---------- Object tagging ----------
taggingEnabled=false
# Comma-separated key=value pairs, e.g. env=prod,team=storage
taggingTags=

# ---------- Versioning ----------
versioningEnabled=false

# ---------- Bucket operations ----------
# Explicit comma-separated targets for bucket-delete and optional bucket-stat.
bucketTargets=
# Prefix for unique bucket names generated by bucket-create.
bucketPrefix=sbk-benchmark
# Remove buckets generated by bucket-create during driver shutdown.
cleanupCreatedBuckets=true

# ---------- Data shaping ----------
# 0..100 target compressibility (0 = fully random, 100 = fully compressible)
dataCompressibility=0
# false = anti-dedup stamping every 4 KiB
dataDedupable=true
# Non-zero makes payload generation reproducible across runs.
dataSeed=0
# Validate GET/range-GET response length against catalog metadata.
verifyReadSize=false
# One attempt disables retries. Retries cover network I/O, HTTP 429 and 5xx.
retryMaxAttempts=1
retryBackoffMs=0
# Untimed bucketExists calls used to establish HTTP/TLS connections.
warmupRequests=0
# Distributed catalog/key partition. Each SBK-GEM node should use a unique
# index in [0, partitionCount).
partitionCount=1
partitionIndex=0
# Optional credential-free JSON manifest path.
runManifest=

# ---------- Server-side encryption (SSE-S3) ----------
sseEnabled=false

# ---------- HTTP client timeouts (ms; 0 = SDK default) ----------
connectTimeoutMs=0
readTimeoutMs=0
writeTimeoutMs=0
# OkHttp async dispatcher and connection-pool limits.
# 0 derives a suitable request limit from workers * asyncDepth.
httpMaxRequests=0
httpMaxRequestsPerHost=0
httpMaxIdleConnections=32
httpKeepAliveSeconds=300

# ---------- Extra HTTP headers (CSV key=value) ----------
# Added to every S3 HTTP request. Useful for backend-specific auth:
#   Dell ECS / ObjectScale: x-emc-namespace=<namespace>
#   Wasabi etc:             x-amz-content-sha256-checksum=ON
extraHeaders=
