pub struct SecretSpec {
pub metadata: SecretMetadata,
pub type_: String,
pub string_data: Option<BTreeMap<String, String>>,
pub data: Option<BTreeMap<String, String>>,
}Expand description
Kubernetes Secret specification for inline Secret creation.
Used when the operator should create and manage the Secret (with optional rotation). This is a subset of the Kubernetes Secret API focusing on fields relevant for RNDC key management.
§Example
secret:
metadata:
name: my-rndc-key
labels:
app: bindy
tier: infrastructure
stringData:
rndc.key: |
key "bindy-operator" {
algorithm hmac-sha256;
secret "dGVzdHNlY3JldA==";
};Fields§
§metadata: SecretMetadataSecret metadata (name, labels, annotations).
Required: You must specify metadata.name for the Secret name.
type_: StringSecret type (default: “Opaque”).
For RNDC keys, use the default “Opaque” type.
string_data: Option<BTreeMap<String, String>>String data (keys and values as strings).
For RNDC keys, you should provide:
rndc.key: Full BIND9 key file content (required by BIND9)
Optional metadata (auto-populated by operator if omitted):
key-name: Name of the TSIG keyalgorithm: HMAC algorithmsecret: Base64-encoded key material
Kubernetes automatically base64-encodes string data when creating the Secret.
data: Option<BTreeMap<String, String>>Binary data (keys and values as base64 strings).
Alternative to string_data if you want to provide already-base64-encoded values.
Most users should use string_data instead for readability.
Trait Implementations§
Source§impl Clone for SecretSpec
impl Clone for SecretSpec
Source§fn clone(&self) -> SecretSpec
fn clone(&self) -> SecretSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SecretSpec
impl Debug for SecretSpec
Source§impl<'de> Deserialize<'de> for SecretSpec
impl<'de> Deserialize<'de> for SecretSpec
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 SecretSpec
impl JsonSchema for SecretSpec
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 moreSource§impl PartialEq for SecretSpec
impl PartialEq for SecretSpec
Source§impl Serialize for SecretSpec
impl Serialize for SecretSpec
impl StructuralPartialEq for SecretSpec
Auto Trait Implementations§
impl Freeze for SecretSpec
impl RefUnwindSafe for SecretSpec
impl Send for SecretSpec
impl Sync for SecretSpec
impl Unpin for SecretSpec
impl UnwindSafe for SecretSpec
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].