# yaml-language-server: $schema=./values.schema.json # Default values for cnpg-cluster. # This is a YAML-formatted file. # Declare variables to be passed into your templates. # @param {number} [instances] Number of Postgres instances in the cluster instances: 1 # @param {string} [logLevel] The instances log level, one of the following values: error, warning, info (default), debug, trace logLevel: info # @param {object} [annotations] CNPG cluster annotations annotations: {} # @param {object} [image] Docker image for the PG instances image: # @param {string} [repository] CNPG compatible Postgres image. see https://github.com/cloudnative-pg/postgres-containers repository: "ghcr.io/cloudnative-pg/postgis" # @param {string} [pullPolicy] Docker image pull policy. see https://kubernetes.io/docs/concepts/containers/images#updating-images pullPolicy: IfNotPresent # @param {string} [tag] Docker image tag tag: "15" # @param {array} [imagePullSecrets] docker image pull secrets. see https://kubernetes.io/fr/docs/tasks/configure-pod-container/pull-image-private-registry/ imagePullSecrets: [] # @param {object,null} [registryCredentials] registryCredentials: # Eg: # mygitlab: # registry: gitlab-registry.example.org # email: foo@example.org # username: foobar # password: secret # @param {string} [nameOverride] String to partially override cnpg-cluster.fullname template with a string (will prepend the release name) nameOverride: "" # @param {string} [fullnameOverride] String to fully override cnpg-cluster.fullname template with a string fullnameOverride: "" # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # @param {https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.24.0/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements} [resources] CPU/Memory resource requests/limits resources: {} # limits: # cpu: 100m # memory: 128Mi # requests: # cpu: 100m # memory: 128Mi # @param {object} [nodeSelector] Postgres instances labels for pod assignment nodeSelector: {} # Name of the priority class which will be used in every generated Pod, if the PriorityClass specified does not exist, the pod will not be able to schedule. Please refer to https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass for more information # @param {string} [priorityClassName] Name of the priority class which will be used in every generated Pod priorityClassName: "" # @param {array} [tolerations] Postgres instances labels for tolerations pod assignment tolerations: [] # @param {object} [extraAffinity] Extra configuration for Cluster's affinity resource, see: https://cloudnative-pg.io/documentation/1.17/api_reference/#AffinityConfiguration extraAffinity: {} # @param {object} [persistence] Data persistence configuration persistence: # @param {string} [size] Size of each instance storage volume size: 8Gi # @param {boolean,null} [resizeInUseVolumes] Resize existent PVCs, defaults to true resizeInUseVolumes: # Applied after evaluating the PVC template, if available. # If not specified, generated PVCs will be satisfied by the default storage class # @param {string} [storageClass] StorageClass to use for database data, storageClass: "" # @param {object} [pvcTemplate] Template to be used to generate the Persistent Volume Claim pvcTemplate: {} # @param {object} [backup] Backup configuration backup: # @param {boolean} [enabled] Enable backups enabled: false # this cron format has the seconds on the left # @param {string} [schedule] Schedule the backups, for instance every day at midnight schedule: "0 0 0 * * 0" # The retention policy is expressed in the form of XXu where XX is a positive integer and # u is in [dwm] - days, weeks, months. # @param {string} [retentionPolicy] RetentionPolicy is the retention policy to be used for backups and WALs (i.e. '60d'). retentionPolicy: 30d # @param {boolean} [enabled] If the first backup has to be immediately start after creation or not immediate: true # See: https://cloudnative-pg.io/documentation/1.20/backup_recovery/ # @param {object,null} [barmanObjectStore] Object store credentials and access config barmanObjectStore: # destinationPath: # endpointURL: # s3Credentials: # accessKeyId: # name: # key: # secretAccessKey: # name: # key: # region: # name: # key: # @param {object} [clusterExtraSpec] Extra configuration for Cluster resource. See: https://cloudnative-pg.io/documentation/1.17/api_reference/#clusterspec clusterExtraSpec: {} # @param {object} [scheduledBackups] ScheduledBackup resources to create for this Cluster resource. See: https://cloudnative-pg.io/documentation/1.17/api_reference/#ScheduledBackupSpec scheduledBackups: {} # Eg: # daily: # schedule: "0 0 0 * * *" # @param {object} [poolers] Pooler resources to create for this Cluster resource. See: https://cloudnative-pg.io/documentation/1.17/api_reference/#PoolerSpec poolers: {} # Eg: # rw: # instances: 3 # type: rw # pgbouncer: # poolMode: session # parameters: # max_client_conn: "1000" # default_pool_size: "10" # @param {number} [minSyncReplicas] Minimum of synchronous replicas. see https://cloudnative-pg.io/documentation/current/replication/#synchronous-replication minSyncReplicas: 0 # @param {number} [maxSyncReplicas] Maximum of synchronous replicas. see https://cloudnative-pg.io/documentation/current/replication/#synchronous-replication maxSyncReplicas: 0 # @param {array} [pg_hba] pg_hba entries. See https://www.postgresql.org/docs/9.3/auth-pg-hba-conf.html pg_hba: [] # Define your parameters on https://pgtune.leopard.in.ua # @param {https://raw.githubusercontent.com/SocialGouv/json-schemas/main/postgres/parameters.json} [postgresqlParameters] PostgreSQL parameters. See https://www.postgresql.org/docs/9.3/auth-pg-hba-conf.html postgresqlParameters: {} # @param {array} [sharedPreloadLibraries] PostgreSQL shared preload libraries. See https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-PostgresConfiguration sharedPreloadLibraries: {} # @param {array} [externalClusters] define external clusters for recovery/replication see https://cloudnative-pg.io/documentation/current/api_reference/#externalcluster externalClusters: [] # @param {object} [replica] Replica mode replica: # @param {boolean} [enabled] Enable replica mode enabled: false # @param {object} [pg_basebackup] Enable pg_basebackup on bootstrap, see https://cloudnative-pg.io/documentation/current/bootstrap/#bootstrap-from-a-live-cluster-pg_basebackup pg_basebackup: # @param {boolean} [enabled] Enable pg_basebackup bootstrap, see https://cloudnative-pg.io/documentation/current/bootstrap/#bootstrap-from-a-live-cluster-pg_basebackup enabled: false # @param {string,null} [source] externalCluster cluster name for the pg_basebackup source: # @param {https://raw.githubusercontent.com/SocialGouv/json-schemas/main/postgres/extensions.json} [extensions] extensions: [] postgresqlInitCommandsBeforeExtensions: [] postgresqlInitCommands: [] # @param {string} [dbName] Name of the default database to create dbName: app # @param {string} [dbName] Name of the default user to create dbOwner: app # @param {object} [monitoring] Monitoring. see https://cloudnative-pg.io/documentation/current/monitoring/ monitoring: # @param {boolean} [enablePodMonitor] Enable metrics monitoring. see https://cloudnative-pg.io/documentation/current/monitoring/ enablePodMonitor: false # @param {string,null} [superuserSecretName] To force the super user secret name superuserSecretName: # @param {string,null} [dbSecretName] To force the DB secret name dbSecretName: # @param {object} [recovery] Recovery. see https://cloudnative-pg.io/documentation/current/backup_recovery/#recovery recovery: # @param {boolean} [enabled] Enable recovery enabled: false # Relative to Postgres server timezone # @param {string} [targetTime] Time to restore from, in RFC3339 format https://datatracker.ietf.org/doc/html/rfc3339 targetTime: "" # @param {string,null} [database] Database to restore to database: # @param {string,null} [owner] Database owner to restore to owner: # @param {string,null} [secretName] Secret where owner password is set secretName: # @param {string,null} [externalClusterName] Name for the external cluster to recover from externalClusterName: # See: https://cloudnative-pg.io/documentation/current/backup_recovery/ # @param {object,null} [barmanObjectStore] Object store credentials and access config barmanObjectStore: # destinationPath: # endpointURL: # name of the recovery server on the s3 backups # serverName: # s3Credentials: # accessKeyId: # name: # key: # secretAccessKey: # name: # key: # region: # name: # key: # @param {string[]} [postInitApplicationSQL] List of SQL queries to be executed as a superuser in the application database right after is created - to be used with extreme care (by default empty) postInitApplicationSQL: [] # Points references to ConfigMaps or Secrets which contain SQL files, the general implementation order to these references is from all Secrets to all ConfigMaps, and inside Secrets or ConfigMaps, the implementation order is same as the order of each array (by default empty # See https://cloudnative-pg.io/documentation/current/api_reference/#postinitapplicationsqlrefs # @param {object,null} [postInitApplicationSQLRefs] postInitApplicationSQLRefs: # configMapRefs: # - name: post-init-sql-configmap # key: configmap.sql # secretRefs: # - name: post-init-sql-secret # key: secret.sql