Skip to content

Commit

Permalink
K8SPG-637: add internal. prefix to operator finalizers
Browse files Browse the repository at this point in the history
  • Loading branch information
pooknull committed Feb 3, 2025
1 parent fdd16c1 commit 3b390d2
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 13 deletions.
2 changes: 1 addition & 1 deletion e2e-tests/tests/finalizers/01-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ metadata:
finalizers:
- percona.com/delete-pvc
- percona.com/delete-ssl
- percona.com/stop-watchers
- internal.percona.com/stop-watchers
status:
pgbouncer:
ready: 3
Expand Down
2 changes: 1 addition & 1 deletion e2e-tests/tests/finalizers/03-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ metadata:
finalizers:
- percona.com/delete-pvc
- percona.com/delete-ssl
- percona.com/stop-watchers
- internal.percona.com/stop-watchers
status:
pgbouncer:
ready: 3
Expand Down
14 changes: 9 additions & 5 deletions percona/controller/pgcluster/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"fmt"
"io"
"reflect"
"slices"
"strings"
"time"

Expand Down Expand Up @@ -861,15 +862,18 @@ func (r *PGClusterReconciler) stopExternalWatcher(ctx context.Context, cr *v2.Pe
}

func (r *PGClusterReconciler) ensureFinalizers(ctx context.Context, cr *v2.PerconaPGCluster) error {
for _, finalizer := range cr.Finalizers {
if finalizer == pNaming.FinalizerStopWatchers {
return nil
}
if !slices.Contains(cr.Finalizers, pNaming.FinalizerStopWatchersDeprecated) && slices.Contains(cr.Finalizers, pNaming.FinalizerStopWatchers) {
return nil
}

if *cr.Spec.Backups.TrackLatestRestorableTime {
orig := cr.DeepCopy()
cr.Finalizers = append(cr.Finalizers, pNaming.FinalizerStopWatchers)
cr.Finalizers = slices.DeleteFunc(cr.Finalizers, func(f string) bool {
return f == pNaming.FinalizerStopWatchersDeprecated
})
if !slices.Contains(cr.Finalizers, pNaming.FinalizerStopWatchers) {
cr.Finalizers = append(cr.Finalizers, pNaming.FinalizerStopWatchers)
}
if err := r.Client.Patch(ctx, cr.DeepCopy(), client.MergeFrom(orig)); err != nil {
return errors.Wrap(err, "patch finalizers")
}
Expand Down
12 changes: 9 additions & 3 deletions percona/naming/finalizers.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,18 @@ package naming
const (
FinalizerDeletePVC = PrefixPercona + "delete-pvc"
FinalizerDeleteSSL = PrefixPercona + "delete-ssl"
FinalizerStopWatchers = PrefixPercona + "stop-watchers" //nolint:gosec
FinalizerStopWatchers = PrefixPerconaInternal + "stop-watchers" //nolint:gosec
FinalizerDeleteBackups = PrefixPercona + "delete-backups"

FinalizerStopWatchersDeprecated = PrefixPercona + "stop-watchers" //nolint:gosec
)

// PerconaPGRestore finalizers
const (
FinalizerDeleteRestore = PrefixPercona + "delete-restore" //nolint:gosec
FinalizerDeleteBackup = PrefixPercona + "delete-backup" //nolint:gosec
FinalizerDeleteRestore = PrefixPerconaInternal + "delete-restore" //nolint:gosec
)

// PerconaPGBackup finalizers
const (
FinalizerDeleteBackup = PrefixPerconaInternal + "delete-backup" //nolint:gosec
)
7 changes: 4 additions & 3 deletions percona/naming/prefix.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ package naming
import "strings"

const (
PrefixPercona = "percona.com/"
PrefixPerconaPGV2 = "pgv2.percona.com/"
PrefixCrunchy = "postgres-operator.crunchydata.com/"
PrefixPercona = "percona.com/"
PrefixPerconaInternal = "internal." + PrefixPercona
PrefixPerconaPGV2 = "pgv2.percona.com/"
PrefixCrunchy = "postgres-operator.crunchydata.com/"
)

func ToCrunchyAnnotation(annotation string) string {
Expand Down

0 comments on commit 3b390d2

Please sign in to comment.