Skip to content

Commit

Permalink
Merge branch 'main' into EVEREST-1841-mongodb-major-upgrades
Browse files Browse the repository at this point in the history
  • Loading branch information
recharte authored Feb 13, 2025
2 parents c337ed0 + b1029e3 commit cd2238b
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 3 deletions.
11 changes: 8 additions & 3 deletions internal/controller/common/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@ func CreateOrUpdateSecretData(
database *everestv1alpha1.DatabaseCluster,
secretName string,
data map[string][]byte,
setControllerRef bool,
) error {
err := UpdateSecretData(ctx, c, database, secretName, data)
if err == nil {
Expand All @@ -280,10 +281,14 @@ func CreateOrUpdateSecretData(
Type: corev1.SecretTypeOpaque,
Data: data,
}
err = controllerutil.SetControllerReference(database, secret, c.Scheme())
if err != nil {
return err

if setControllerRef {
err = controllerutil.SetControllerReference(database, secret, c.Scheme())
if err != nil {
return err
}
}

// If the secret does not exist, create it
return c.Create(ctx, secret)
}
Expand Down
1 change: 1 addition & 0 deletions internal/controller/providers/pg/applier.go
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@ func (p *applier) applyPMMCfg(monitoring *everestv1alpha1.MonitoringConfig) erro
map[string][]byte{
"PMM_SERVER_KEY": []byte(apiKey),
},
true,
); err != nil {
return err
}
Expand Down
7 changes: 7 additions & 0 deletions internal/controller/providers/psmdb/applier.go
Original file line number Diff line number Diff line change
Expand Up @@ -366,10 +366,17 @@ func (p *applier) applyPMMCfg(monitoring *everestv1alpha1.MonitoringConfig) erro
return err
}

// We avoid setting the controller reference for the Secret here.
// The PSMDB operator handles Secret cleanup automatically as part of the `delete-psmdb-pvc` finalizer process.
// If we were to set the controller reference, the Secret would be deleted before the PSMDB cluster, leading to
// the PSMDB operator recreating the Secret and restarting the DB pods to sync updated user information,
// which would cause unnecessary restarts.
setControllerRef := false
if err := common.CreateOrUpdateSecretData(ctx, c, database, psmdb.Spec.Secrets.Users,
map[string][]byte{
"PMM_SERVER_API_KEY": []byte(apiKey),
},
setControllerRef,
); err != nil {
return err
}
Expand Down

0 comments on commit cd2238b

Please sign in to comment.