run_scout

Function run_scout 

Source
pub async fn run_scout(
    cli_cluster_name: Option<String>,
    cli_namespace: Option<String>,
    cli_default_ips: Vec<String>,
    cli_default_zone: Option<String>,
) -> Result<()>
Expand description

Entry point for the bindy scout subcommand.

Initialises the Kubernetes client, builds reflector stores for DNSZone resources (for zone validation), then runs the Ingress controller loop.

§Arguments

  • cli_cluster_name — Optional cluster name from --bind9-cluster-name CLI arg. Takes precedence over the BINDY_SCOUT_CLUSTER_NAME environment variable.
  • cli_namespace — Optional namespace from --namespace CLI arg. Takes precedence over the BINDY_SCOUT_NAMESPACE environment variable.
  • cli_default_ips — Default IPs from --default-ips CLI arg (comma-separated values). Takes precedence over the BINDY_SCOUT_DEFAULT_IPS environment variable. Used in shared-ingress topologies (e.g. Traefik) where all Ingresses resolve to the same IP(s).
  • cli_default_zone — Default DNS zone from --default-zone CLI arg. Takes precedence over the BINDY_SCOUT_DEFAULT_ZONE environment variable. When set, Ingresses only need bindy.firestoned.io/scout-enabled: "true" — no zone annotation needed.

§Errors

Returns an error if the Kubernetes client cannot be initialised or if the cluster name is not provided via CLI or the BINDY_SCOUT_CLUSTER_NAME env var.