2021-01-17 01:09:41 +00:00
image :
2024-06-01 00:41:59 +00:00
registry : ghcr.io
repository : zalando/postgres-operator
2024-08-24 00:12:34 +00:00
tag : v1.13.0
2021-01-17 01:09:41 +00:00
pullPolicy : "IfNotPresent"
2023-09-09 13:55:14 +00:00
# Optionally specify an array of imagePullSecrets.
# Secrets must be manually created in the namespace.
# ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
# imagePullSecrets:
# - name: myRegistryKeySecretName
2021-01-17 01:09:41 +00:00
podAnnotations : {}
podLabels : {}
2021-11-14 22:17:20 +00:00
configTarget : "OperatorConfigurationCRD"
2021-01-17 01:09:41 +00:00
# JSON logging format
enableJsonLogging : false
# general configuration parameters
configGeneral :
2022-06-21 17:38:59 +00:00
# the deployment should create/update the CRDs
enable_crd_registration : true
# specify categories under which crds should be listed
crd_categories :
- "all"
2021-01-17 01:09:41 +00:00
# update only the statefulsets without immediately doing the rolling update
2021-11-14 22:17:20 +00:00
enable_lazy_spilo_upgrade : false
2021-02-23 00:40:14 +00:00
# set the PGVERSION env var instead of providing the version via postgresql.bin_dir in SPILO_CONFIGURATION
2021-11-14 22:17:20 +00:00
enable_pgversion_env_var : true
2021-01-17 01:09:41 +00:00
# start any new database pod without limitations on shm memory
2021-11-14 22:17:20 +00:00
enable_shm_volume : true
# enables backwards compatible path between Spilo 12 and Spilo 13+ images
enable_spilo_wal_path_compat : false
2023-04-08 19:26:41 +00:00
# operator will sync only clusters where name starts with teamId prefix
enable_team_id_clustername_prefix : false
2021-01-17 01:09:41 +00:00
# etcd connection string for Patroni. Empty uses K8s-native DCS.
etcd_host : ""
2023-04-08 19:26:41 +00:00
# Spilo docker image
2024-08-24 00:12:34 +00:00
docker_image : ghcr.io/zalando/spilo-16:3.3-p1
2023-04-08 19:26:41 +00:00
# key name for annotation to ignore globally configured instance limits
# ignore_instance_limits_annotation_key: ""
2021-01-17 01:09:41 +00:00
# Select if setup uses endpoints (default), or configmaps to manage leader (DCS=k8s)
2021-11-14 22:17:20 +00:00
# kubernetes_use_configmaps: false
2023-04-08 19:26:41 +00:00
2021-01-17 01:09:41 +00:00
# min number of instances in Postgres cluster. -1 = no limit
2021-11-14 22:17:20 +00:00
min_instances : -1
2021-04-13 08:02:12 +00:00
# max number of instances in Postgres cluster. -1 = no limit
2021-11-14 22:17:20 +00:00
max_instances : -1
2021-01-17 01:09:41 +00:00
# period between consecutive repair requests
repair_period : 5m
# period between consecutive sync requests
resync_period : 30m
# can prevent certain cases of memory overcommitment
2021-11-14 22:17:20 +00:00
# set_memory_request_to_limit: false
2021-01-17 01:09:41 +00:00
# map of sidecar names to docker images
2021-11-14 22:17:20 +00:00
# sidecar_docker_images:
# example: "exampleimage:exampletag"
2021-01-17 01:09:41 +00:00
# number of routines the operator spawns to process requests concurrently
2021-11-14 22:17:20 +00:00
workers : 8
2021-01-17 01:09:41 +00:00
# parameters describing Postgres users
configUsers :
2022-06-21 17:38:59 +00:00
# roles to be granted to database owners
# additional_owner_roles:
# - cron_admin
# enable password rotation for app users that are not database owners
enable_password_rotation : false
# rotation interval for updating credentials in K8s secrets of app users
password_rotation_interval : 90
# retention interval to keep rotation users
password_rotation_user_retention : 180
2021-01-17 01:09:41 +00:00
# postgres username used for replication between instances
replication_username : standby
# postgres superuser name to be created by initdb
super_username : postgres
2021-04-13 08:02:12 +00:00
configMajorVersionUpgrade :
# "off": no upgrade, "manual": manifest triggers action, "full": minimal version violation triggers too
2024-08-24 00:12:34 +00:00
major_version_upgrade_mode : "manual"
2022-06-21 17:38:59 +00:00
# upgrades will only be carried out for clusters of listed teams when mode is "off"
# major_version_upgrade_team_allow_list:
# - acid
2021-04-13 08:02:12 +00:00
# minimal Postgres major version that will not automatically be upgraded
2024-05-05 15:45:29 +00:00
minimal_major_version : "12"
2021-04-13 08:02:12 +00:00
# target Postgres major version when upgrading clusters automatically
2024-05-05 15:45:29 +00:00
target_major_version : "16"
2021-04-13 08:02:12 +00:00
2021-01-17 01:09:41 +00:00
configKubernetes :
2021-02-23 00:40:14 +00:00
# list of additional capabilities for postgres container
2021-11-14 22:17:20 +00:00
# additional_pod_capabilities:
# - "SYS_NICE"
2021-02-23 00:40:14 +00:00
2021-01-17 01:09:41 +00:00
# default DNS domain of K8s cluster where operator is running
cluster_domain : cluster.local
# additional labels assigned to the cluster objects
2021-11-14 22:17:20 +00:00
cluster_labels :
application : spilo
2021-01-17 01:09:41 +00:00
# label assigned to Kubernetes objects created by the operator
cluster_name_label : cluster-name
2021-11-14 22:17:20 +00:00
# additional annotations to add to every database pod
# custom_pod_annotations:
# keya: valuea
# keyb: valueb
2021-01-17 01:09:41 +00:00
# key name for annotation that compares manifest value with current date
# delete_annotation_date_key: "delete-date"
# key name for annotation that compares manifest value with cluster name
# delete_annotation_name_key: "delete-clustername"
# list of annotations propagated from cluster manifest to statefulset and deployment
2021-11-14 22:17:20 +00:00
# downscaler_annotations:
# - deployment-time
# - downscaler/*
2021-01-17 01:09:41 +00:00
2021-11-14 22:17:20 +00:00
# allow user secrets in other namespaces than the Postgres cluster
enable_cross_namespace_secret : false
2024-05-05 15:45:29 +00:00
# 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
2021-01-17 01:09:41 +00:00
# enables initContainers to run actions before Spilo is started
2021-11-14 22:17:20 +00:00
enable_init_containers : true
2024-08-24 00:12:34 +00:00
# toggles if child resources should have an owner reference to the postgresql CR
enable_owner_references : false
2024-05-05 15:45:29 +00:00
# toggles if operator should delete PVCs on cluster deletion
enable_persistent_volume_claim_deletion : true
2021-01-17 01:09:41 +00:00
# toggles pod anti affinity on the Postgres pods
2021-11-14 22:17:20 +00:00
enable_pod_antiaffinity : false
2021-01-17 01:09:41 +00:00
# toggles PDB to set to MinAvailabe 0 or 1
2021-11-14 22:17:20 +00:00
enable_pod_disruption_budget : true
2023-04-08 19:26:41 +00:00
# toogles readiness probe for database pods
enable_readiness_probe : false
2024-08-24 00:12:34 +00:00
# toggles if operator should delete secrets on cluster deletion
enable_secrets_deletion : true
2021-01-17 01:09:41 +00:00
# enables sidecar containers to run alongside Spilo in the same pod
2021-11-14 22:17:20 +00:00
enable_sidecars : true
2022-06-21 17:38:59 +00:00
# annotations to be ignored when comparing statefulsets, services etc.
# ignored_annotations:
# - k8s.v1.cni.cncf.io/network-status
2021-01-17 01:09:41 +00:00
# namespaced name of the secret containing infrastructure roles names and passwords
# infrastructure_roles_secret_name: postgresql-infrastructure-roles
2021-02-23 00:40:14 +00:00
# list of annotation keys that can be inherited from the cluster manifest
2021-11-14 22:17:20 +00:00
# inherited_annotations:
# - owned-by
2021-02-23 00:40:14 +00:00
# list of label keys that can be inherited from the cluster manifest
2021-11-14 22:17:20 +00:00
# inherited_labels:
# - application
# - environment
2021-01-17 01:09:41 +00:00
# timeout for successful migration of master pods from unschedulable node
# master_pod_move_timeout: 20m
# set of labels that a running and active node should possess to be considered ready
2021-11-14 22:17:20 +00:00
# node_readiness_label:
# status: ready
2021-01-17 01:09:41 +00:00
2022-06-21 17:38:59 +00:00
# defines how nodeAffinity from manifest should be merged with node_readiness_label
# node_readiness_label_merge: "OR"
2021-01-17 01:09:41 +00:00
# namespaced name of the secret containing the OAuth2 token to pass to the teams API
# oauth_token_secret_name: postgresql-operator
2024-06-01 00:41:59 +00:00
# toggle if `spilo-role=master` selector should be added to the PDB (Pod Disruption Budget)
pdb_master_label_selector : true
# defines the template for PDB names
2021-01-17 01:09:41 +00:00
pdb_name_format : "postgres-{cluster}-pdb"
2024-05-05 15:45:29 +00:00
# specify the PVC retention policy when scaling down and/or deleting
persistent_volume_claim_retention_policy :
when_deleted : "retain"
when_scaled : "retain"
2023-04-08 19:26:41 +00:00
# switches pod anti affinity type to `preferredDuringSchedulingIgnoredDuringExecution`
pod_antiaffinity_preferred_during_scheduling : false
2021-01-17 01:09:41 +00:00
# override topology key for pod anti affinity
pod_antiaffinity_topology_key : "kubernetes.io/hostname"
# namespaced name of the ConfigMap with environment variables to populate on every pod
# pod_environment_configmap: "default/my-custom-config"
# name of the Secret (in cluster namespace) with environment variables to populate on every pod
# pod_environment_secret: "my-custom-secret"
# specify the pod management policy of stateful sets of Postgres clusters
pod_management_policy : "ordered_ready"
# label assigned to the Postgres pods (and services/endpoints)
pod_role_label : spilo-role
# service account definition as JSON/YAML string to be used by postgres cluster pods
# pod_service_account_definition: ""
# role binding definition as JSON/YAML string to be used by pod service account
# pod_service_account_role_binding_definition: ""
# Postgres pods are terminated forcefully after this timeout
pod_terminate_grace_period : 5m
2021-11-14 22:17:20 +00:00
# template for database user secrets generated by the operator,
# here username contains the namespace in the format namespace.username
# if the user is in different namespace than cluster and cross namespace secrets
# are enabled via `enable_cross_namespace_secret` flag in the configuration.
2021-01-17 01:09:41 +00:00
secret_name_template : "{username}.{cluster}.credentials.{tprkind}.{tprgroup}"
2023-04-08 19:26:41 +00:00
# sharing unix socket of PostgreSQL (`pg_socket`) with the sidecars
share_pgsocket_with_sidecars : false
2021-01-17 01:09:41 +00:00
# set user and group for the spilo container (required to run Spilo as non-root process)
2021-11-14 22:17:20 +00:00
# spilo_runasuser: 101
# spilo_runasgroup: 103
2023-04-08 19:26:41 +00:00
2021-01-17 01:09:41 +00:00
# group ID with write-access to volumes (required to run Spilo as non-root process)
2021-11-14 22:17:20 +00:00
# spilo_fsgroup: 103
2021-01-17 01:09:41 +00:00
# whether the Spilo container should run in privileged mode
2021-11-14 22:17:20 +00:00
spilo_privileged : false
2021-04-13 08:02:12 +00:00
# whether the Spilo container should run with additional permissions other than parent.
# required by cron which needs setuid
2021-11-14 22:17:20 +00:00
spilo_allow_privilege_escalation : true
2023-04-08 19:26:41 +00:00
# storage resize strategy, available options are: ebs, pvc, off or mixed
2021-01-17 01:09:41 +00:00
storage_resize_mode : pvc
2021-11-14 22:17:20 +00:00
# pod toleration assigned to instances of every Postgres cluster
# toleration:
# key: db-only
# operator: Exists
# effect: NoSchedule
2021-01-17 01:09:41 +00:00
# operator watches for postgres objects in the given namespace
watched_namespace : "*" # listen to all namespaces
# configure resource requests for the Postgres pods
configPostgresPodResources :
# CPU limits for the postgres containers
default_cpu_limit : "1"
# CPU request value for the postgres containers
default_cpu_request : 100m
# memory limits for the postgres containers
default_memory_limit : 500Mi
# memory request value for the postgres containers
default_memory_request : 100Mi
2023-04-08 19:26:41 +00:00
# optional upper boundary for CPU request
# max_cpu_request: "1"
# optional upper boundary for memory request
# max_memory_request: 4Gi
2021-01-17 01:09:41 +00:00
# hard CPU minimum required to properly run a Postgres cluster
min_cpu_limit : 250m
# hard memory minimum required to properly run a Postgres cluster
min_memory_limit : 250Mi
# timeouts related to some operator actions
configTimeouts :
2022-06-21 17:38:59 +00:00
# interval between consecutive attempts of operator calling the Patroni API
patroni_api_check_interval : 1s
# timeout when waiting for successful response from Patroni API
patroni_api_check_timeout : 5s
2021-01-17 01:09:41 +00:00
# timeout when waiting for the Postgres pods to be deleted
pod_deletion_wait_timeout : 10m
# timeout when waiting for pod role and cluster labels
pod_label_wait_timeout : 10m
# interval between consecutive attempts waiting for postgresql CRD to be created
ready_wait_interval : 3s
# timeout for the complete postgres CRD creation
ready_wait_timeout : 30s
# interval to wait between consecutive attempts to check for some K8s resources
resource_check_interval : 3s
# timeout when waiting for the presence of a certain K8s resource (e.g. Sts, PDB)
resource_check_timeout : 10m
# configure behavior of load balancers
configLoadBalancer :
# DNS zone for cluster DNS name when load balancer is configured for cluster
db_hosted_zone : db.example.com
# annotations to apply to service when load balancing is enabled
2021-11-14 22:17:20 +00:00
# custom_service_annotations:
# keyx: valuez
# keya: valuea
2021-01-17 01:09:41 +00:00
# toggles service type load balancer pointing to the master pod of the cluster
2021-11-14 22:17:20 +00:00
enable_master_load_balancer : false
2022-06-21 17:38:59 +00:00
# toggles service type load balancer pointing to the master pooler pod of the cluster
enable_master_pooler_load_balancer : false
2021-01-17 01:09:41 +00:00
# toggles service type load balancer pointing to the replica pod of the cluster
2021-11-14 22:17:20 +00:00
enable_replica_load_balancer : false
2022-06-21 17:38:59 +00:00
# toggles service type load balancer pointing to the replica pooler pod of the cluster
enable_replica_pooler_load_balancer : false
2021-01-17 01:09:41 +00:00
# define external traffic policy for the load balancer
external_traffic_policy : "Cluster"
# defines the DNS name string template for the master load balancer cluster
2023-04-08 19:26:41 +00:00
master_dns_name_format : "{cluster}.{namespace}.{hostedzone}"
# deprecated DNS template for master load balancer using team name
master_legacy_dns_name_format : "{cluster}.{team}.{hostedzone}"
2021-01-17 01:09:41 +00:00
# defines the DNS name string template for the replica load balancer cluster
2023-04-08 19:26:41 +00:00
replica_dns_name_format : "{cluster}-repl.{namespace}.{hostedzone}"
# deprecated DNS template for replica load balancer using team name
replica_legacy_dns_name_format : "{cluster}-repl.{team}.{hostedzone}"
2021-01-17 01:09:41 +00:00
# options to aid debugging of the operator itself
configDebug :
# toggles verbose debug logs from the operator
2021-11-14 22:17:20 +00:00
debug_logging : true
2021-01-17 01:09:41 +00:00
# toggles operator functionality that require access to the postgres database
2021-11-14 22:17:20 +00:00
enable_database_access : true
2021-01-17 01:09:41 +00:00
# parameters affecting logging and REST API listener
configLoggingRestApi :
# REST API listener listens to this port
2021-11-14 22:17:20 +00:00
api_port : 8080
2021-01-17 01:09:41 +00:00
# number of entries in the cluster history ring buffer
2021-11-14 22:17:20 +00:00
cluster_history_entries : 1000
2021-01-17 01:09:41 +00:00
# number of lines in the ring buffer used to store cluster logs
2021-11-14 22:17:20 +00:00
ring_log_lines : 100
2021-01-17 01:09:41 +00:00
# configure interaction with non-Kubernetes objects from AWS or GCP
configAwsOrGcp :
# Additional Secret (aws or gcp credentials) to mount in the pod
# additional_secret_mount: "some-secret-name"
# Path to mount the above Secret in the filesystem of the container(s)
# additional_secret_mount_path: "/some/dir"
2023-04-08 19:26:41 +00:00
# AWS region used to store EBS volumes
2021-01-17 01:09:41 +00:00
aws_region : eu-central-1
2021-02-23 00:40:14 +00:00
# enable automatic migration on AWS from gp2 to gp3 volumes
2021-11-14 22:17:20 +00:00
enable_ebs_gp3_migration : false
2021-02-23 00:40:14 +00:00
# defines maximum volume size in GB until which auto migration happens
2021-11-14 22:17:20 +00:00
# enable_ebs_gp3_migration_max_size: 1000
2021-02-23 00:40:14 +00:00
2021-11-14 22:17:20 +00:00
# GCP credentials that will be used by the operator / pods
2021-02-23 00:40:14 +00:00
# gcp_credentials: ""
2021-01-17 01:09:41 +00:00
# AWS IAM role to supply in the iam.amazonaws.com/role annotation of Postgres pods
# kube_iam_role: ""
# S3 bucket to use for shipping postgres daily logs
# log_s3_bucket: ""
# S3 bucket to use for shipping WAL segments with WAL-E
# wal_s3_bucket: ""
# GCS bucket to use for shipping WAL segments with WAL-E
# wal_gs_bucket: ""
2021-11-14 22:17:20 +00:00
# Azure Storage Account to use for shipping WAL segments with WAL-G
# wal_az_storage_account: ""
2021-01-17 01:09:41 +00:00
# configure K8s cron job managed by the operator
configLogicalBackup :
2023-04-08 19:26:41 +00:00
# Azure Storage Account specs to store backup results
# logical_backup_azure_storage_account_name: ""
# logical_backup_azure_storage_container: ""
# logical_backup_azure_storage_account_key: ""
# resources for logical backup pod, if empty configPostgresPodResources will be used
# logical_backup_cpu_limit: ""
# logical_backup_cpu_request: ""
# logical_backup_memory_limit: ""
# logical_backup_memory_request: ""
2021-01-17 01:09:41 +00:00
# image for pods of the logical backup job (example runs pg_dumpall)
2024-08-24 00:12:34 +00:00
logical_backup_docker_image : "ghcr.io/zalando/postgres-operator/logical-backup:v1.13.0"
2021-02-23 00:40:14 +00:00
# path of google cloud service account json file
# logical_backup_google_application_credentials: ""
# prefix for the backup job name
logical_backup_job_prefix : "logical-backup-"
2023-04-08 19:26:41 +00:00
# storage provider - either "s3", "gcs" or "az"
2021-02-23 00:40:14 +00:00
logical_backup_provider : "s3"
2021-01-17 01:09:41 +00:00
# S3 Access Key ID
logical_backup_s3_access_key_id : ""
# S3 bucket to store backup results
logical_backup_s3_bucket : "my-bucket-url"
2024-06-01 00:41:59 +00:00
# S3 bucket prefix to use
logical_backup_s3_bucket_prefix : "spilo"
2021-02-23 00:40:14 +00:00
# S3 region of bucket
logical_backup_s3_region : ""
2021-11-14 22:17:20 +00:00
# S3 endpoint url when not using AWS
logical_backup_s3_endpoint : ""
2021-01-17 01:09:41 +00:00
# S3 Secret Access Key
logical_backup_s3_secret_access_key : ""
# S3 server side encryption
logical_backup_s3_sse : "AES256"
2022-06-21 17:38:59 +00:00
# S3 retention time for stored backups for example "2 week" or "7 days"
logical_backup_s3_retention_time : ""
2021-01-17 01:09:41 +00:00
# backup schedule in the cron format
logical_backup_schedule : "30 00 * * *"
2024-05-05 15:45:29 +00:00
# secret to be used as reference for env variables in cronjob
logical_backup_cronjob_environment_secret : ""
2021-01-17 01:09:41 +00:00
# automate creation of human users with teams API service
configTeamsApi :
# team_admin_role will have the rights to grant roles coming from PG manifests
2021-11-14 22:17:20 +00:00
enable_admin_role_for_users : true
2021-01-17 01:09:41 +00:00
# operator watches for PostgresTeam CRs to assign additional teams and members to clusters
2021-11-14 22:17:20 +00:00
enable_postgres_team_crd : false
2021-01-17 01:09:41 +00:00
# toogle to create additional superuser teams from PostgresTeam CRs
2021-11-14 22:17:20 +00:00
enable_postgres_team_crd_superusers : false
2021-06-15 00:30:37 +00:00
# toggle to automatically rename roles of former team members and deny LOGIN
2021-11-14 22:17:20 +00:00
enable_team_member_deprecation : false
2021-01-17 01:09:41 +00:00
# toggle to grant superuser to team members created from the Teams API
2021-11-14 22:17:20 +00:00
enable_team_superuser : false
2021-01-17 01:09:41 +00:00
# toggles usage of the Teams API by the operator
2021-11-14 22:17:20 +00:00
enable_teams_api : false
2021-01-17 01:09:41 +00:00
# should contain a URL to use for authentication (username and token)
# pam_configuration: https://info.example.com/oauth2/tokeninfo?access_token= uid realm=/employees
# operator will add all team member roles to this group and add a pg_hba line
2021-11-14 22:17:20 +00:00
pam_role_name : zalandos
2021-01-17 01:09:41 +00:00
# List of teams which members need the superuser role in each Postgres cluster
2021-11-14 22:17:20 +00:00
postgres_superuser_teams :
- postgres_superusers
2021-01-17 01:09:41 +00:00
# List of roles that cannot be overwritten by an application, team or infrastructure role
2021-11-14 22:17:20 +00:00
protected_role_names :
- admin
2022-06-21 17:38:59 +00:00
- cron_admin
2021-06-15 00:30:37 +00:00
# Suffix to add if members are removed from TeamsAPI or PostgresTeam CRD
role_deletion_suffix : "_deleted"
2021-01-17 01:09:41 +00:00
# role name to grant to team members created from the Teams API
2021-11-14 22:17:20 +00:00
team_admin_role : admin
2021-01-17 01:09:41 +00:00
# postgres config parameters to apply to each team member role
2021-11-14 22:17:20 +00:00
team_api_role_configuration :
log_statement : all
2021-01-17 01:09:41 +00:00
# URL of the Teams API service
# teams_api_url: http://fake-teams-api.default.svc.cluster.local
# configure connection pooler deployment created by the operator
configConnectionPooler :
# db schema to install lookup function into
connection_pooler_schema : "pooler"
# db user for pooler to use
connection_pooler_user : "pooler"
# docker image
2024-05-05 15:45:29 +00:00
connection_pooler_image : "registry.opensource.zalan.do/acid/pgbouncer:master-32"
2021-01-17 01:09:41 +00:00
# max db connections the pooler should hold
2021-11-14 22:17:20 +00:00
connection_pooler_max_db_connections : 60
2021-01-17 01:09:41 +00:00
# default pooling mode
connection_pooler_mode : "transaction"
# number of pooler instances
2021-11-14 22:17:20 +00:00
connection_pooler_number_of_instances : 2
2021-01-17 01:09:41 +00:00
# default resources
connection_pooler_default_cpu_request : 500m
connection_pooler_default_memory_request : 100Mi
connection_pooler_default_cpu_limit : "1"
connection_pooler_default_memory_limit : 100Mi
2023-04-08 19:26:41 +00:00
configPatroni :
# enable Patroni DCS failsafe_mode feature
2023-06-10 03:21:30 +00:00
enable_patroni_failsafe_mode : false
2023-04-08 19:26:41 +00:00
2022-06-21 17:38:59 +00:00
# Zalando's internal CDC stream feature
enableStreams : false
2021-01-17 01:09:41 +00:00
rbac :
# Specifies whether RBAC resources should be created
create : true
2022-06-21 17:38:59 +00:00
# Specifies whether ClusterRoles that are aggregated into the K8s default roles should be created. (https://kubernetes.io/docs/reference/access-authn-authz/rbac/#default-roles-and-role-bindings)
createAggregateClusterRoles : false
2021-01-17 01:09:41 +00:00
serviceAccount :
# Specifies whether a ServiceAccount should be created
create : true
# The name of the ServiceAccount to use.
# If not set and create is true, a name is generated using the fullname template
name :
podServiceAccount :
# The name of the ServiceAccount to be used by postgres cluster pods
# If not set a name is generated using the fullname template and "-pod" suffix
name : "postgres-pod"
# priority class for operator pod
priorityClassName : ""
# priority class for database pods
2024-05-05 15:45:29 +00:00
podPriorityClassName :
# If create is false with no name set, no podPriorityClassName is specified.
2024-08-24 00:12:34 +00:00
# Hence, the pod priorityClass is the one with globalDefault set.
2024-05-05 15:45:29 +00:00
# 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
2021-01-17 01:09:41 +00:00
resources :
limits :
cpu : 500m
memory : 500Mi
requests :
cpu : 100m
memory : 250Mi
2021-02-23 00:40:14 +00:00
securityContext :
runAsUser : 1000
runAsNonRoot : true
readOnlyRootFilesystem : true
allowPrivilegeEscalation : false
2023-04-08 19:26:41 +00:00
# Allow to setup operator Deployment readiness probe
readinessProbe :
initialDelaySeconds : 5
periodSeconds : 10
2024-08-24 00:12:34 +00:00
# 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
2021-01-17 01:09:41 +00:00
# Affinity for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity : {}
# Node labels for pod assignment
# Ref: https://kubernetes.io/docs/user-guide/node-selection/
nodeSelector : {}
2021-02-23 00:40:14 +00:00
# Tolerations for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations : [ ]
2021-01-17 01:09:41 +00:00
controllerID :
# Specifies whether a controller ID should be defined for the operator
# Note, all postgres manifest must then contain the following annotation to be found by this operator
# "acid.zalan.do/controller": <controller-ID-of-the-operator>
create : false
# The name of the controller ID to use.
# If not set and create is true, a name is generated using the fullname template
name :