Skip to content

Commit 9e6a5d7

Browse files
feat: Support the annotation "secrets.stackable.tech/backend.autotls.cert.domain-components-in-subject-dn"
1 parent 96f4257 commit 9e6a5d7

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

crates/stackable-operator/src/builder/pod/volume.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@ pub struct SecretOperatorVolumeSourceBuilder {
280280
kerberos_service_names: Vec<String>,
281281
tls_pkcs12_password: Option<String>,
282282
auto_tls_cert_lifetime: Option<Duration>,
283+
auto_tls_cert_domain_components_in_subject_dn: Option<bool>,
283284
provision_parts: SecretClassVolumeProvisionParts,
284285
}
285286

@@ -302,6 +303,7 @@ impl SecretOperatorVolumeSourceBuilder {
302303
kerberos_service_names: Vec::new(),
303304
tls_pkcs12_password: None,
304305
auto_tls_cert_lifetime: None,
306+
auto_tls_cert_domain_components_in_subject_dn: None,
305307
provision_parts,
306308
}
307309
}
@@ -311,6 +313,14 @@ impl SecretOperatorVolumeSourceBuilder {
311313
self
312314
}
313315

316+
pub fn with_auto_tls_cert_domain_components_in_subject_dn(
317+
&mut self,
318+
enabled: impl Into<bool>,
319+
) -> &mut Self {
320+
self.auto_tls_cert_domain_components_in_subject_dn = Some(enabled.into());
321+
self
322+
}
323+
314324
pub fn with_node_scope(&mut self) -> &mut Self {
315325
self.scopes.push(SecretOperatorVolumeScope::Node);
316326
self
@@ -391,6 +401,13 @@ impl SecretOperatorVolumeSourceBuilder {
391401
);
392402
}
393403

404+
if let Some(enabled) = self.auto_tls_cert_domain_components_in_subject_dn {
405+
annotations.insert(
406+
Annotation::auto_tls_cert_domain_components_in_subject_dn(enabled)
407+
.context(ParseAnnotationSnafu)?,
408+
);
409+
}
410+
394411
Ok(EphemeralVolumeSource {
395412
volume_claim_template: Some(PersistentVolumeClaimTemplate {
396413
metadata: Some(ObjectMetaBuilder::new().annotations(annotations).build()),

crates/stackable-operator/src/kvp/annotation/mod.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,17 @@ impl Annotation {
166166
.expect("autoscaling retry annotation must be valid");
167167
Self(kvp)
168168
}
169+
170+
/// Constructs a `secrets.stackable.tech/backend.autotls.cert.lifetime` annotation.
171+
pub fn auto_tls_cert_domain_components_in_subject_dn(
172+
enabled: bool,
173+
) -> Result<Self, AnnotationError> {
174+
let kvp = KeyValuePair::try_from((
175+
"secrets.stackable.tech/backend.autotls.cert.domain-components-in-subject-dn",
176+
enabled.to_string(),
177+
))?;
178+
Ok(Self(kvp))
179+
}
169180
}
170181

171182
/// A validated set/list of Kubernetes annotations.

0 commit comments

Comments
 (0)