pub struct ClusterBind9ProviderSpec {
pub namespace: Option<String>,
pub common: Bind9ClusterCommonSpec,
}Expand description
ClusterBind9Provider - Cluster-scoped BIND9 DNS provider for platform teams.
A cluster-scoped provider allows platform teams to provision shared BIND9 DNS infrastructure that is accessible from any namespace. This is ideal for shared services, production DNS, or platform-managed infrastructure that multiple teams use.
DNSZones in any namespace can reference a ClusterBind9Provider using the clusterProviderRef field.
§Use Cases
- Platform team provides shared DNS infrastructure for all namespaces
- Production DNS services that serve multiple applications
- Centrally managed DNS with governance and compliance requirements
§Example
apiVersion: bindy.firestoned.io/v1beta1
kind: ClusterBind9Provider
metadata:
name: shared-production-dns
# No namespace - cluster-scoped
spec:
version: "9.18"
primary:
replicas: 3
service:
type: LoadBalancer
secondary:
replicas: 2Fields§
§namespace: Option<String>Namespace where Bind9Instance resources will be created
Since ClusterBind9Provider is cluster-scoped, instances need to be created in a specific namespace.
Typically this would be a platform-managed namespace like dns-system.
All managed instances (primary and secondary) will be created in this namespace.
DNSZones from any namespace can reference this provider via clusterProviderRef.
Default: If not specified, instances will be created in the same namespace where the
Bindy operator is running (from POD_NAMESPACE environment variable).
Example: dns-system for platform DNS infrastructure
common: Bind9ClusterCommonSpecAll cluster configuration is flattened from the common spec
Trait Implementations§
Source§impl Clone for ClusterBind9ProviderSpec
impl Clone for ClusterBind9ProviderSpec
Source§fn clone(&self) -> ClusterBind9ProviderSpec
fn clone(&self) -> ClusterBind9ProviderSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ClusterBind9ProviderSpec
impl Debug for ClusterBind9ProviderSpec
Source§impl<'de> Deserialize<'de> for ClusterBind9ProviderSpec
impl<'de> Deserialize<'de> for ClusterBind9ProviderSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for ClusterBind9ProviderSpec
impl JsonSchema for ClusterBind9ProviderSpec
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for ClusterBind9ProviderSpec
impl RefUnwindSafe for ClusterBind9ProviderSpec
impl Send for ClusterBind9ProviderSpec
impl Sync for ClusterBind9ProviderSpec
impl Unpin for ClusterBind9ProviderSpec
impl UnwindSafe for ClusterBind9ProviderSpec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more