bankai/cluster_transport

Cluster transport configuration and admission policy.

AaronDB owns the typed identity checks. Bankai keeps the project-specific configuration file small, explicit, and free of private key material. The BEAM distribution channel itself must already be configured with TLS; this module refuses to label an unconfigured clustered daemon as healthy.

Types

pub type Config {
  Config(
    schema_version: Int,
    cluster_id: String,
    node_id: String,
    issuer: String,
    local_fingerprint: String,
    members: List(Peer),
    max_rpc_bytes: Int,
    max_attempts: Int,
    timeout_ms: Int,
  )
}

Constructors

  • Config(
      schema_version: Int,
      cluster_id: String,
      node_id: String,
      issuer: String,
      local_fingerprint: String,
      members: List(Peer),
      max_rpc_bytes: Int,
      max_attempts: Int,
      timeout_ms: Int,
    )
pub type Peer {
  Peer(node_id: String, fingerprint: String)
}

Constructors

  • Peer(node_id: String, fingerprint: String)
pub type TransportStatus {
  Ready(config: Config)
  RecoveryRequired(reason: String)
  NotApplicable
}

Constructors

  • Ready(config: Config)
  • RecoveryRequired(reason: String)
  • NotApplicable

Values

pub fn diagnose(
  workspace: String,
  profile: platform_profile.Profile,
) -> TransportStatus
pub const filename: String
pub fn path(workspace: String) -> String
pub fn require_ready(
  workspace: String,
  profile: platform_profile.Profile,
) -> Result(Nil, String)

A local profile has no cluster transport to configure. An explicit clustered profile must carry a matching authenticated-transport configuration before bankai serve will accept cluster traffic.

pub fn status_json(status: TransportStatus) -> json.Json
Search Document