update chart

Signed-off-by: Christian Kotzbauer <git@ckotzbauer.de>
This commit is contained in:
Christian Kotzbauer 2024-03-23 17:11:24 +01:00
parent bf43dba691
commit c4b9c70e46
7 changed files with 95 additions and 37 deletions

View File

@ -1,8 +1,8 @@
apiVersion: v2 apiVersion: v2
name: postgres-operator name: postgres-operator
description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes
version: 1.10.1 version: 1.11.0
appVersion: 1.10.0 appVersion: 1.11.0
home: https://github.com/zalando/postgres-operator home: https://github.com/zalando/postgres-operator
sources: sources:
- https://github.com/zalando/postgres-operator - https://github.com/zalando/postgres-operator

View File

@ -68,7 +68,7 @@ spec:
type: string type: string
docker_image: docker_image:
type: string type: string
default: "ghcr.io/zalando/spilo-15:3.0-p1" default: "ghcr.io/zalando/spilo-16:3.2-p2"
enable_crd_registration: enable_crd_registration:
type: boolean type: boolean
default: true default: true
@ -167,10 +167,10 @@ spec:
type: string type: string
minimal_major_version: minimal_major_version:
type: string type: string
default: "11" default: "12"
target_major_version: target_major_version:
type: string type: string
default: "15" default: "16"
kubernetes: kubernetes:
type: object type: object
properties: properties:
@ -205,9 +205,15 @@ spec:
enable_cross_namespace_secret: enable_cross_namespace_secret:
type: boolean type: boolean
default: false default: false
enable_finalizers:
type: boolean
default: false
enable_init_containers: enable_init_containers:
type: boolean type: boolean
default: true default: true
enable_persistent_volume_claim_deletion:
type: boolean
default: true
enable_pod_antiaffinity: enable_pod_antiaffinity:
type: boolean type: boolean
default: false default: false
@ -278,6 +284,19 @@ spec:
pdb_name_format: pdb_name_format:
type: string type: string
default: "postgres-{cluster}-pdb" default: "postgres-{cluster}-pdb"
persistent_volume_claim_retention_policy:
type: object
properties:
when_deleted:
type: string
enum:
- "delete"
- "retain"
when_scaled:
type: string
enum:
- "delete"
- "retain"
pod_antiaffinity_preferred_during_scheduling: pod_antiaffinity_preferred_during_scheduling:
type: boolean type: boolean
default: false default: false
@ -349,19 +368,15 @@ spec:
default_cpu_limit: default_cpu_limit:
type: string type: string
pattern: '^(\d+m|\d+(\.\d{1,3})?)$' pattern: '^(\d+m|\d+(\.\d{1,3})?)$'
default: "1"
default_cpu_request: default_cpu_request:
type: string type: string
pattern: '^(\d+m|\d+(\.\d{1,3})?)$' pattern: '^(\d+m|\d+(\.\d{1,3})?)$'
default: "100m"
default_memory_limit: default_memory_limit:
type: string type: string
pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$'
default: "500Mi"
default_memory_request: default_memory_request:
type: string type: string
pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$'
default: "100Mi"
max_cpu_request: max_cpu_request:
type: string type: string
pattern: '^(\d+m|\d+(\.\d{1,3})?)$' pattern: '^(\d+m|\d+(\.\d{1,3})?)$'
@ -371,11 +386,9 @@ spec:
min_cpu_limit: min_cpu_limit:
type: string type: string
pattern: '^(\d+m|\d+(\.\d{1,3})?)$' pattern: '^(\d+m|\d+(\.\d{1,3})?)$'
default: "250m"
min_memory_limit: min_memory_limit:
type: string type: string
pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$'
default: "250Mi"
timeouts: timeouts:
type: object type: object
properties: properties:
@ -489,7 +502,7 @@ spec:
pattern: '^(\d+m|\d+(\.\d{1,3})?)$' pattern: '^(\d+m|\d+(\.\d{1,3})?)$'
logical_backup_docker_image: logical_backup_docker_image:
type: string type: string
default: "registry.opensource.zalan.do/acid/logical-backup:v1.10.0" default: "registry.opensource.zalan.do/acid/logical-backup:v1.11.0"
logical_backup_google_application_credentials: logical_backup_google_application_credentials:
type: string type: string
logical_backup_job_prefix: logical_backup_job_prefix:
@ -526,6 +539,8 @@ spec:
type: string type: string
pattern: '^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$' pattern: '^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$'
default: "30 00 * * *" default: "30 00 * * *"
logical_backup_cronjob_environment_secret:
type: string
debug: debug:
type: object type: object
properties: properties:
@ -637,7 +652,7 @@ spec:
default: "pooler" default: "pooler"
connection_pooler_image: connection_pooler_image:
type: string type: string
default: "registry.opensource.zalan.do/acid/pgbouncer:master-27" default: "registry.opensource.zalan.do/acid/pgbouncer:master-32"
connection_pooler_max_db_connections: connection_pooler_max_db_connections:
type: integer type: integer
default: 60 default: 60
@ -654,19 +669,15 @@ spec:
connection_pooler_default_cpu_limit: connection_pooler_default_cpu_limit:
type: string type: string
pattern: '^(\d+m|\d+(\.\d{1,3})?)$' pattern: '^(\d+m|\d+(\.\d{1,3})?)$'
default: "1"
connection_pooler_default_cpu_request: connection_pooler_default_cpu_request:
type: string type: string
pattern: '^(\d+m|\d+(\.\d{1,3})?)$' pattern: '^(\d+m|\d+(\.\d{1,3})?)$'
default: "500m"
connection_pooler_default_memory_limit: connection_pooler_default_memory_limit:
type: string type: string
pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$'
default: "100Mi"
connection_pooler_default_memory_request: connection_pooler_default_memory_request:
type: string type: string
pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$'
default: "100Mi"
patroni: patroni:
type: object type: object
properties: properties:

View File

@ -371,12 +371,12 @@ spec:
version: version:
type: string type: string
enum: enum:
- "10"
- "11" - "11"
- "12" - "12"
- "13" - "13"
- "14" - "14"
- "15" - "15"
- "16"
parameters: parameters:
type: object type: object
additionalProperties: additionalProperties:
@ -441,6 +441,12 @@ spec:
pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$'
# Note: the value specified here must not be zero or be higher # Note: the value specified here must not be zero or be higher
# than the corresponding limit. # than the corresponding limit.
hugepages-2Mi:
type: string
pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$'
hugepages-1Gi:
type: string
pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$'
requests: requests:
type: object type: object
properties: properties:
@ -450,6 +456,12 @@ spec:
memory: memory:
type: string type: string
pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$' pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$'
hugepages-2Mi:
type: string
pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$'
hugepages-1Gi:
type: string
pattern: '^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$'
schedulerName: schedulerName:
type: string type: string
serviceAnnotations: serviceAnnotations:
@ -501,6 +513,8 @@ spec:
type: integer type: integer
database: database:
type: string type: string
enableRecovery:
type: boolean
filter: filter:
type: object type: object
additionalProperties: additionalProperties:
@ -518,6 +532,8 @@ spec:
type: string type: string
payloadColumn: payloadColumn:
type: string type: string
recoveryEventType:
type: string
teamId: teamId:
type: string type: string
tls: tls:
@ -596,6 +612,11 @@ spec:
- SUPERUSER - SUPERUSER
- nosuperuser - nosuperuser
- NOSUPERUSER - NOSUPERUSER
usersIgnoringSecretRotation:
type: array
nullable: true
items:
type: string
usersWithInPlaceSecretRotation: usersWithInPlaceSecretRotation:
type: array type: array
nullable: true nullable: true

View File

@ -38,6 +38,13 @@ Create a pod service account name.
{{ default (printf "%s-%v" (include "postgres-operator.fullname" .) "pod") .Values.podServiceAccount.name }} {{ default (printf "%s-%v" (include "postgres-operator.fullname" .) "pod") .Values.podServiceAccount.name }}
{{- end -}} {{- end -}}
{{/*
Create a pod priority class name.
*/}}
{{- define "postgres-pod.priorityClassName" -}}
{{ default (printf "%s-%v" (include "postgres-operator.fullname" .) "pod") .Values.podPriorityClassName.name }}
{{- end -}}
{{/* {{/*
Create a controller ID. Create a controller ID.
*/}} */}}

View File

@ -1,4 +1,4 @@
apiVersion: acid.zalan.do/v1 apiVersion: "acid.zalan.do/v1"
kind: OperatorConfiguration kind: OperatorConfiguration
metadata: metadata:
name: {{ template "postgres-operator.fullname" . }} name: {{ template "postgres-operator.fullname" . }}
@ -15,8 +15,8 @@ configuration:
major_version_upgrade: major_version_upgrade:
{{ toYaml .Values.configMajorVersionUpgrade | indent 4 }} {{ toYaml .Values.configMajorVersionUpgrade | indent 4 }}
kubernetes: kubernetes:
{{- if .Values.podPriorityClassName }} {{- if .Values.podPriorityClassName.name }}
pod_priority_class_name: {{ .Values.podPriorityClassName }} pod_priority_class_name: {{ .Values.podPriorityClassName.name }}
{{- end }} {{- end }}
pod_service_account_name: {{ include "postgres-pod.serviceAccountName" . }} pod_service_account_name: {{ include "postgres-pod.serviceAccountName" . }}
oauth_token_secret_name: {{ template "postgres-operator.fullname" . }} oauth_token_secret_name: {{ template "postgres-operator.fullname" . }}

View File

@ -1,4 +1,4 @@
{{- if .Values.podPriorityClassName }} {{- if .Values.podPriorityClassName.create }}
apiVersion: scheduling.k8s.io/v1 apiVersion: scheduling.k8s.io/v1
description: 'Use only for databases controlled by Postgres operator' description: 'Use only for databases controlled by Postgres operator'
kind: PriorityClass kind: PriorityClass
@ -8,9 +8,9 @@ metadata:
helm.sh/chart: {{ template "postgres-operator.chart" . }} helm.sh/chart: {{ template "postgres-operator.chart" . }}
app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
name: {{ .Values.podPriorityClassName }} name: {{ include "postgres-pod.priorityClassName" . }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
preemptionPolicy: PreemptLowerPriority preemptionPolicy: PreemptLowerPriority
globalDefault: false globalDefault: false
value: 1000000 value: {{ .Values.podPriorityClassName.priority }}
{{- end }} {{- end }}

View File

@ -1,14 +1,14 @@
image: image:
registry: registry.opensource.zalan.do registry: registry.opensource.zalan.do
repository: acid/postgres-operator repository: acid/postgres-operator
tag: v1.10.0 tag: v1.11.0
pullPolicy: "IfNotPresent" pullPolicy: "IfNotPresent"
# Optionally specify an array of imagePullSecrets. # Optionally specify an array of imagePullSecrets.
# Secrets must be manually created in the namespace. # Secrets must be manually created in the namespace.
# ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod # ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
# imagePullSecrets: # imagePullSecrets:
# - name: myRegistryKeySecretName # - name: myRegistryKeySecretName
podAnnotations: {} podAnnotations: {}
podLabels: {} podLabels: {}
@ -36,7 +36,7 @@ configGeneral:
# etcd connection string for Patroni. Empty uses K8s-native DCS. # etcd connection string for Patroni. Empty uses K8s-native DCS.
etcd_host: "" etcd_host: ""
# Spilo docker image # Spilo docker image
docker_image: ghcr.io/zalando/spilo-15:3.0-p1 docker_image: ghcr.io/zalando/spilo-16:3.2-p2
# key name for annotation to ignore globally configured instance limits # key name for annotation to ignore globally configured instance limits
# ignore_instance_limits_annotation_key: "" # ignore_instance_limits_annotation_key: ""
@ -87,9 +87,9 @@ configMajorVersionUpgrade:
# - acid # - acid
# minimal Postgres major version that will not automatically be upgraded # minimal Postgres major version that will not automatically be upgraded
minimal_major_version: "11" minimal_major_version: "12"
# target Postgres major version when upgrading clusters automatically # target Postgres major version when upgrading clusters automatically
target_major_version: "15" target_major_version: "16"
configKubernetes: configKubernetes:
# list of additional capabilities for postgres container # list of additional capabilities for postgres container
@ -121,8 +121,14 @@ configKubernetes:
# allow user secrets in other namespaces than the Postgres cluster # allow user secrets in other namespaces than the Postgres cluster
enable_cross_namespace_secret: false enable_cross_namespace_secret: false
# use finalizers to ensure all managed resources are deleted prior to the postgresql CR
# this avoids stale resources in case the operator misses a delete event or is not running
# during deletion
enable_finalizers: false
# enables initContainers to run actions before Spilo is started # enables initContainers to run actions before Spilo is started
enable_init_containers: true enable_init_containers: true
# toggles if operator should delete PVCs on cluster deletion
enable_persistent_volume_claim_deletion: true
# toggles pod anti affinity on the Postgres pods # toggles pod anti affinity on the Postgres pods
enable_pod_antiaffinity: false enable_pod_antiaffinity: false
# toggles PDB to set to MinAvailabe 0 or 1 # toggles PDB to set to MinAvailabe 0 or 1
@ -163,6 +169,10 @@ configKubernetes:
# defines the template for PDB (Pod Disruption Budget) names # defines the template for PDB (Pod Disruption Budget) names
pdb_name_format: "postgres-{cluster}-pdb" pdb_name_format: "postgres-{cluster}-pdb"
# specify the PVC retention policy when scaling down and/or deleting
persistent_volume_claim_retention_policy:
when_deleted: "retain"
when_scaled: "retain"
# switches pod anti affinity type to `preferredDuringSchedulingIgnoredDuringExecution` # switches pod anti affinity type to `preferredDuringSchedulingIgnoredDuringExecution`
pod_antiaffinity_preferred_during_scheduling: false pod_antiaffinity_preferred_during_scheduling: false
# override topology key for pod anti affinity # override topology key for pod anti affinity
@ -346,7 +356,7 @@ configLogicalBackup:
# logical_backup_memory_request: "" # logical_backup_memory_request: ""
# image for pods of the logical backup job (example runs pg_dumpall) # image for pods of the logical backup job (example runs pg_dumpall)
logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.10.0" logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.11.0"
# path of google cloud service account json file # path of google cloud service account json file
# logical_backup_google_application_credentials: "" # logical_backup_google_application_credentials: ""
@ -370,6 +380,8 @@ configLogicalBackup:
logical_backup_s3_retention_time: "" logical_backup_s3_retention_time: ""
# backup schedule in the cron format # backup schedule in the cron format
logical_backup_schedule: "30 00 * * *" logical_backup_schedule: "30 00 * * *"
# secret to be used as reference for env variables in cronjob
logical_backup_cronjob_environment_secret: ""
# automate creation of human users with teams API service # automate creation of human users with teams API service
configTeamsApi: configTeamsApi:
@ -414,7 +426,7 @@ configConnectionPooler:
# db user for pooler to use # db user for pooler to use
connection_pooler_user: "pooler" connection_pooler_user: "pooler"
# docker image # docker image
connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-27" connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-32"
# max db connections the pooler should hold # max db connections the pooler should hold
connection_pooler_max_db_connections: 60 connection_pooler_max_db_connections: 60
# default pooling mode # default pooling mode
@ -456,7 +468,14 @@ podServiceAccount:
priorityClassName: "" priorityClassName: ""
# priority class for database pods # priority class for database pods
podPriorityClassName: "" podPriorityClassName:
# If create is false with no name set, no podPriorityClassName is specified.
# 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
name: ""
priority: 1000000
resources: resources:
limits: limits: