@@ -6,12 +6,14 @@ import (
66 "github.com/pkg/errors"
77 batchv1 "k8s.io/api/batch/v1"
88 k8serrors "k8s.io/apimachinery/pkg/api/errors"
9+ "k8s.io/apimachinery/pkg/api/meta"
910 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1011 "k8s.io/apimachinery/pkg/types"
1112 "k8s.io/client-go/util/retry"
1213 "sigs.k8s.io/controller-runtime/pkg/client"
1314 "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
1415
16+ "github.com/percona/percona-postgresql-operator/v2/internal/controller/postgrescluster"
1517 "github.com/percona/percona-postgresql-operator/v2/internal/logging"
1618 "github.com/percona/percona-postgresql-operator/v2/internal/naming"
1719 "github.com/percona/percona-postgresql-operator/v2/percona/controller"
@@ -48,6 +50,14 @@ func (r *PGClusterReconciler) cleanupOutdatedBackups(ctx context.Context, cr *v2
4850 }
4951
5052 for _ , repo := range cr .Spec .Backups .PGBackRest .Repos {
53+ if repo .Volume != nil {
54+ repoCondition := meta .FindStatusCondition (cr .Status .Conditions , postgrescluster .ConditionRepoHostReady )
55+ if repoCondition == nil || repoCondition .Status != metav1 .ConditionTrue {
56+ log .Info ("pgBackRest repo host not ready, skipping backup cleanup" , "repo" , repo .Name )
57+ continue
58+ }
59+ }
60+
5161 var info pgbackrest.InfoOutput
5262
5363 pbList , err := listPGBackups (ctx , r .Client , cr , repo .Name )
0 commit comments