Skip to content

Commit 9eb1237

Browse files
authored
Regularize kubebuilder RBAC annotations (CrunchyData#3586)
1 parent a266886 commit 9eb1237

File tree

15 files changed

+106
-106
lines changed

15 files changed

+106
-106
lines changed

internal/controller/postgrescluster/cluster.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import (
3232
"github.com/crunchydata/postgres-operator/pkg/apis/postgres-operator.crunchydata.com/v1beta1"
3333
)
3434

35-
// +kubebuilder:rbac:groups="",resources=configmaps,verbs=create;patch
35+
// +kubebuilder:rbac:groups="",resources="configmaps",verbs={create,patch}
3636

3737
// reconcileClusterConfigMap writes the ConfigMap that contains generated
3838
// files (etc) that apply to the entire cluster.
@@ -62,7 +62,7 @@ func (r *Reconciler) reconcileClusterConfigMap(
6262
return clusterConfigMap, err
6363
}
6464

65-
// +kubebuilder:rbac:groups="",resources=services,verbs=create;patch
65+
// +kubebuilder:rbac:groups="",resources="services",verbs={create,patch}
6666

6767
// reconcileClusterPodService writes the Service that can provide stable DNS
6868
// names to Pods related to cluster.

internal/controller/postgrescluster/controller.go

+17-17
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ type Reconciler struct {
7171
) error
7272
}
7373

74-
// +kubebuilder:rbac:groups="",resources=events,verbs=create;patch
75-
// +kubebuilder:rbac:groups=postgres-operator.crunchydata.com,resources=postgresclusters,verbs=get;list;watch
76-
// +kubebuilder:rbac:groups=postgres-operator.crunchydata.com,resources=postgresclusters/status,verbs=patch
74+
// +kubebuilder:rbac:groups="",resources="events",verbs={create,patch}
75+
// +kubebuilder:rbac:groups="postgres-operator.crunchydata.com",resources="postgresclusters",verbs={get,list,watch}
76+
// +kubebuilder:rbac:groups="postgres-operator.crunchydata.com",resources="postgresclusters/status",verbs={patch}
7777

7878
// Reconcile reconciles a ConfigMap in a namespace managed by the PostgreSQL Operator
7979
func (r *Reconciler) Reconcile(
@@ -387,7 +387,7 @@ func (r *Reconciler) patch(
387387
// creator of such a reference have either "delete" permission on the owner or
388388
// "update" permission on the owner's "finalizers" subresource.
389389
// - https://docs.k8s.io/reference/access-authn-authz/admission-controllers/
390-
// +kubebuilder:rbac:groups=postgres-operator.crunchydata.com,resources=postgresclusters/finalizers,verbs=update
390+
// +kubebuilder:rbac:groups="postgres-operator.crunchydata.com",resources="postgresclusters/finalizers",verbs={update}
391391

392392
// setControllerReference sets owner as a Controller OwnerReference on controlled.
393393
// Only one OwnerReference can be a controller, so it returns an error if another
@@ -406,19 +406,19 @@ func (r *Reconciler) setOwnerReference(
406406
return controllerutil.SetOwnerReference(owner, controlled, r.Client.Scheme())
407407
}
408408

409-
// +kubebuilder:rbac:groups="",resources=configmaps,verbs=get;list;watch
410-
// +kubebuilder:rbac:groups="",resources=endpoints,verbs=get;list;watch
411-
// +kubebuilder:rbac:groups="",resources=persistentvolumeclaims,verbs=get;list;watch
412-
// +kubebuilder:rbac:groups="",resources=secrets,verbs=get;list;watch
413-
// +kubebuilder:rbac:groups="",resources=services,verbs=get;list;watch
414-
// +kubebuilder:rbac:groups="",resources=serviceaccounts,verbs=get;list;watch
415-
// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch
416-
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=get;list;watch
417-
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=get;list;watch
418-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=roles,verbs=get;list;watch
419-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=rolebindings,verbs=get;list;watch
420-
// +kubebuilder:rbac:groups=batch,resources=cronjobs,verbs=get;list;watch
421-
// +kubebuilder:rbac:groups=policy,resources=poddisruptionbudgets,verbs=get;list;watch
409+
// +kubebuilder:rbac:groups="",resources="configmaps",verbs={get,list,watch}
410+
// +kubebuilder:rbac:groups="",resources="endpoints",verbs={get,list,watch}
411+
// +kubebuilder:rbac:groups="",resources="persistentvolumeclaims",verbs={get,list,watch}
412+
// +kubebuilder:rbac:groups="",resources="secrets",verbs={get,list,watch}
413+
// +kubebuilder:rbac:groups="",resources="services",verbs={get,list,watch}
414+
// +kubebuilder:rbac:groups="",resources="serviceaccounts",verbs={get,list,watch}
415+
// +kubebuilder:rbac:groups="apps",resources="deployments",verbs={get,list,watch}
416+
// +kubebuilder:rbac:groups="apps",resources="statefulsets",verbs={get,list,watch}
417+
// +kubebuilder:rbac:groups="batch",resources="jobs",verbs={get,list,watch}
418+
// +kubebuilder:rbac:groups="rbac.authorization.k8s.io",resources="roles",verbs={get,list,watch}
419+
// +kubebuilder:rbac:groups="rbac.authorization.k8s.io",resources="rolebindings",verbs={get,list,watch}
420+
// +kubebuilder:rbac:groups="batch",resources="cronjobs",verbs={get,list,watch}
421+
// +kubebuilder:rbac:groups="policy",resources="poddisruptionbudgets",verbs={get,list,watch}
422422

423423
// SetupWithManager adds the PostgresCluster controller to the provided runtime manager
424424
func (r *Reconciler) SetupWithManager(mgr manager.Manager) error {

internal/controller/postgrescluster/delete.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import (
2727
"github.com/crunchydata/postgres-operator/pkg/apis/postgres-operator.crunchydata.com/v1beta1"
2828
)
2929

30-
// +kubebuilder:rbac:groups=postgres-operator.crunchydata.com,resources=postgresclusters,verbs=patch
30+
// +kubebuilder:rbac:groups="postgres-operator.crunchydata.com",resources="postgresclusters",verbs={patch}
3131

3232
// handleDelete sets a finalizer on cluster and performs the finalization of
3333
// cluster when it is being deleted. It returns (nil, nil) when cluster is

internal/controller/postgrescluster/instance.go

+16-16
Original file line numberDiff line numberDiff line change
@@ -291,8 +291,8 @@ func (observed *observedInstances) writablePod(container string) (*corev1.Pod, *
291291
return nil, nil
292292
}
293293

294-
// +kubebuilder:rbac:groups="",resources=pods,verbs=list
295-
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=list
294+
// +kubebuilder:rbac:groups="",resources="pods",verbs={list}
295+
// +kubebuilder:rbac:groups="apps",resources="statefulsets",verbs={list}
296296

297297
// observeInstances populates cluster.Status.InstanceSets with observations and
298298
// builds an observedInstances by reading from the Kubernetes API.
@@ -342,8 +342,8 @@ func (r *Reconciler) observeInstances(
342342
return observed, err
343343
}
344344

345-
// +kubebuilder:rbac:groups="",resources=pods,verbs=list
346-
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=patch
345+
// +kubebuilder:rbac:groups="",resources="pods",verbs={list}
346+
// +kubebuilder:rbac:groups="apps",resources="statefulsets",verbs={patch}
347347

348348
// deleteInstances gracefully stops instances of cluster to avoid failovers and
349349
// unclean shutdowns of PostgreSQL. It returns (nil, nil) when finished.
@@ -435,10 +435,10 @@ func (r *Reconciler) deleteInstances(
435435
return &result, err
436436
}
437437

438-
// +kubebuilder:rbac:groups="",resources=configmaps,verbs=delete;list
439-
// +kubebuilder:rbac:groups="",resources=secrets,verbs=delete;list
440-
// +kubebuilder:rbac:groups="",resources=persistentvolumeclaims,verbs=delete;list
441-
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=delete;list
438+
// +kubebuilder:rbac:groups="",resources="configmaps",verbs={delete,list}
439+
// +kubebuilder:rbac:groups="",resources="secrets",verbs={delete,list}
440+
// +kubebuilder:rbac:groups="",resources="persistentvolumeclaims",verbs={delete,list}
441+
// +kubebuilder:rbac:groups="apps",resources="statefulsets",verbs={delete,list}
442442

443443
// deleteInstance will delete all resources related to a single instance
444444
func (r *Reconciler) deleteInstance(
@@ -572,7 +572,7 @@ func (r *Reconciler) reconcileInstanceSets(
572572
return err
573573
}
574574

575-
// +kubebuilder:rbac:groups=policy,resources=poddisruptionbudgets,verbs=list
575+
// +kubebuilder:rbac:groups="policy",resources="poddisruptionbudgets",verbs={list}
576576

577577
// cleanupPodDisruptionBudgets removes pdbs that do not have an
578578
// associated Instance Set
@@ -672,7 +672,7 @@ func findAvailableInstanceNames(set v1beta1.PostgresInstanceSetSpec,
672672
return availableInstanceNames
673673
}
674674

675-
// +kubebuilder:rbac:groups="",resources=pods,verbs=delete
675+
// +kubebuilder:rbac:groups="",resources="pods",verbs={delete}
676676

677677
// rolloutInstance redeploys the Pod of instance by deleting it. Its StatefulSet
678678
// will recreate it according to its current PodTemplate. When instance is the
@@ -958,7 +958,7 @@ func podsToKeep(instances []corev1.Pod, want map[string]int) []corev1.Pod {
958958

959959
}
960960

961-
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=list
961+
// +kubebuilder:rbac:groups="apps",resources="statefulsets",verbs={list}
962962

963963
// scaleUpInstances updates the cluster until the number of instances matches
964964
// the cluster spec
@@ -1031,7 +1031,7 @@ func (r *Reconciler) scaleUpInstances(
10311031
return instances, err
10321032
}
10331033

1034-
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=create;patch
1034+
// +kubebuilder:rbac:groups="apps",resources="statefulsets",verbs={create,patch}
10351035

10361036
// reconcileInstance writes instance according to spec of cluster.
10371037
// See Reconciler.reconcileInstanceSet.
@@ -1282,7 +1282,7 @@ func addPGBackRestToInstancePodSpec(cluster *v1beta1.PostgresCluster,
12821282
pgbackrest.AddConfigToInstancePod(cluster, instancePod)
12831283
}
12841284

1285-
// +kubebuilder:rbac:groups="",resources=configmaps,verbs=create;patch
1285+
// +kubebuilder:rbac:groups="",resources="configmaps",verbs={create,patch}
12861286

12871287
// reconcileInstanceConfigMap writes the ConfigMap that contains generated
12881288
// files (etc) that apply to instance of cluster.
@@ -1318,8 +1318,8 @@ func (r *Reconciler) reconcileInstanceConfigMap(
13181318
return instanceConfigMap, err
13191319
}
13201320

1321-
// +kubebuilder:rbac:groups="",resources=secrets,verbs=get
1322-
// +kubebuilder:rbac:groups="",resources=secrets,verbs=create;patch
1321+
// +kubebuilder:rbac:groups="",resources="secrets",verbs={get}
1322+
// +kubebuilder:rbac:groups="",resources="secrets",verbs={create,patch}
13231323

13241324
// reconcileInstanceCertificates writes the Secret that contains certificates
13251325
// and private keys for instance of cluster.
@@ -1381,7 +1381,7 @@ func (r *Reconciler) reconcileInstanceCertificates(
13811381
return instanceCerts, err
13821382
}
13831383

1384-
// +kubebuilder:rbac:groups=policy,resources=poddisruptionbudgets,verbs=create;patch;get;delete
1384+
// +kubebuilder:rbac:groups="policy",resources="poddisruptionbudgets",verbs={create,patch,get,delete}
13851385

13861386
// reconcileInstanceSetPodDisruptionBudget creates a PDB for an instance set. A
13871387
// PDB will be created when the minAvailable is determined to be greater than 0.

internal/controller/postgrescluster/patroni.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import (
3737
"github.com/crunchydata/postgres-operator/pkg/apis/postgres-operator.crunchydata.com/v1beta1"
3838
)
3939

40-
// +kubebuilder:rbac:groups="",resources=endpoints,verbs=deletecollection
40+
// +kubebuilder:rbac:groups="",resources="endpoints",verbs={deletecollection}
4141

4242
func (r *Reconciler) deletePatroniArtifacts(
4343
ctx context.Context, cluster *v1beta1.PostgresCluster,
@@ -138,7 +138,7 @@ func (r *Reconciler) handlePatroniRestarts(
138138
return nil
139139
}
140140

141-
// +kubebuilder:rbac:groups="",resources=services,verbs=create;patch
141+
// +kubebuilder:rbac:groups="",resources="services",verbs={create,patch}
142142

143143
// reconcilePatroniDistributedConfiguration sets labels and ownership on the
144144
// objects Patroni creates for its distributed configuration.
@@ -181,7 +181,7 @@ func (r *Reconciler) reconcilePatroniDistributedConfiguration(
181181
return err
182182
}
183183

184-
// +kubebuilder:rbac:resources=pods,verbs=get;list
184+
// +kubebuilder:rbac:resources="pods",verbs={get,list}
185185

186186
func (r *Reconciler) reconcilePatroniDynamicConfiguration(
187187
ctx context.Context, cluster *v1beta1.PostgresCluster, instances *observedInstances,
@@ -312,7 +312,7 @@ func (r *Reconciler) reconcilePatroniLeaderLease(
312312
return service, err
313313
}
314314

315-
// +kubebuilder:rbac:groups="",resources=endpoints,verbs=get
315+
// +kubebuilder:rbac:groups="",resources="endpoints",verbs={get}
316316

317317
// reconcilePatroniStatus populates cluster.Status.Patroni with observations.
318318
func (r *Reconciler) reconcilePatroniStatus(

internal/controller/postgrescluster/pgadmin.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,8 @@ func (r *Reconciler) reconcilePGAdminService(
225225
return service, err
226226
}
227227

228-
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=get
229-
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=create;delete;patch
228+
// +kubebuilder:rbac:groups="apps",resources="statefulsets",verbs={get}
229+
// +kubebuilder:rbac:groups="apps",resources="statefulsets",verbs={create,delete,patch}
230230

231231
// reconcilePGAdminStatefulSet writes the StatefulSet that runs pgAdmin.
232232
func (r *Reconciler) reconcilePGAdminStatefulSet(
@@ -348,7 +348,7 @@ func (r *Reconciler) reconcilePGAdminStatefulSet(
348348
return errors.WithStack(r.apply(ctx, sts))
349349
}
350350

351-
// +kubebuilder:rbac:groups="",resources=persistentvolumeclaims,verbs=create;patch
351+
// +kubebuilder:rbac:groups="",resources="persistentvolumeclaims",verbs={create,patch}
352352

353353
// reconcilePGAdminDataVolume writes the PersistentVolumeClaim for instance's
354354
// pgAdmin data volume.

internal/controller/postgrescluster/pgbackrest.go

+24-24
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ func (r *Reconciler) applyRepoHostIntent(ctx context.Context, postgresCluster *v
147147
return repo, nil
148148
}
149149

150-
// +kubebuilder:rbac:groups="",resources=persistentvolumeclaims,verbs=create;patch
150+
// +kubebuilder:rbac:groups="",resources="persistentvolumeclaims",verbs={create,patch}
151151

152152
// applyRepoVolumeIntent ensures the pgBackRest repository host deployment is synchronized with the
153153
// proper configuration according to the provided PostgresCluster custom resource. This is done by
@@ -240,9 +240,9 @@ func (r *Reconciler) getPGBackRestResources(ctx context.Context,
240240
return repoResources, nil
241241
}
242242

243-
// +kubebuilder:rbac:groups="",resources=persistentvolumeclaims,verbs=delete
244-
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=delete
245-
// +kubebuilder:rbac:groups=batch,resources=cronjobs,verbs=delete
243+
// +kubebuilder:rbac:groups="",resources="persistentvolumeclaims",verbs={delete}
244+
// +kubebuilder:rbac:groups="apps",resources="statefulsets",verbs={delete}
245+
// +kubebuilder:rbac:groups="batch",resources="cronjobs",verbs={delete}
246246

247247
// cleanupRepoResources cleans up pgBackRest repository resources that should no longer be
248248
// reconciled by deleting them. This includes deleting repos (i.e. PersistentVolumeClaims) that
@@ -750,10 +750,10 @@ func generateBackupJobSpecIntent(postgresCluster *v1beta1.PostgresCluster,
750750
return jobSpec, nil
751751
}
752752

753-
// +kubebuilder:rbac:groups="",resources=configmaps,verbs=list;delete
754-
// +kubebuilder:rbac:groups="",resources=secrets,verbs=list;delete
755-
// +kubebuilder:rbac:groups="",resources=endpoints,verbs=get
756-
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=list
753+
// +kubebuilder:rbac:groups="",resources="configmaps",verbs={delete,list}
754+
// +kubebuilder:rbac:groups="",resources="secrets",verbs={list,delete}
755+
// +kubebuilder:rbac:groups="",resources="endpoints",verbs={get}
756+
// +kubebuilder:rbac:groups="batch",resources="jobs",verbs={list}
757757

758758
// observeRestoreEnv observes the current Kubernetes environment to obtain any resources applicable
759759
// to performing pgBackRest restores (e.g. when initializing a new cluster using an existing
@@ -877,9 +877,9 @@ func (r *Reconciler) observeRestoreEnv(ctx context.Context,
877877
return currentEndpoints, restoreJob, nil
878878
}
879879

880-
// +kubebuilder:rbac:groups="",resources=endpoints,verbs=delete
881-
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=delete
882-
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=delete
880+
// +kubebuilder:rbac:groups="",resources="endpoints",verbs={delete}
881+
// +kubebuilder:rbac:groups="apps",resources="statefulsets",verbs={delete}
882+
// +kubebuilder:rbac:groups="batch",resources="jobs",verbs={delete}
883883

884884
// prepareForRestore is responsible for reconciling an in place restore for the PostgresCluster.
885885
// This includes setting a "PreparingForRestore" condition, and then removing all existing
@@ -1000,7 +1000,7 @@ func (r *Reconciler) prepareForRestore(ctx context.Context,
10001000
return nil
10011001
}
10021002

1003-
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=patch
1003+
// +kubebuilder:rbac:groups="batch",resources="jobs",verbs={patch}
10041004

10051005
// reconcileRestoreJob is responsible for reconciling a Job that performs a pgBackRest restore in
10061006
// order to populate a PGDATA directory.
@@ -1379,8 +1379,8 @@ func (r *Reconciler) reconcilePGBackRest(ctx context.Context,
13791379
return result, nil
13801380
}
13811381

1382-
// +kubebuilder:rbac:groups="",resources=persistentvolumeclaims,verbs=create;patch
1383-
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=create;patch;delete
1382+
// +kubebuilder:rbac:groups="",resources="persistentvolumeclaims",verbs={create,patch}
1383+
// +kubebuilder:rbac:groups="batch",resources="jobs",verbs={create,patch,delete}
13841384

13851385
// reconcilePostgresClusterDataSource is responsible for reconciling a PostgresCluster data source.
13861386
// This is specifically done by running a pgBackRest restore to populate a PostgreSQL data volume
@@ -1539,8 +1539,8 @@ func (r *Reconciler) reconcilePostgresClusterDataSource(ctx context.Context,
15391539
return nil
15401540
}
15411541

1542-
// +kubebuilder:rbac:groups="",resources=persistentvolumeclaims,verbs=create;patch
1543-
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=create;patch;delete
1542+
// +kubebuilder:rbac:groups="",resources="persistentvolumeclaims",verbs={create,patch}
1543+
// +kubebuilder:rbac:groups="batch",resources="jobs",verbs={create,patch,delete}
15441544

15451545
// reconcileCloudBasedDataSource is responsible for reconciling a cloud-based PostgresCluster
15461546
// data source, i.e., S3, etc.
@@ -1942,9 +1942,9 @@ func (r *Reconciler) reconcilePGBackRestSecret(ctx context.Context,
19421942
return err
19431943
}
19441944

1945-
// +kubebuilder:rbac:groups="",resources=serviceaccounts,verbs=create;patch
1946-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=roles,verbs=create;patch
1947-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=rolebindings,verbs=create;patch
1945+
// +kubebuilder:rbac:groups="",resources="serviceaccounts",verbs={create,patch}
1946+
// +kubebuilder:rbac:groups="rbac.authorization.k8s.io",resources="roles",verbs={create,patch}
1947+
// +kubebuilder:rbac:groups="rbac.authorization.k8s.io",resources="rolebindings",verbs={create,patch}
19481948

19491949
// reconcileInstanceRBAC reconciles the Role, RoleBinding, and ServiceAccount for
19501950
// pgBackRest
@@ -2072,7 +2072,7 @@ func (r *Reconciler) reconcileDedicatedRepoHost(ctx context.Context,
20722072
return repoHost, nil
20732073
}
20742074

2075-
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=create;patch;delete
2075+
// +kubebuilder:rbac:groups="batch",resources="jobs",verbs={create,patch,delete}
20762076

20772077
// reconcileManualBackup is responsible for reconciling pgBackRest backups that are initiated
20782078
// manually by the end-user
@@ -2290,7 +2290,7 @@ func (r *Reconciler) reconcileManualBackup(ctx context.Context,
22902290
return nil
22912291
}
22922292

2293-
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=create;patch;delete
2293+
// +kubebuilder:rbac:groups="batch",resources="jobs",verbs={create,patch,delete}
22942294

22952295
// reconcileReplicaCreateBackup is responsible for reconciling a full pgBackRest backup for the
22962296
// cluster as required to create replicas
@@ -2505,8 +2505,8 @@ func (r *Reconciler) reconcileRepos(ctx context.Context,
25052505
return replicaCreateRepo, utilerrors.NewAggregate(errors)
25062506
}
25072507

2508-
// +kubebuilder:rbac:groups="",resources=pods,verbs=get;list
2509-
// +kubebuilder:rbac:groups="",resources=pods/exec,verbs=create
2508+
// +kubebuilder:rbac:groups="",resources="pods",verbs={get,list}
2509+
// +kubebuilder:rbac:groups="",resources="pods/exec",verbs={create}
25102510

25112511
// reconcileStanzaCreate is responsible for ensuring stanzas are properly created for the
25122512
// pgBackRest repositories configured for a PostgresCluster. If the bool returned from this
@@ -2813,7 +2813,7 @@ func (r *Reconciler) reconcileScheduledBackups(
28132813
return requeue
28142814
}
28152815

2816-
// +kubebuilder:rbac:groups=batch,resources=cronjobs,verbs=create;patch
2816+
// +kubebuilder:rbac:groups="batch",resources="cronjobs",verbs={create,patch}
28172817

28182818
// reconcilePGBackRestCronJob creates the CronJob for the given repo, pgBackRest
28192819
// backup type and schedule

0 commit comments

Comments
 (0)