CYBERTEC-PG-Operator
GitHubToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

CRD: postgresql

postgresql

NameTyperequiredDescription
apiVersionstringtrueacid.zalando.do/v1
kindstringtrue
metadataobjecttrue
specobjecttrue
statusobjectfalse

spec

NameTyperequiredDescription
backupobjectfalseEnables the definition of a customised backup solution for the cluster
teamIdstringtruename of the team the cluster belongs to
numberOfInstancesInttrueNumber of nodes of the cluster
dockerImagesstringfalseDefine a custom image to override the default
schedulerNamestringfalseDefine a custom Name to override the default
spiloRunAsUserstringfalseDefine an User id which should be used for the pods
spiloRunAsGroupstringfalseDefine an Group id which should be used for the pods
spiloFSGroupstringfalsePersistent Volumes for the pods in the StatefulSet will be owned and writable by the group ID specified.
enableMasterLoadBalancerbooleanfalseDefine whether to enable the load balancer pointing to the Postgres primary
enableMasterPoolerLoadBalancerbooleanfalseDefine whether to enable the load balancer pointing to the primary ConnectionPooler
enableReplicaLoadBalancerbooleanfalseDefine whether to enable the load balancer pointing to the Postgres replicas
enableReplicaPoolerLoadBalancerbooleanfalseDefine whether to enable the load balancer pointing to the Replica-ConnectionPooler
allowedSourceRangestringfalseDefines the range of IP networks (in CIDR-notation). The corresponding load balancer is accessible only to the networks defined by this parameter.
usersmapfalsea map of usernames to user flags for the users that should be created in the cluster by the operator
usersWithSecretRotationlistfalselist of users to enable credential rotation in K8s secrets. The rotation interval can only be configured globally.
usersWithInPlaceSecretRotationlistfalselist of users to enable in-place password rotation in K8s secrets. The rotation interval can only be configured globally.
databasesmapfalsea map of databases that should be created in the cluster by the operator
tolerationslistfalsea list of tolerations that apply to the cluster pods. Each element of that list is a dictionary with the following fields:
key, operator, value, effect and tolerationSeconds
podPriorityClassNamestringfalsea name of the priority class that should be assigned to the cluster pods. If not set then the default priority class is taken. The priority class itself must be defined in advance
podAnnotationsmapfalseA map of key value pairs that gets attached as annotations to each pod created for the database.
ServiceAnnotationsmapfalseA map of key value pairs that gets attached as annotations to each Service created for the database.
enableShmVolumebooleanfalseStart a database pod without limitations on shm memory. By default Docker limit /dev/shm to 64M (see e.g. the docker issue, which could be not enough if PostgreSQL uses parallel workers heavily. If this option is present and value is true, to the target database pod will be mounted a new tmpfs volume to remove this limitation.
enableConnectionPoolerbooleanfalsecreates a ConnectionPooler for the primary Database
enableReplicaConnectionPoolerbooleanfalsecreates a ConnectionPooler for the replica Databases
enableLogicalBackupbooleanfalseEnable logical Backups for this Cluster (Stored on S3) - s3-configuration for Operator is needed (Not for pgBackRest)
logicalBackupSchedulestringfalseSchedule for the logical backup K8s cron job. (Not for pgBackRest)
additionalVolumeslistfalseList of additional volumes to mount in each container of the statefulset pod. Each item must contain a name, mountPath, and volumeSource which is a kubernetes volumeSource. It allows you to mount existing PersistentVolumeClaims, ConfigMaps and Secrets inside the StatefulSet.

back to parent


backup

NameTyperequiredDescription
pgbackrestobjectfalseEnables the definition of a pgbackrest-setup for the cluster

back to parent


pgbackrest

NameTyperequiredDescription
configurationobjectfalseEnables the definition of a pgbackrest-setup for the cluster
globalobjectfalse
imagesstringtrue
reposarraytrue
resources:objectfalseResource definition (limits.cpu, limits.memory & requests.cpu & requests.memory)

back to parent


configuration

NameTyperequiredDescription
secretobjectfalseSecretname with the contained S3 credentials (AccessKey & SecretAccessKey) (Note: must be placed in the same namespace as the cluster)
protectionobjectfalseEnable Protection-Options

back to parent


protection

NameTyperequiredDescription
restorebooleanfalseA restore is ignored as long as this option is set to true.

back to parent


repos

NameTyperequiredDescription
namestringtrueName of the repository Required:Repo[1-4]
storagestringtrueDefines the used backup-storage (Choose from List: local,s3,blob,gcs) Currently s3 only!
resourcestringtrueBucket-/Instance-/Storage- or PVC-Name
endpointstringfalseThe Endpoint for the choosen Storage (Not required for local storage)
regionstringfalseRegion for the choosen Storage (S3 only)
schedulestringfalseObject for defining automatic backups

back to parent


schedule

NameTyperequiredDescription
fullstringfalse(Cron-Syntax) Define full backup
incrstringfalse(Cron-Syntax) Define incremental backup
diffstringfalse(Cron-Syntax) Define differential backup

back to parent


status

NameTyperequiredDescription
PostgresClusterStatusstringfalseShows the cluster status. Filled by the Operator

back to parent