Module bind9

Module bind9 

Source
Expand description

BIND9 management via HTTP API sidecar.

This module provides functionality for managing BIND9 servers using an HTTP API sidecar container that executes rndc commands locally. It handles:

  • Creating and managing DNS zones via the HTTP API
  • Adding and updating DNS zones via dynamic updates (nsupdate protocol)
  • Reloading zones after changes
  • Managing zone transfers
  • RNDC key generation and management

§Architecture

The Bind9Manager communicates with BIND9 instances via an HTTP API sidecar running in the same pod. The sidecar executes rndc commands locally and manages zone files. Authentication uses Kubernetes ServiceAccount tokens.

§Example

use bindy::bind9::Bind9Manager;

let manager = Bind9Manager::new();

// Manage zones via HTTP API
manager.reload_zone(
    "example.com",
    "bind9-primary-api.dns-system.svc.cluster.local:8080"
).await?;

Re-exports§

pub use rndc::create_rndc_secret_data;
pub use rndc::create_tsig_signer;
pub use rndc::generate_rndc_key;
pub use rndc::parse_rndc_secret_data;
pub use types::RndcError;
pub use types::RndcKeyData;
pub use types::SRVRecordData;
pub use types::SERVICE_ACCOUNT_TOKEN_PATH;

Modules§

records
DNS record management functions using dynamic DNS updates (RFC 2136).
rndc
RNDC key generation and management functions.
types
Types and constants for BIND9 management.
zone_ops
Zone HTTP API operations for BIND9 management.

Structs§

Bind9Manager
Manager for BIND9 servers via HTTP API sidecar.