ckotzbauer_helm-charts/charts/postgres-operator
renovate[bot] a75b0b35f8
deps: update registry.opensource.zalan.do/acid/postgres-operator docker tag to v1.15.0
2025-10-24 22:56:46 +00:00
..
crds feat: update postgres-operator 2024-06-01 10:08:34 +02:00
templates update chart 2024-03-23 17:11:24 +01:00
.helmignore add zalando postgres-operator 2021-12-13 16:19:12 +01:00
Chart.yaml feat: update postgres-operator 2024-06-01 10:08:34 +02:00
README.md feat: update postgres-operator 2024-06-01 10:08:34 +02:00
values.yaml deps: update registry.opensource.zalan.do/acid/postgres-operator docker tag to v1.15.0 2025-10-24 22:56:46 +00:00

README.md

Postgres-operator

Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes

Learn more: https://github.com/zalando/postgres-operator

TL;DR;

$ helm install ckotzbauer/postgres-operator

Installing the Chart

To install the chart with the release name my-release:

$ helm install my-release ckotzbauer/postgres-operator

The command deploys the operator on the Kubernetes cluster using the default configuration. The configuration section lists the parameters that can be configured during installation.

Uninstalling the Chart

To uninstall/delete the my-release installation:

$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

The following table lists the configurable parameters of the Postgres-operator chart and their default values.

Key Type Default Description
image.registry string "registry.opensource.zalan.do"
image.repository string "acid/postgres-operator"
image.tag string "v1.12.0"
image.pullPolicy string "IfNotPresent"
podAnnotations object {}
podLabels object {}
enableJsonLogging bool false
configGeneral.enable_crd_registration bool true
configGeneral.crd_categories[0] string "all"
configGeneral.enable_lazy_spilo_upgrade bool false
configGeneral.enable_pgversion_env_var bool true
configGeneral.enable_shm_volume bool true
configGeneral.enable_spilo_wal_path_compat bool false
configGeneral.etcd_host string ""
configGeneral.docker_image string "registry.opensource.zalan.do/acid/spilo-14:2.1-p5"
configGeneral.min_instances int -1
configGeneral.max_instances int -1
configGeneral.repair_period string "5m"
configGeneral.resync_period string "30m"
configGeneral.workers int 8
configUsers.enable_password_rotation bool false
configUsers.password_rotation_interval int 90
configUsers.password_rotation_user_retention int 180
configUsers.replication_username string "standby"
configUsers.super_username string "postgres"
configMajorVersionUpgrade.major_version_upgrade_mode string "off"
configMajorVersionUpgrade.minimal_major_version string "9.6"
configMajorVersionUpgrade.target_major_version string "14"
configKubernetes.cluster_domain string "cluster.local"
configKubernetes.cluster_labels.application string "spilo"
configKubernetes.cluster_name_label string "cluster-name"
configKubernetes.enable_cross_namespace_secret bool false
configKubernetes.enable_init_containers bool true
configKubernetes.enable_pod_antiaffinity bool false
configKubernetes.enable_pod_disruption_budget bool true
configKubernetes.enable_sidecars bool true
configKubernetes.pdb_name_format string "postgres-{cluster}-pdb"
configKubernetes.pod_antiaffinity_topology_key string "kubernetes.io/hostname"
configKubernetes.pod_management_policy string "ordered_ready"
configKubernetes.pod_role_label string "spilo-role"
configKubernetes.pod_terminate_grace_period string "5m"
configKubernetes.secret_name_template string "{username}.{cluster}.credentials.{tprkind}.{tprgroup}"
configKubernetes.spilo_privileged bool false
configKubernetes.spilo_allow_privilege_escalation bool true
configKubernetes.storage_resize_mode string "pvc"
configKubernetes.watched_namespace string "*"
configPostgresPodResources.default_cpu_limit string "1"
configPostgresPodResources.default_cpu_request string "100m"
configPostgresPodResources.default_memory_limit string "500Mi"
configPostgresPodResources.default_memory_request string "100Mi"
configPostgresPodResources.min_cpu_limit string "250m"
configPostgresPodResources.min_memory_limit string "250Mi"
configTimeouts.patroni_api_check_interval string "1s"
configTimeouts.patroni_api_check_timeout string "5s"
configTimeouts.pod_deletion_wait_timeout string "10m"
configTimeouts.pod_label_wait_timeout string "10m"
configTimeouts.ready_wait_interval string "3s"
configTimeouts.ready_wait_timeout string "30s"
configTimeouts.resource_check_interval string "3s"
configTimeouts.resource_check_timeout string "10m"
configLoadBalancer.db_hosted_zone string "db.example.com"
configLoadBalancer.enable_master_load_balancer bool false
configLoadBalancer.enable_master_pooler_load_balancer bool false
configLoadBalancer.enable_replica_load_balancer bool false
configLoadBalancer.enable_replica_pooler_load_balancer bool false
configLoadBalancer.external_traffic_policy string "Cluster"
configLoadBalancer.master_dns_name_format string "{cluster}.{team}.{hostedzone}"
configLoadBalancer.replica_dns_name_format string "{cluster}-repl.{team}.{hostedzone}"
configDebug.debug_logging bool true
configDebug.enable_database_access bool true
configLoggingRestApi.api_port int 8080
configLoggingRestApi.cluster_history_entries int 1000
configLoggingRestApi.ring_log_lines int 100
configAwsOrGcp.aws_region string "eu-central-1"
configAwsOrGcp.enable_ebs_gp3_migration bool false
configLogicalBackup.logical_backup_docker_image string "registry.opensource.zalan.do/acid/logical-backup:v1.8.0"
configLogicalBackup.logical_backup_job_prefix string "logical-backup-"
configLogicalBackup.logical_backup_provider string "s3"
configLogicalBackup.logical_backup_s3_access_key_id string ""
configLogicalBackup.logical_backup_s3_bucket string "my-bucket-url"
configLogicalBackup.logical_backup_s3_region string ""
configLogicalBackup.logical_backup_s3_endpoint string ""
configLogicalBackup.logical_backup_s3_secret_access_key string ""
configLogicalBackup.logical_backup_s3_sse string "AES256"
configLogicalBackup.logical_backup_s3_retention_time string ""
configLogicalBackup.logical_backup_schedule string "30 00 * * *"
configTeamsApi.enable_admin_role_for_users bool true
configTeamsApi.enable_postgres_team_crd bool false
configTeamsApi.enable_postgres_team_crd_superusers bool false
configTeamsApi.enable_team_member_deprecation bool false
configTeamsApi.enable_team_superuser bool false
configTeamsApi.enable_teams_api bool false
configTeamsApi.pam_role_name string "zalandos"
configTeamsApi.postgres_superuser_teams[0] string "postgres_superusers"
configTeamsApi.protected_role_names[0] string "admin"
configTeamsApi.protected_role_names[1] string "cron_admin"
configTeamsApi.role_deletion_suffix string "_deleted"
configTeamsApi.team_admin_role string "admin"
configTeamsApi.team_api_role_configuration.log_statement string "all"
configConnectionPooler.connection_pooler_schema string "pooler"
configConnectionPooler.connection_pooler_user string "pooler"
configConnectionPooler.connection_pooler_image string "registry.opensource.zalan.do/acid/pgbouncer:master-22"
configConnectionPooler.connection_pooler_max_db_connections int 60
configConnectionPooler.connection_pooler_mode string "transaction"
configConnectionPooler.connection_pooler_number_of_instances int 2
configConnectionPooler.connection_pooler_default_cpu_request string "500m"
configConnectionPooler.connection_pooler_default_memory_request string "100Mi"
configConnectionPooler.connection_pooler_default_cpu_limit string "1"
configConnectionPooler.connection_pooler_default_memory_limit string "100Mi"
enableStreams bool false
rbac.create bool true
rbac.createAggregateClusterRoles bool false
serviceAccount.create bool true
serviceAccount.name string nil
podServiceAccount.name string "postgres-pod"
priorityClassName string ""
podPriorityClassName string ""
resources.limits.cpu string "500m"
resources.limits.memory string "500Mi"
resources.requests.cpu string "100m"
resources.requests.memory string "250Mi"
securityContext.runAsUser int 1000
securityContext.runAsNonRoot bool true
securityContext.readOnlyRootFilesystem bool true
securityContext.allowPrivilegeEscalation bool false
securityContext.capabilities.drop[0] string "ALL"
affinity object {}
nodeSelector object {}
tolerations list []
controllerID.create bool false
controllerID.name string nil
pod_environment_config object {}

Changes compared to the official chart

  • No ConfigMap config-target.
  • pod_environment_configmap is created automatically. Contents can be configured via pod_environment_config.
  • Enhanced security (dropped ALL capabilities for the operator-pod).