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§
- Bind9
Manager - Manager for BIND9 servers via HTTP API sidecar.