@@ -310,6 +310,21 @@ func (r *BarbicanAPIReconciler) generateServiceConfigs(
310310
311311 databaseAccount := db .GetAccount ()
312312 databaseSecret := db .GetSecret ()
313+ enabledSecretStores := []string {}
314+ if len (instance .Spec .EnabledSecretStores ) == 0 {
315+ enabledSecretStores = []string {"simple_crypto" }
316+ } else {
317+ for _ , value := range instance .Spec .EnabledSecretStores {
318+ enabledSecretStores = append (enabledSecretStores , string (value ))
319+ }
320+ }
321+ globalDefaultSecretStore := ""
322+ if len (instance .Spec .GlobalDefaultSecretStore ) == 0 {
323+ globalDefaultSecretStore = "simple_crypto"
324+ } else {
325+ globalDefaultSecretStore = instance .Spec .GlobalDefaultSecretStore
326+ }
327+
313328 templateParameters := map [string ]interface {}{
314329 "DatabaseConnection" : fmt .Sprintf ("mysql+pymysql://%s:%s@%s/%s?read_default_file=/etc/my.cnf" ,
315330 databaseAccount .Spec .UserName ,
@@ -325,19 +340,20 @@ func (r *BarbicanAPIReconciler) generateServiceConfigs(
325340 "LogFile" : fmt .Sprintf ("%s%s.log" , barbican .BarbicanLogPath , instance .Name ),
326341 "SimpleCryptoKEK" : string (simpleCryptoSecret .Data [instance .Spec .PasswordSelectors .SimpleCryptoKEK ]),
327342 "EnableSecureRBAC" : instance .Spec .EnableSecureRBAC ,
328- "EnabledSecretStores" : strings .Join (instance . Spec . EnabledSecretStores , "," ),
329- "GlobalDefaultSecretStore" : instance . Spec . GlobalDefaultSecretStore ,
330- "SimpleCryptoEnabled" : slices .Contains (instance . Spec . EnabledSecretStores , "simple_crypto" ),
331- "PKCS11CryptoEnabled" : slices .Contains (instance . Spec . EnabledSecretStores , "pkcs11_crypto " ),
343+ "EnabledSecretStores" : strings .Join (enabledSecretStores , "," ),
344+ "GlobalDefaultSecretStore" : globalDefaultSecretStore ,
345+ "SimpleCryptoEnabled" : slices .Contains (enabledSecretStores , "simple_crypto" ),
346+ "PKCS11CryptoEnabled" : slices .Contains (enabledSecretStores , "pkcs11 " ),
332347 }
333348
334349 // Checking if there's an HSM.
335- pkcs11 := instance . Spec . PKCS11
336- if len ( pkcs11 . HSMLibraryPath ) > 0 {
350+ if slices . Contains ( enabledSecretStores , "pkcs11" ) {
351+ pkcs11 := instance . Spec . PKCS11
337352 hsmLoginSecret , _ , err := secret .GetSecret (ctx , h , pkcs11 .HSMLogin , instance .Namespace )
338353 if err != nil {
339354 return err
340355 }
356+ templateParameters ["HSMEnabled" ] = true
341357 templateParameters ["HSMLibraryPath" ] = pkcs11 .HSMLibraryPath
342358 templateParameters ["HSMTokenSerialNumber" ] = pkcs11 .HSMTokenSerialNumber
343359 templateParameters ["HSMTokenLabel" ] = pkcs11 .HSMTokenLabel
0 commit comments