Skip to main content

Initia Deployment Architecture

Initia uses an active validator plus three Horcrux signer overlays with explicit active-validator topology.

Deployed roles

RoleFilePlacementNotes
Active validatorvariables/initia/validator-01.yamldedicated Kubernetes nodevalidatorRole: active; topology.activeValidator set.
Horcrux signer 1variables/initia/horcrux-01.yamldedicated Kubernetes nodePer-ordinal share/ECIES Vault refs.
Horcrux signer 2variables/initia/horcrux-02.yamldedicated Kubernetes nodePer-ordinal share/ECIES Vault refs.
Horcrux signer 3variables/initia/horcrux-03.yamldedicated Kubernetes nodeCo-located with validator; port checks are mandatory.

Chain defaults

variables/initia/common-values.yaml defines:

  • chain ID: interwoven-1.
  • host storage path: persistent data directory with 2Ti intent.
  • bootstrap genesis, snapshot, seed, and peer URLs.
  • preparer enabled.
  • Horcrux quorum and explicit chainNodes target service.

Bind vs advertise

validator-01.yaml carries explicit bind_ip and advertise_ip values. Keep this distinction visible in the guide:

FieldMeaning
bind_ipWhere the pod/node listens.
advertise_ipWhat peers or signers should connect to.
topology.activeValidatorThe only validator expected to sign in the active topology.

Template behavior

charts/chain-templates/templates/initia.yaml renders host-network validator behavior and a Horcrux handshake retry loop. initia-horcrux.yaml renders host-network signer pods and exposes the cosigner port only. The template rejects ambiguous chainNodes versus validator advertise/private IP hints.

Preflight checklist

  • Confirm validatorRole: active is intentional.
  • Confirm topology.activeValidator points at the same validator overlay.
  • Confirm bind and advertise IPs match node routing.
  • Confirm Horcrux chainNodes target resolves before validator sync.
  • Confirm the shard filename uses the chain ID expected by tests.
  • Confirm preparer and legacy upgrade sync behavior are both understood before upgrade windows.