config/5host.toml
Rama main · réplica de lectura del repositorio original.
# Five-host development cluster, RS(3,2).
#
# Each host is its own s3d process with a gate, a meta replica and a blob
# node. Colocated nodes talk over the in-process pipe; nodes on different
# hosts talk over QUIC. Nothing here names a transport — the pinning does.
#
# ./scripts/start.sh 5host
#
# The hosts share one machine over loopback aliases, so each binds its own
# address: five processes cannot share a port on one.
#
# Neither plane is split here, because there is one interface to split over. On
# a multi-homed machine the host's bind_addr keeps raft and blob traffic on the
# private interface, and the gate takes bind_addr = "0.0.0.0" for public S3.
version = 1
region = "ap-southeast-2"
[rs]
data = 3
parity = 2
# The S3 gate's HTTP surface. enable_http2 advertises h2 over ALPN and
# defaults on. Only a client that offers h2 is given it, so this is a
# fleet-wide backstop rather than the way to keep one client off h2: a client
# multiplexing large bodies onto one connection should decline h2 itself.
# [s3]
# enable_http2 = true
# data_dir, tls_cert, tls_key and encryption_key are deliberately absent:
# they are host-local, and start.sh passes them as flags so this file stays
# identical on every machine.
#
# admin_port serves /healthz and /readyz on the host's bind address, as plain
# HTTP with no authentication. It is safe here because each host is a loopback
# alias; on a public interface keep it on the private side or leave it out.
[[host]]
id = 1
addr = "10.11.12.1"
admin_port = 9099
[[host.node]]
id = 1
role = "gate"
port = 8443
[[host.node]]
id = 2
role = "meta"
port = 6660
[[host.node]]
id = 3
role = "blob"
port = 9991
[[host]]
id = 2
addr = "10.11.12.2"
admin_port = 9099
[[host.node]]
id = 4
role = "gate"
port = 8443
[[host.node]]
id = 5
role = "meta"
port = 6660
[[host.node]]
id = 6
role = "blob"
port = 9991
[[host]]
id = 3
addr = "10.11.12.3"
admin_port = 9099
[[host.node]]
id = 7
role = "gate"
port = 8443
[[host.node]]
id = 8
role = "meta"
port = 6660
[[host.node]]
id = 9
role = "blob"
port = 9991
[[host]]
id = 4
addr = "10.11.12.4"
admin_port = 9099
[[host.node]]
id = 10
role = "gate"
port = 8443
[[host.node]]
id = 11
role = "meta"
port = 6660
[[host.node]]
id = 12
role = "blob"
port = 9991
[[host]]
id = 5
addr = "10.11.12.5"
admin_port = 9099
[[host.node]]
id = 13
role = "gate"
port = 8443
[[host.node]]
id = 14
role = "meta"
port = 6660
[[host.node]]
id = 15
role = "blob"
port = 9991
# A config-defined service account. These are trusted: the policy table is
# only consulted for IAM accounts, so none is written here.
[[auth]]
access_key_id = "AKIAIOSFODNN7EXAMPLE"
secret_access_key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
account_id = "123456789012"
# No buckets defined — tests and benchmarks create their own.