diff --git a/postgres-operator/Chart.yaml b/postgres-operator/Chart.yaml index 38c2e6d..ae4723b 100644 --- a/postgres-operator/Chart.yaml +++ b/postgres-operator/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: postgres-operator -version: 1.12.2 -appVersion: 1.12.2 +version: 1.13.0 +appVersion: 1.13.0 home: https://github.com/zalando/postgres-operator description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes keywords: diff --git a/postgres-operator/crds/operatorconfigurations.yaml b/postgres-operator/crds/operatorconfigurations.yaml index bf4ae34..5edb704 100644 --- a/postgres-operator/crds/operatorconfigurations.yaml +++ b/postgres-operator/crds/operatorconfigurations.yaml @@ -68,7 +68,7 @@ spec: type: string docker_image: type: string - default: "ghcr.io/zalando/spilo-16:3.2-p3" + default: "ghcr.io/zalando/spilo-16:3.3-p1" enable_crd_registration: type: boolean default: true @@ -160,7 +160,7 @@ spec: properties: major_version_upgrade_mode: type: string - default: "off" + default: "manual" major_version_upgrade_team_allow_list: type: array items: @@ -211,9 +211,9 @@ spec: enable_init_containers: type: boolean default: true - enable_secrets_deletion: + enable_owner_references: type: boolean - default: true + default: false enable_persistent_volume_claim_deletion: type: boolean default: true @@ -226,6 +226,9 @@ spec: enable_readiness_probe: type: boolean default: false + enable_secrets_deletion: + type: boolean + default: true enable_sidecars: type: boolean default: true @@ -469,7 +472,6 @@ spec: type: string additional_secret_mount_path: type: string - default: "/meta/credentials" aws_region: type: string default: "eu-central-1" @@ -508,7 +510,7 @@ spec: pattern: '^(\d+m|\d+(\.\d{1,3})?)$' logical_backup_docker_image: type: string - default: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.2" + default: "ghcr.io/zalando/postgres-operator/logical-backup:v1.13.0" logical_backup_google_application_credentials: type: string logical_backup_job_prefix: diff --git a/postgres-operator/crds/postgresqls.yaml b/postgres-operator/crds/postgresqls.yaml index 0498625..ebaf2d1 100644 --- a/postgres-operator/crds/postgresqls.yaml +++ b/postgres-operator/crds/postgresqls.yaml @@ -226,7 +226,7 @@ spec: type: array items: type: string - pattern: '^\ *((Mon|Tue|Wed|Thu|Fri|Sat|Sun):(2[0-3]|[01]?\d):([0-5]?\d)|(2[0-3]|[01]?\d):([0-5]?\d))-((Mon|Tue|Wed|Thu|Fri|Sat|Sun):(2[0-3]|[01]?\d):([0-5]?\d)|(2[0-3]|[01]?\d):([0-5]?\d))\ *$' + pattern: '^\ *((Mon|Tue|Wed|Thu|Fri|Sat|Sun):(2[0-3]|[01]?\d):([0-5]?\d)|(2[0-3]|[01]?\d):([0-5]?\d))-((2[0-3]|[01]?\d):([0-5]?\d)|(2[0-3]|[01]?\d):([0-5]?\d))\ *$' masterServiceAnnotations: type: object additionalProperties: @@ -375,7 +375,6 @@ spec: version: type: string enum: - - "11" - "12" - "13" - "14" diff --git a/postgres-operator/index.yaml b/postgres-operator/index.yaml index 63a9d73..c72604d 100644 --- a/postgres-operator/index.yaml +++ b/postgres-operator/index.yaml @@ -1,9 +1,31 @@ apiVersion: v1 entries: postgres-operator: + - apiVersion: v2 + appVersion: 1.13.0 + created: "2024-08-21T18:54:43.160735116+02:00" + description: Postgres Operator creates and manages PostgreSQL clusters running + in Kubernetes + digest: a839601689aea0a7e6bc0712a5244d435683cf3314c95794097ff08540e1dfef + home: https://github.com/zalando/postgres-operator + keywords: + - postgres + - operator + - cloud-native + - patroni + - spilo + maintainers: + - email: opensource@zalando.de + name: Zalando + name: postgres-operator + sources: + - https://github.com/zalando/postgres-operator + urls: + - postgres-operator-1.13.0.tgz + version: 1.13.0 - apiVersion: v2 appVersion: 1.12.2 - created: "2024-06-14T10:30:44.071387784+02:00" + created: "2024-08-21T18:54:43.152249286+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 65858d14a40d7fd90c32bd9fc60021acc9555c161079f43a365c70171eaf21d8 @@ -25,7 +47,7 @@ entries: version: 1.12.2 - apiVersion: v2 appVersion: 1.11.0 - created: "2024-06-14T10:30:44.065353504+02:00" + created: "2024-08-21T18:54:43.145837894+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 3914b5e117bda0834f05c9207f007e2ac372864cf6e86dcc2e1362bbe46c14d9 @@ -47,7 +69,7 @@ entries: version: 1.11.0 - apiVersion: v2 appVersion: 1.10.1 - created: "2024-06-14T10:30:44.059080224+02:00" + created: "2024-08-21T18:54:43.139552116+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: cc3baa41753da92466223d0b334df27e79c882296577b404a8e9071411fcf19c @@ -69,7 +91,7 @@ entries: version: 1.10.1 - apiVersion: v2 appVersion: 1.9.0 - created: "2024-06-14T10:30:44.084760658+02:00" + created: "2024-08-21T18:54:43.168490032+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 64df90c898ca591eb3a330328173ffaadfbf9ddd474d8c42ed143edc9e3f4276 @@ -89,26 +111,4 @@ entries: urls: - postgres-operator-1.9.0.tgz version: 1.9.0 - - apiVersion: v2 - appVersion: 1.8.2 - created: "2024-06-14T10:30:44.077744166+02:00" - description: Postgres Operator creates and manages PostgreSQL clusters running - in Kubernetes - digest: f77ffad2e98b72a621e5527015cf607935d3ed688f10ba4b626435acb9631b5b - home: https://github.com/zalando/postgres-operator - keywords: - - postgres - - operator - - cloud-native - - patroni - - spilo - maintainers: - - email: opensource@zalando.de - name: Zalando - name: postgres-operator - sources: - - https://github.com/zalando/postgres-operator - urls: - - postgres-operator-1.8.2.tgz - version: 1.8.2 -generated: "2024-06-14T10:30:44.052436544+02:00" +generated: "2024-08-21T18:54:43.126871802+02:00" diff --git a/postgres-operator/templates/clusterrole.yaml b/postgres-operator/templates/clusterrole.yaml index 199086a..d88affa 100644 --- a/postgres-operator/templates/clusterrole.yaml +++ b/postgres-operator/templates/clusterrole.yaml @@ -120,6 +120,7 @@ rules: - create - delete - get + - patch - update # to check nodes for node readiness label - apiGroups: @@ -196,6 +197,7 @@ rules: - get - list - patch + - update # to CRUD cron jobs for logical backups - apiGroups: - batch diff --git a/postgres-operator/templates/deployment.yaml b/postgres-operator/templates/deployment.yaml index 1752cb3..ddc3f6a 100644 --- a/postgres-operator/templates/deployment.yaml +++ b/postgres-operator/templates/deployment.yaml @@ -52,6 +52,9 @@ spec: {{- if .Values.controllerID.create }} - name: CONTROLLER_ID value: {{ template "postgres-operator.controllerID" . }} + {{- end }} + {{- if .Values.extraEnvs }} + {{- .Values.extraEnvs | toYaml | nindent 12 }} {{- end }} resources: {{ toYaml .Values.resources | indent 10 }} diff --git a/postgres-operator/values.yaml b/postgres-operator/values.yaml index 5700ff7..472be74 100644 --- a/postgres-operator/values.yaml +++ b/postgres-operator/values.yaml @@ -1,7 +1,7 @@ image: registry: ghcr.io repository: zalando/postgres-operator - tag: v1.12.2 + tag: v1.13.0 pullPolicy: "IfNotPresent" # Optionally specify an array of imagePullSecrets. @@ -38,7 +38,7 @@ configGeneral: # etcd connection string for Patroni. Empty uses K8s-native DCS. etcd_host: "" # Spilo docker image - docker_image: ghcr.io/zalando/spilo-16:3.2-p3 + docker_image: ghcr.io/zalando/spilo-16:3.3-p1 # key name for annotation to ignore globally configured instance limits # ignore_instance_limits_annotation_key: "" @@ -83,7 +83,7 @@ configUsers: configMajorVersionUpgrade: # "off": no upgrade, "manual": manifest triggers action, "full": minimal version violation triggers too - major_version_upgrade_mode: "off" + major_version_upgrade_mode: "manual" # upgrades will only be carried out for clusters of listed teams when mode is "off" # major_version_upgrade_team_allow_list: # - acid @@ -129,8 +129,8 @@ configKubernetes: enable_finalizers: false # enables initContainers to run actions before Spilo is started enable_init_containers: true - # toggles if operator should delete secrets on cluster deletion - enable_secrets_deletion: true + # toggles if child resources should have an owner reference to the postgresql CR + enable_owner_references: false # toggles if operator should delete PVCs on cluster deletion enable_persistent_volume_claim_deletion: true # toggles pod anti affinity on the Postgres pods @@ -139,6 +139,8 @@ configKubernetes: enable_pod_disruption_budget: true # toogles readiness probe for database pods enable_readiness_probe: false + # toggles if operator should delete secrets on cluster deletion + enable_secrets_deletion: true # enables sidecar containers to run alongside Spilo in the same pod enable_sidecars: true @@ -362,7 +364,7 @@ configLogicalBackup: # logical_backup_memory_request: "" # image for pods of the logical backup job (example runs pg_dumpall) - logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v1.12.2" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v1.13.0" # path of google cloud service account json file # logical_backup_google_application_credentials: "" @@ -478,7 +480,7 @@ priorityClassName: "" # priority class for database pods podPriorityClassName: # If create is false with no name set, no podPriorityClassName is specified. - # Hence, the pod priorityClass is the one with globalDefault set. + # Hence, the pod priorityClass is the one with globalDefault set. # If there is no PriorityClass with globalDefault set, the priority of Pods with no priorityClassName is zero. create: true # If not set a name is generated using the fullname template and "-pod" suffix @@ -504,6 +506,24 @@ readinessProbe: initialDelaySeconds: 5 periodSeconds: 10 +# configure extra environment variables +# Extra environment variables are writen in kubernetes format and added "as is" to the pod's env variables +# https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ +# https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#environment-variables +extraEnvs: + [] + # Exemple of settings maximum amount of memory / cpu that can be used by go process (to match resources.limits) + # - name: MY_VAR + # value: my-value + # - name: GOMAXPROCS + # valueFrom: + # resourceFieldRef: + # resource: limits.cpu + # - name: GOMEMLIMIT + # valueFrom: + # resourceFieldRef: + # resource: limits.memory + # Affinity for pod assignment # Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity affinity: {}