@@ -37,7 +37,7 @@ type Configurable interface {
37
37
// GetAgentPasswordSecretNamespacedName returns the NamespacedName of the secret which stores the generated password for the agent.
38
38
GetAgentPasswordSecretNamespacedName () types.NamespacedName
39
39
40
- // GetAgentScramKeyfileSecretNamespacedName returns the NamespacedName of the secret which stores the keyfile for the agent.
40
+ // GetAgentKeyfileSecretNamespacedName returns the NamespacedName of the secret which stores the keyfile for the agent.
41
41
GetAgentKeyfileSecretNamespacedName () types.NamespacedName
42
42
43
43
// NamespacedName returns the NamespacedName for the resource that is being configured.
@@ -142,7 +142,7 @@ func Enable(auth *automationconfig.Auth, secretGetUpdateCreateDeleter secret.Get
142
142
143
143
// ensureScramCredentials will ensure that the ScramSha1 & ScramSha256 credentials exist and are stored in the credentials
144
144
// secret corresponding to user of the given MongoDB deployment.
145
- func ensureScramCredentials (getUpdateCreator secret.GetUpdateCreator , user User , mdbNamespacedName types.NamespacedName ) (scramcredentials.ScramCreds , scramcredentials.ScramCreds , error ) {
145
+ func ensureScramCredentials (getUpdateCreator secret.GetUpdateCreator , user User , mdbNamespacedName types.NamespacedName , ownerRef []metav1. OwnerReference ) (scramcredentials.ScramCreds , scramcredentials.ScramCreds , error ) {
146
146
147
147
password , err := secret .ReadKey (getUpdateCreator , user .PasswordSecretKey , types.NamespacedName {Name : user .PasswordSecretName , Namespace : mdbNamespacedName .Namespace })
148
148
if err != nil {
@@ -176,7 +176,7 @@ func ensureScramCredentials(getUpdateCreator secret.GetUpdateCreator, user User,
176
176
}
177
177
178
178
// create or update our credentials secret for this user
179
- if err := createScramCredentialsSecret (getUpdateCreator , mdbNamespacedName , user .ScramCredentialsSecretName , sha1Creds , sha256Creds ); err != nil {
179
+ if err := createScramCredentialsSecret (getUpdateCreator , mdbNamespacedName , ownerRef , user .ScramCredentialsSecretName , sha1Creds , sha256Creds ); err != nil {
180
180
return scramcredentials.ScramCreds {}, scramcredentials.ScramCreds {}, fmt .Errorf ("faild to create scram credentials secret %s: %s" , user .ScramCredentialsSecretName , err )
181
181
}
182
182
@@ -260,7 +260,7 @@ func computeScramShaCredentials(username, password string, sha1Salt, sha256Salt
260
260
261
261
// createScramCredentialsSecret will create a Secret that contains all of the fields required to read these credentials
262
262
// back in the future.
263
- func createScramCredentialsSecret (getUpdateCreator secret.GetUpdateCreator , mdbObjectKey types.NamespacedName , scramCredentialsSecretName string , sha1Creds , sha256Creds scramcredentials.ScramCreds ) error {
263
+ func createScramCredentialsSecret (getUpdateCreator secret.GetUpdateCreator , mdbObjectKey types.NamespacedName , ref []metav1. OwnerReference , scramCredentialsSecretName string , sha1Creds , sha256Creds scramcredentials.ScramCreds ) error {
264
264
scramCredsSecret := secret .Builder ().
265
265
SetName (scramCredentialsSecretName ).
266
266
SetNamespace (mdbObjectKey .Namespace ).
@@ -270,6 +270,7 @@ func createScramCredentialsSecret(getUpdateCreator secret.GetUpdateCreator, mdbO
270
270
SetField (sha256SaltKey , sha256Creds .Salt ).
271
271
SetField (sha256StoredKeyKey , sha256Creds .StoredKey ).
272
272
SetField (sha256ServerKeyKey , sha256Creds .ServerKey ).
273
+ SetOwnerReferences (ref ).
273
274
Build ()
274
275
return secret .CreateOrUpdate (getUpdateCreator , scramCredsSecret )
275
276
}
@@ -307,7 +308,7 @@ func readExistingCredentials(secretGetter secret.Getter, mdbObjectKey types.Name
307
308
func convertMongoDBResourceUsersToAutomationConfigUsers (secretGetUpdateCreateDeleter secret.GetUpdateCreateDeleter , mdb Configurable ) ([]automationconfig.MongoDBUser , error ) {
308
309
var usersWanted []automationconfig.MongoDBUser
309
310
for _ , u := range mdb .GetScramUsers () {
310
- acUser , err := convertMongoDBUserToAutomationConfigUser (secretGetUpdateCreateDeleter , mdb .NamespacedName (), u )
311
+ acUser , err := convertMongoDBUserToAutomationConfigUser (secretGetUpdateCreateDeleter , mdb .NamespacedName (), mdb . GetOwnerReferences (), u )
311
312
if err != nil {
312
313
return nil , fmt .Errorf ("failed to convert scram user %s to Automation Config user: %s" , u .Username , err )
313
314
}
@@ -318,7 +319,7 @@ func convertMongoDBResourceUsersToAutomationConfigUsers(secretGetUpdateCreateDel
318
319
319
320
// convertMongoDBUserToAutomationConfigUser converts a single user configured in the MongoDB resource and converts it to a user
320
321
// that can be added directly to the AutomationConfig.
321
- func convertMongoDBUserToAutomationConfigUser (secretGetUpdateCreateDeleter secret.GetUpdateCreateDeleter , mdbNsName types.NamespacedName , user User ) (automationconfig.MongoDBUser , error ) {
322
+ func convertMongoDBUserToAutomationConfigUser (secretGetUpdateCreateDeleter secret.GetUpdateCreateDeleter , mdbNsName types.NamespacedName , ownerRef []metav1. OwnerReference , user User ) (automationconfig.MongoDBUser , error ) {
322
323
acUser := automationconfig.MongoDBUser {
323
324
Username : user .Username ,
324
325
Database : user .Database ,
@@ -329,7 +330,7 @@ func convertMongoDBUserToAutomationConfigUser(secretGetUpdateCreateDeleter secre
329
330
Database : role .Database ,
330
331
})
331
332
}
332
- sha1Creds , sha256Creds , err := ensureScramCredentials (secretGetUpdateCreateDeleter , user , mdbNsName )
333
+ sha1Creds , sha256Creds , err := ensureScramCredentials (secretGetUpdateCreateDeleter , user , mdbNsName , ownerRef )
333
334
if err != nil {
334
335
return automationconfig.MongoDBUser {}, fmt .Errorf ("could not ensure scram credentials: %s" , err )
335
336
}
0 commit comments