Ctrl K
ComunidadGuías…

config/3host-hw.toml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Three-host bare-metal cluster, RS(2,1), one host per physical machine.
#
# The same node layout as 3host.toml, moved onto real hardware: bottlebrush,
# ironbark and casuarina, addressed on their 25GbE br-lan. Colocated nodes
# still talk over the in-process pipe and remote ones over QUIC, so the
# transport split is identical and only the wire underneath it changes.
#
#     scripts/bench/hw/hwbench.sh deploy && scripts/bench/hw/hwbench.sh start
#
# The gate is on 8333 and meta on 6550, rather than the usual 8443 and 6660,
# because these machines also run a spinifex-managed predastore. That one binds
# *:8443 for its gate and UDP <addr>:6660 for its meta node, so both defaults
# are already taken on the addresses this profile uses. Blob keeps 9991.
#
# Check both protocols when moving this to other hardware. Meta is QUIC, so it
# is a UDP listener and an ss -lntp sweep does not see it.
#
# RS(2,1) over three hosts places exactly one shard per host, so a GET reads
# one shard locally and fetches exactly one from a peer. That is the cleanest
# attribution of inter-node transport cost this topology can produce, and it
# is why the comparison against the loopback profiles uses three hosts rather
# than four.

version = 1
region = "ap-southeast-2"

[rs]
data = 2
parity = 1

# 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. 9099 is clear of the 8660 the spinifex-managed
# predastore on these machines uses, so both admin listeners can run at once.
[[host]]
id = 1
addr = "10.10.8.4"
admin_port = 9099

  [[host.node]]
  id = 1
  role = "gate"
  port = 8333

  [[host.node]]
  id = 2
  role = "meta"
  port = 6550

  [[host.node]]
  id = 3
  role = "blob"
  port = 9991

[[host]]
id = 2
addr = "10.10.8.5"
admin_port = 9099

  [[host.node]]
  id = 4
  role = "gate"
  port = 8333

  [[host.node]]
  id = 5
  role = "meta"
  port = 6550

  [[host.node]]
  id = 6
  role = "blob"
  port = 9991

[[host]]
id = 3
addr = "10.10.8.6"
admin_port = 9099

  [[host.node]]
  id = 7
  role = "gate"
  port = 8333

  [[host.node]]
  id = 8
  role = "meta"
  port = 6550

  [[host.node]]
  id = 9
  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.