@@ -265,13 +265,15 @@ impl VolumeMountBuilder {
265
265
pub struct SecretOperatorVolumeSourceBuilder {
266
266
secret_class : String ,
267
267
scopes : Vec < SecretOperatorVolumeScope > ,
268
+ kerberos_service_names : Vec < String > ,
268
269
}
269
270
270
271
impl SecretOperatorVolumeSourceBuilder {
271
272
pub fn new ( secret_class : impl Into < String > ) -> Self {
272
273
Self {
273
274
secret_class : secret_class. into ( ) ,
274
275
scopes : Vec :: new ( ) ,
276
+ kerberos_service_names : Vec :: new ( ) ,
275
277
}
276
278
}
277
279
@@ -291,6 +293,11 @@ impl SecretOperatorVolumeSourceBuilder {
291
293
self
292
294
}
293
295
296
+ pub fn with_kerberos_service_name ( & mut self , name : impl Into < String > ) -> & mut Self {
297
+ self . kerberos_service_names . push ( name. into ( ) ) ;
298
+ self
299
+ }
300
+
294
301
pub fn build ( & self ) -> EphemeralVolumeSource {
295
302
let mut attrs = BTreeMap :: from ( [ (
296
303
"secrets.stackable.tech/class" . to_string ( ) ,
@@ -315,6 +322,13 @@ impl SecretOperatorVolumeSourceBuilder {
315
322
attrs. insert ( "secrets.stackable.tech/scope" . to_string ( ) , scopes) ;
316
323
}
317
324
325
+ if !self . kerberos_service_names . is_empty ( ) {
326
+ attrs. insert (
327
+ "secrets.stackable.tech/kerberos.service.names" . to_string ( ) ,
328
+ self . kerberos_service_names . join ( "," ) ,
329
+ ) ;
330
+ }
331
+
318
332
EphemeralVolumeSource {
319
333
volume_claim_template : Some ( PersistentVolumeClaimTemplate {
320
334
metadata : Some ( ObjectMetaBuilder :: new ( ) . annotations ( attrs) . build ( ) ) ,
0 commit comments