Add cluster_labels and annotations to logical backup CronJob and Jobs (#3085)

* Add cluster_labels and annotations to logical backup CronJob and Jobs

When using the logical backup feature, the CronJob and its created Jobs
were missing the cluster_labels and annotations that are applied to
other cluster resources. This made it difficult to filter or identify
backup jobs using the same labels as other cluster components.

Changes:
- Added ObjectMeta with labels and annotations to JobTemplateSpec
- Updated CronJob ObjectMeta to use the merged labels (including
  'application: spilo-logical-backup')
- Updated tests to expect the new labels
This commit is contained in:
Raphael Torquato
2026-06-10 18:18:54 +02:00
committed by GitHub
parent f0b5d3725c
commit 873dd548ff
6 changed files with 41 additions and 9 deletions
+10
View File
@@ -893,6 +893,16 @@ func (c *Cluster) compareLogicalBackupJob(cur, new *batchv1.CronJob) *compareLog
reasons = append(reasons, fmt.Sprintf("new job's env PG_VERSION %q does not match the current one %q", newPgVersion, curPgVersion))
}
if !reflect.DeepEqual(cur.Labels, new.Labels) {
match = false
reasons = append(reasons, "new job's labels do not match the current ones")
}
if !reflect.DeepEqual(cur.Spec.JobTemplate.Labels, new.Spec.JobTemplate.Labels) {
match = false
reasons = append(reasons, "new job's template labels do not match the current ones")
}
needsReplace := false
contReasons := make([]string, 0)
needsReplace, contReasons = c.compareContainers("cronjob container", cur.Spec.JobTemplate.Spec.Template.Spec.Containers, new.Spec.JobTemplate.Spec.Template.Spec.Containers, needsReplace, contReasons)