mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-10-02 12:07:33 +02:00
* feat(logical-backup): add configurable job history limits and TTL Adds three new configuration options for logical backup cronjobs: - logical_backup_successful_jobs_history_limit (default: 3) - logical_backup_failed_jobs_history_limit (default: 3) - logical_backup_ttl_seconds_after_finished (default: 86400) These options control how many completed/failed backup jobs are retained by Kubernetes and when finished jobs are automatically deleted. This prevents accumulation of old backup jobs and pods in namespaces with many PostgreSQL clusters. Also updates the CronJob comparison logic to detect changes in these new fields and trigger reconciliation when needed. Closes zalando/postgres-operator#1092 * add added the 3 new fieldson crd * updated gen api --------- Co-authored-by: Jairo Llopis <jairo@moduon.team> Co-authored-by: Felix Kunde <felix-kunde@gmx.de>
576 lines
22 KiB
YAML
576 lines
22 KiB
YAML
image:
|
|
registry: ghcr.io
|
|
repository: zalando/postgres-operator
|
|
tag: v1.15.1
|
|
pullPolicy: "IfNotPresent"
|
|
|
|
# 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
|
|
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
configTarget: "OperatorConfigurationCRD"
|
|
|
|
# JSON logging format
|
|
enableJsonLogging: false
|
|
|
|
# Command-line options for the operator
|
|
extraArgs: []
|
|
|
|
# general configuration parameters
|
|
configGeneral:
|
|
# the deployment should create/update the CRDs
|
|
enable_crd_registration: true
|
|
# specify categories under which crds should be listed
|
|
crd_categories:
|
|
- "all"
|
|
# update only the statefulsets without immediately doing the rolling update
|
|
enable_lazy_spilo_upgrade: false
|
|
# toogle to use maintenance windows feature
|
|
enable_maintenance_windows: true
|
|
# set the PGVERSION env var instead of providing the version via postgresql.bin_dir in SPILO_CONFIGURATION
|
|
enable_pgversion_env_var: true
|
|
# start any new database pod without limitations on shm memory
|
|
enable_shm_volume: true
|
|
# operator will sync only clusters where name starts with teamId prefix
|
|
enable_team_id_clustername_prefix: false
|
|
# etcd connection string for Patroni. Empty uses K8s-native DCS.
|
|
etcd_host: ""
|
|
# Spilo docker image
|
|
docker_image: ghcr.io/zalando/spilo-18:4.1-p1
|
|
|
|
# key name for annotation to ignore globally configured instance limits
|
|
# ignore_instance_limits_annotation_key: ""
|
|
|
|
# key name for annotation to ignore globally configured resources thresholds
|
|
# ignore_resources_limits_annotation_key: ""
|
|
|
|
# Select if setup uses endpoints (default), or configmaps to manage leader (DCS=k8s)
|
|
# kubernetes_use_configmaps: false
|
|
|
|
# maintenance windows applied to all Postgres clusters unless overridden in the manifest
|
|
# maintenance_windows:
|
|
# - "Sun:01:00-06:00"
|
|
|
|
# min number of instances in Postgres cluster. -1 = no limit
|
|
min_instances: -1
|
|
# max number of instances in Postgres cluster. -1 = no limit
|
|
max_instances: -1
|
|
# period between consecutive repair requests
|
|
repair_period: 5m
|
|
# period between consecutive sync requests
|
|
resync_period: 30m
|
|
# can prevent certain cases of memory overcommitment
|
|
# set_memory_request_to_limit: false
|
|
|
|
# map of sidecar names to docker images
|
|
# sidecar_docker_images:
|
|
# example: "exampleimage:exampletag"
|
|
|
|
# number of routines the operator spawns to process requests concurrently
|
|
workers: 8
|
|
|
|
# parameters describing Postgres users
|
|
configUsers:
|
|
# 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
|
|
# postgres username used for replication between instances
|
|
replication_username: standby
|
|
# postgres superuser name to be created by initdb
|
|
super_username: postgres
|
|
|
|
configMajorVersionUpgrade:
|
|
# "off": no upgrade, "manual": manifest triggers action, "full": minimal version violation triggers too
|
|
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
|
|
|
|
# minimal Postgres major version that will not automatically be upgraded
|
|
minimal_major_version: "14"
|
|
# target Postgres major version when upgrading clusters automatically
|
|
target_major_version: "18"
|
|
|
|
configKubernetes:
|
|
# list of additional capabilities for postgres container
|
|
# additional_pod_capabilities:
|
|
# - "SYS_NICE"
|
|
|
|
# default DNS domain of K8s cluster where operator is running
|
|
cluster_domain: cluster.local
|
|
# additional labels assigned to the cluster objects
|
|
cluster_labels:
|
|
application: spilo
|
|
# label assigned to Kubernetes objects created by the operator
|
|
cluster_name_label: cluster-name
|
|
# additional annotations to add to every database pod
|
|
# custom_pod_annotations:
|
|
# keya: valuea
|
|
# keyb: valueb
|
|
|
|
# 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
|
|
# downscaler_annotations:
|
|
# - deployment-time
|
|
# - downscaler/*
|
|
|
|
# allow user secrets in other namespaces than the Postgres cluster
|
|
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
|
|
enable_init_containers: 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
|
|
enable_pod_antiaffinity: false
|
|
# toggles PDB to set to MinAvailabe 0 or 1
|
|
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
|
|
|
|
# annotations to be ignored when comparing statefulsets, services etc.
|
|
# ignored_annotations:
|
|
# - k8s.v1.cni.cncf.io/network-status
|
|
|
|
# namespaced name of the secret containing infrastructure roles names and passwords
|
|
# infrastructure_roles_secret_name: postgresql-infrastructure-roles
|
|
|
|
# list of annotation keys that can be inherited from the cluster manifest
|
|
# inherited_annotations:
|
|
# - owned-by
|
|
|
|
# list of label keys that can be inherited from the cluster manifest
|
|
# inherited_labels:
|
|
# - application
|
|
# - environment
|
|
|
|
# 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
|
|
# node_readiness_label:
|
|
# status: ready
|
|
|
|
# defines how nodeAffinity from manifest should be merged with node_readiness_label
|
|
# node_readiness_label_merge: "OR"
|
|
|
|
# namespaced name of the secret containing the OAuth2 token to pass to the teams API
|
|
# oauth_token_secret_name: postgresql-operator
|
|
|
|
# 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
|
|
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`
|
|
pod_antiaffinity_preferred_during_scheduling: false
|
|
# 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
|
|
# 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.
|
|
secret_name_template: "{username}.{cluster}.credentials.{tprkind}.{tprgroup}"
|
|
# sharing unix socket of PostgreSQL (`pg_socket`) with the sidecars
|
|
share_pgsocket_with_sidecars: false
|
|
# set user and group for the spilo container (required to run Spilo as non-root process)
|
|
# spilo_runasuser: 101
|
|
# spilo_runasgroup: 103
|
|
|
|
# group ID with write-access to volumes (required to run Spilo as non-root process)
|
|
# spilo_fsgroup: 103
|
|
|
|
# whether the Spilo container should run in privileged mode
|
|
spilo_privileged: false
|
|
# whether the Spilo container should run with additional permissions other than parent.
|
|
# required by cron which needs setuid
|
|
spilo_allow_privilege_escalation: true
|
|
|
|
# liveness probe for the spilo pod
|
|
# liveness_probe:
|
|
# httpGet:
|
|
# scheme: HTTP
|
|
# path: /liveness
|
|
# port: 8008
|
|
# initialDelaySeconds: 10
|
|
# periodSeconds: 10
|
|
# timeoutSeconds: 5
|
|
# successThreshold: 1
|
|
# failureThreshold: 3
|
|
|
|
# storage resize strategy, available options are: ebs, pvc, off or mixed
|
|
storage_resize_mode: pvc
|
|
# pod toleration assigned to instances of every Postgres cluster
|
|
# toleration:
|
|
# key: db-only
|
|
# operator: Exists
|
|
# effect: NoSchedule
|
|
|
|
# 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
|
|
# optional upper boundary for CPU request
|
|
# max_cpu_request: "1"
|
|
|
|
# optional upper boundary for memory request
|
|
# max_memory_request: 4Gi
|
|
|
|
# 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:
|
|
# 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
|
|
# 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
|
|
# custom_service_annotations:
|
|
# keyx: valuez
|
|
# keya: valuea
|
|
|
|
# toggles service type load balancer pointing to the master pod of the cluster
|
|
enable_master_load_balancer: false
|
|
# toggles service type load balancer pointing to the master pooler pod of the cluster
|
|
enable_master_pooler_load_balancer: false
|
|
# toggles service type load balancer pointing to the replica pod of the cluster
|
|
enable_replica_load_balancer: false
|
|
# toggles service type load balancer pointing to the replica pooler pod of the cluster
|
|
enable_replica_pooler_load_balancer: false
|
|
# define external traffic policy for the load balancer
|
|
external_traffic_policy: "Cluster"
|
|
# defines the DNS name string template for the master load balancer cluster
|
|
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}"
|
|
# defines the DNS name string template for the replica load balancer cluster
|
|
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}"
|
|
|
|
# options to aid debugging of the operator itself
|
|
configDebug:
|
|
# toggles verbose debug logs from the operator
|
|
debug_logging: true
|
|
# toggles operator functionality that require access to the postgres database
|
|
enable_database_access: true
|
|
|
|
# parameters affecting logging and REST API listener
|
|
configLoggingRestApi:
|
|
# REST API listener listens to this port
|
|
api_port: 8080
|
|
# number of entries in the cluster history ring buffer
|
|
cluster_history_entries: 1000
|
|
# number of lines in the ring buffer used to store cluster logs
|
|
ring_log_lines: 100
|
|
|
|
# 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"
|
|
|
|
# AWS region used to store EBS volumes
|
|
aws_region: eu-central-1
|
|
|
|
# enable automatic migration on AWS from gp2 to gp3 volumes
|
|
enable_ebs_gp3_migration: false
|
|
# defines maximum volume size in GB until which auto migration happens
|
|
# enable_ebs_gp3_migration_max_size: 1000
|
|
|
|
# GCP credentials that will be used by the operator / pods
|
|
# gcp_credentials: ""
|
|
|
|
# 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: ""
|
|
|
|
# Azure Storage Account to use for shipping WAL segments with WAL-G
|
|
# wal_az_storage_account: ""
|
|
|
|
# configure K8s cron job managed by the operator
|
|
configLogicalBackup:
|
|
# 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: ""
|
|
|
|
# image for pods of the logical backup job (example runs pg_dumpall)
|
|
logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v1.15.1"
|
|
# 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-"
|
|
# storage provider - either "s3", "gcs" or "az"
|
|
logical_backup_provider: "s3"
|
|
# S3 Access Key ID
|
|
logical_backup_s3_access_key_id: ""
|
|
# S3 bucket to store backup results
|
|
logical_backup_s3_bucket: "my-bucket-url"
|
|
# S3 bucket prefix to use
|
|
logical_backup_s3_bucket_prefix: "spilo"
|
|
# S3 region of bucket
|
|
logical_backup_s3_region: ""
|
|
# S3 endpoint url when not using AWS
|
|
logical_backup_s3_endpoint: ""
|
|
# S3 Secret Access Key
|
|
logical_backup_s3_secret_access_key: ""
|
|
# S3 server side encryption
|
|
logical_backup_s3_sse: "AES256"
|
|
# S3 retention time for stored backups for example "2 week" or "7 days"
|
|
logical_backup_s3_retention_time: ""
|
|
# backup schedule in the cron format
|
|
logical_backup_schedule: "30 00 * * *"
|
|
# secret to be used as reference for env variables in cronjob
|
|
logical_backup_cronjob_environment_secret: ""
|
|
# number of successful backup jobs to keep in cronjob history
|
|
logical_backup_successful_jobs_history_limit: 3
|
|
# number of failed backup jobs to keep in cronjob history
|
|
logical_backup_failed_jobs_history_limit: 3
|
|
# TTL in seconds after which finished backup jobs are automatically deleted
|
|
logical_backup_ttl_seconds_after_finished: 86400
|
|
|
|
# automate creation of human users with teams API service
|
|
configTeamsApi:
|
|
# team_admin_role will have the rights to grant roles coming from PG manifests
|
|
enable_admin_role_for_users: true
|
|
# operator watches for PostgresTeam CRs to assign additional teams and members to clusters
|
|
enable_postgres_team_crd: false
|
|
# toogle to create additional superuser teams from PostgresTeam CRs
|
|
enable_postgres_team_crd_superusers: false
|
|
# toggle to automatically rename roles of former team members and deny LOGIN
|
|
enable_team_member_deprecation: false
|
|
# toggle to grant superuser to team members created from the Teams API
|
|
enable_team_superuser: false
|
|
# toggles usage of the Teams API by the operator
|
|
enable_teams_api: false
|
|
# 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
|
|
pam_role_name: zalandos
|
|
# List of teams which members need the superuser role in each Postgres cluster
|
|
postgres_superuser_teams:
|
|
- postgres_superusers
|
|
# List of roles that cannot be overwritten by an application, team or infrastructure role
|
|
protected_role_names:
|
|
- admin
|
|
- cron_admin
|
|
# Suffix to add if members are removed from TeamsAPI or PostgresTeam CRD
|
|
role_deletion_suffix: "_deleted"
|
|
# role name to grant to team members created from the Teams API
|
|
team_admin_role: admin
|
|
# postgres config parameters to apply to each team member role
|
|
team_api_role_configuration:
|
|
log_statement: all
|
|
# 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
|
|
connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:latest"
|
|
# max db connections the pooler should hold
|
|
connection_pooler_max_db_connections: 60
|
|
# default pooling mode
|
|
connection_pooler_mode: "transaction"
|
|
# number of pooler instances
|
|
connection_pooler_number_of_instances: 2
|
|
# 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
|
|
|
|
configPatroni:
|
|
# enable Patroni DCS failsafe_mode feature
|
|
enable_patroni_failsafe_mode: false
|
|
|
|
# Zalando's internal CDC stream feature
|
|
enableStreams: false
|
|
|
|
rbac:
|
|
# Specifies whether RBAC resources should be created
|
|
create: true
|
|
# 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
|
|
|
|
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
|
|
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:
|
|
limits:
|
|
cpu: 500m
|
|
memory: 500Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 250Mi
|
|
|
|
securityContext:
|
|
runAsUser: 1000
|
|
runAsNonRoot: true
|
|
readOnlyRootFilesystem: true
|
|
allowPrivilegeEscalation: false
|
|
|
|
# Allow to setup operator Deployment readiness probe
|
|
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: {}
|
|
|
|
# Node labels for pod assignment
|
|
# Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
nodeSelector: {}
|
|
|
|
# Tolerations for pod assignment
|
|
# Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
tolerations: []
|
|
|
|
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:
|