The module lifecycle stage: Preview
The module has requirements for installation
The Deckhouse Kubernetes Platform installs CRDs but does not remove them when a module is disabled. If you no longer need the created CRDs, delete them.
Postgres
Scope: Namespaced
Version: v1alpha1
-
stringapiVersion
Specifies the API version this object belongs to.
The server converts recognized versions to the latest internal representation and may reject unrecognized values.
For details on required fields in resources, refer to the Kubernetes documentation.
-
stringkind
String value that defines the type of resource this object represents.
The server may infer this value from the endpoint the client sends requests to.
This field is immutable. Must be specified in CamelCase.
For details on resource types, refer to the Kubernetes documentation.
-
objectmetadata
-
objectspecDefines the desired state of the Postgres resource.
-
objectspec.clusterCluster settings, including deployment topology and replication mode.
-
stringspec.cluster.replication
Specifies the structure and type of replicas in the cluster.
Possible values:
Availability: Master node + 1 asynchronous replica.Consistency: Master node + 1 synchronous replica.ConsistencyAndAvailability: Master node + 1 synchronous replica + 1 asynchronous replica.
Default:
ConsistencyAndAvailabilityAllowed values:
Availability,Consistency,ConsistencyAndAvailability -
stringspec.cluster.topology
Specifies the cluster deployment rules.
Possible values:
Zonal: Cluster is deployed within a single zone if possible.TransZonal: Cluster is deployed in separate zones if possible.Ignored: Cluster is deployed per the default Kubernetes scheduling rules. Only the deployment in several nodes is guaranteed.
Example:
topology: Ignored
-
-
objectspec.configurationConfiguration parameters of Postgres
-
integerspec.configuration.maxConnections
Determines the maximum number of concurrent connections to the database server. This parameter can only be set at server start.
PostgreSQL sizes certain resources based directly on the value of max_connections. Increasing its value leads to higher allocation of those resources, including shared memory.
Example:
maxConnections: 100 -
integer or string
Sets the amount of memory the database server uses for shared memory buffers. This setting must be at least 128 kilobytes. However, settings significantly higher than the minimum are usually needed for good performance. This parameter can only be set at server start.
If you have a dedicated database server with 1GB or more of RAM, a reasonable value for shared_buffers is 25% of the memory in your system. There are some workloads where even larger settings for shared_buffers are effective, but because PostgreSQL also relies on the operating system cache, it is unlikely that an allocation of more than 25% of RAM to shared_buffers will work better than a smaller amount. Larger settings for shared_buffers usually require a corresponding increase in max_wal_size, in order to spread out the process of writing large quantities of new or changed data over a longer period of time.
On systems with less than 1GB of RAM, a smaller percentage of RAM is appropriate, so as to leave adequate space for the operating system. Must be set with k8s based units as Gi/Mi/Ki/M/G
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
sharedBuffers: 250Mi -
integer or stringspec.configuration.walKeepSize
Specifies the minimum size of past WAL files kept in the pg_wal directory, in case a standby server needs to fetch them for streaming replication. If a standby server connected to the sending server falls behind by more than wal_keep_size megabytes, the sending server might remove a WAL segment still needed by the standby, in which case the replication connection will be terminated. Downstream connections will also eventually fail as a result. (However, the standby server can recover by fetching the segment from archive, if WAL archiving is in use.)
This sets only the minimum size of segments retained in pg_wal; the system might need to retain more segments for WAL archival or to recover from a checkpoint. I f wal_keep_size is zero (the default), the system doesn’t keep any extra segments for standby purposes, so the number of old WAL segments available to standby servers is a function of the location of the previous checkpoint and status of WAL archiving. Must be set with k8s based units as Gi/Mi/Ki/M/G
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
walKeepSize: 512Mi -
integer or stringspec.configuration.workMem
Sets the base maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files. If this value is specified without units, it is taken as kilobytes. The default value is four megabytes (4MB). Note that a complex query might perform several sort and hash operations at the same time, with each operation generally being allowed to use as much memory as this value specifies before it starts to write data into temporary files. Also, several running sessions could be doing such operations concurrently. Therefore, the total memory used could be many times the value of work_mem; it is necessary to keep this fact in mind when choosing the value. Sort operations are used for ORDER BY, DISTINCT, and merge joins. Hash tables are used in hash joins, hash-based aggregation, memoize nodes and hash-based processing of IN subqueries.
Hash-based operations are generally more sensitive to memory availability than equivalent sort-based operations. The memory limit for a hash table is computed by multiplying work_mem by hash_mem_multiplier. This makes it possible for hash-based operations to use an amount of memory that exceeds the usual work_mem base amount. Must be set with k8s based units as Gi/Mi/Ki/M/G
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
workMem: 4Mi
-
-
objectspec.dataSourceData source for initializing PostgreSQL from PostgresSnapshot or other sources.
-
objectspec.dataSource.objectRef
Required value
-
stringspec.dataSource.objectRef.kind
Required value
-
stringspec.dataSource.objectRef.name
Required value
-
-
-
array of objectsspec.databasesList of Postgres logical databases.
-
stringspec.databases.nameName of the logical database to be created.
Example:
name: mydb
-
-
objectspec.instance
Required value
Resource requirements of every created Pod.
For more information about Pod resource management, refer to the Kubernetes documentation.
-
objectspec.instance.cpu
Required value
-
integerspec.instance.cpu.coreFraction
Required value
Multiplier for calculating CPUrequestsbased onlimits.Example:
coreFraction: 50 -
integerspec.instance.cpu.cores
Required value
Number of CPU cores.
-
-
objectspec.instance.memory
Required value
-
integer or stringspec.instance.memory.size
Required value
Memory size.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
size: 1Gi
-
-
objectspec.instance.persistentVolumeClaim
Required value
-
stringspec.instance.persistentVolumeClaim.size
Required value
Default:
1GiExample:
size: 1Gi -
stringspec.instance.persistentVolumeClaim.storageClassName
Name of the StorageClass used for PostgreSQL data storage.
If this parameter is not set, the default StorageClass in Kubernetes cluster will be used. This parameter is set only once when the resource is created and can’t be changed later.
Example:
storageClassName: local-path
-
-
-
stringspec.observabilityMonitoring mode, could be turned off,
Default:
EnabledAllowed values:
Enabled,Disabled,EnabledWithoutAlerts -
stringspec.postgresClassName
Required value
Name of the PostgresClass resource used for settings validation.Default:
defaultExample:
postgresClassName: small -
objectspec.tlsTLS configuration for the PostgreSQL server.
-
objectspec.tls.certManager
Configuration of the
cert-managerfor TLS certificate management.Available only when
mode: CertManager.-
stringspec.tls.certManager.clusterIssuerName
Name of the ClusterIssuer resource for
cert-manager.Only one field must be specified:
clusterIssuerNameorissuerName. -
stringspec.tls.certManager.issuerName
Name of the Issuer resource for
cert-manager.Only one field must be specified:
clusterIssuerNameorissuerName.
-
-
objectspec.tls.customCertificate
Configuration for custom TLS certificate management.
Available only when
mode: CustomCertificate.-
stringspec.tls.customCertificate.serverCASecret
Required value
Name of the Secret containing the CA certificate for the PostgreSQL TLS server. -
stringspec.tls.customCertificate.serverTLSSecret
Required value
Name of the Secret containing the PostgreSQL TLS certificate.
-
-
stringspec.tls.mode
TLS certificate management mode.
Possible values:
CertManager: Usecert-managerfor certificate management (by default).CustomCertificate: Use custom certificates from Secret.K8s: Use Kubernetes CA for issuing certificates.
Default:
CertManagerAllowed values:
CertManager,CustomCertificate,K8s
-
-
stringspec.typePostgreSQL cluster type.
Default:
ClusterAllowed values:
Cluster,Standalone -
array of objectsspec.usersList of internal PostgreSQL users.
-
stringspec.users.hashedPassword
Hashed password of the PostgreSQL role.
Supported formats:
- MD5;
- SCRAM-SHA-256.
If you specify a password here, it will be automatically replaced with an MD5 or SCRAM-SHA-256 hash.
Example:
hashedPassword: SCRAM-SHA-256$4096:9bdAkxfJ7tMWaVlcOSyKLc8uUbvVi+KBBYXWCE14maM=$g13sNwuKH0VsQnh43WqlQj8KPwS/2smQL1m0JzJkowI=:rImReuq6U7mD4KoJGIDelxsFVlXoB1stP8olJZr5Gl4= -
stringspec.users.nameName of the user that will be created in PostgreSQL.
Example:
name: myuser -
stringspec.users.password
Plaintext password of the PostgreSQL role.
When specified, a password will be transformed to a
hashedPasswordand deleted from.spec.If
passwordandhashedPasswordare specified at the same time, then password is used. This can be used to change the password.If you want to store a plaintext password in a Kubernetes secret, use the
storeCredsToSecretparameter.If
storeCredsToSecretis specified andpasswordis empty, then a random password is generated.Example:
password: '123' -
stringspec.users.role
A predefined role that the created user will be added to.
Supported values:
ro(read only)rw(read and write)monitoring(for metric collection)
Allowed values:
ro,rw,monitoringExample:
role: rw -
stringspec.users.storeCredsToSecret
Name of a Kubernetes Secret that the operator will save a plaintext password to.
The Secret will be created in the same namespace as the resource. Connection strings will be added for all created databases.
Example:
storeCredsToSecret: myuser-secret
-
-
-
objectstatusPostgresStatus defines the observed state of Postgres
-
array of objectsstatus.conditionsConditions is the schema for the conditions portion of the payload
-
stringstatus.conditions.lastTransitionTime
-
stringstatus.conditions.messageA human readable message indicating details about the transition.
-
integerstatus.conditions.observedGenerationObserved generation
-
stringstatus.conditions.reasonThe reason for the condition’s last transition.
-
stringstatus.conditions.statusStatus of the condition, one of True, False, Unknown.
-
stringstatus.conditions.typeType of condition.
-
-
stringstatus.configVersion
-
objectstatus.lastValidConfiguration
-
objectstatus.lastValidConfiguration.cluster
-
stringstatus.lastValidConfiguration.cluster.replication
Specifies the structure and type of replicas in the cluster.
Possible values:
Availability: Master node + 1 asynchronous replica.Consistency: Master node + 1 synchronous replica.ConsistencyAndAvailability: Master node + 1 synchronous replica + 1 asynchronous replica.
Default:
ConsistencyAndAvailabilityAllowed values:
Availability,Consistency,ConsistencyAndAvailability -
stringstatus.lastValidConfiguration.cluster.topology
Specifies the cluster deployment rules.
Possible values:
Zonal: Cluster is deployed within a single zone if possible.TransZonal: Cluster is deployed in separate zones if possible.Ignored: Cluster is deployed per the default Kubernetes scheduling rules. Only the deployment in several nodes is guaranteed.
Example:
topology: Ignored
-
-
objectstatus.lastValidConfiguration.configuration
-
objectstatus.lastValidConfiguration.instance
-
objectstatus.lastValidConfiguration.instance.cpu
Required value
-
integerstatus.lastValidConfiguration.instance.cpu.coreFraction
Required value
Multiplier for calculating CPUrequestsbased onlimits.Example:
coreFraction: 50 -
integerstatus.lastValidConfiguration.instance.cpu.cores
Required value
Number of CPU cores.
-
-
objectstatus.lastValidConfiguration.instance.memory
Required value
-
integer or stringstatus.lastValidConfiguration.instance.memory.size
Required value
Memory size.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
size: 1Gi
-
-
objectstatus.lastValidConfiguration.instance.persistentVolumeClaim
Required value
-
stringstatus.lastValidConfiguration.instance.persistentVolumeClaim.size
Required value
Default:
1GiExample:
size: 1Gi -
stringstatus.lastValidConfiguration.instance.persistentVolumeClaim.storageClassName
Name of the StorageClass used for PostgreSQL data storage.
If this parameter is not set, the default StorageClass in Kubernetes cluster will be used. This parameter is set only once when the resource is created and can’t be changed later.
Example:
storageClassName: local-path
-
-
-
stringstatus.lastValidConfiguration.observability
-
objectstatus.lastValidConfiguration.schedulingoutput type
-
objectstatus.lastValidConfiguration.scheduling.affinityAffinity is a group of affinity scheduling rules.
-
objectstatus.lastValidConfiguration.scheduling.affinity.nodeAffinityDescribes node affinity scheduling rules for the pod.
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecutionThe scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
-
objectstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preferenceA node selector term, associated with the corresponding weight.
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressionsA list of node selector requirements by node’s labels.
-
stringstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.keyThe label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFieldsA list of node selector requirements by node’s fields.
-
stringstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.keyThe label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
-
integerstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weightWeight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
-
-
objectstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecutionIf the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
Required value
Required. A list of node selector terms. The terms are ORed.-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressionsA list of node selector requirements by node’s labels.
-
stringstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.keyThe label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFieldsA list of node selector requirements by node’s fields.
-
stringstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.keyThe label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
-
-
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAffinityDescribes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecutionThe scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTermRequired. A pod affinity term, associated with the corresponding weight.
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelectorA label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressionsmatchExpressions is a list of label selector requirements. The requirements are ANDed.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.keykey is the label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operatoroperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.valuesvalues is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
-
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabelsmatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
-
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.matchLabelKeysMatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with
labelSelectoraskey in (value)to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set. -
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.mismatchLabelKeysMismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with
labelSelectoraskey notin (value)to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set. -
objectstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelectorA label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces.
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressionsmatchExpressions is a list of label selector requirements. The requirements are ANDed.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.keykey is the label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operatoroperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.valuesvalues is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
-
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabelsmatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
-
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespacesnamespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
Required value
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
-
-
integerstatus.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weightweight associated with matching the corresponding podAffinityTerm, in the range 1-100.
-
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecutionIf the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelectorA label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressionsmatchExpressions is a list of label selector requirements. The requirements are ANDed.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.keykey is the label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operatoroperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.valuesvalues is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
-
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabelsmatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
-
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeysMatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with
labelSelectoraskey in (value)to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set. -
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeysMismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with
labelSelectoraskey notin (value)to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set. -
objectstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelectorA label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces.
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressionsmatchExpressions is a list of label selector requirements. The requirements are ANDed.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.keykey is the label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operatoroperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.valuesvalues is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
-
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabelsmatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
-
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespacesnamespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKeyThis pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
-
-
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinityDescribes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecutionThe scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and subtracting “weight” from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTermRequired. A pod affinity term, associated with the corresponding weight.
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelectorA label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressionsmatchExpressions is a list of label selector requirements. The requirements are ANDed.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.keykey is the label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operatoroperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.valuesvalues is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
-
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabelsmatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
-
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.matchLabelKeysMatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with
labelSelectoraskey in (value)to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set. -
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.mismatchLabelKeysMismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with
labelSelectoraskey notin (value)to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set. -
objectstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelectorA label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces.
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressionsmatchExpressions is a list of label selector requirements. The requirements are ANDed.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.keykey is the label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operatoroperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.valuesvalues is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
-
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabelsmatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
-
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespacesnamespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
Required value
This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
-
-
integerstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weightweight associated with matching the corresponding podAffinityTerm, in the range 1-100.
-
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecutionIf the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelectorA label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressionsmatchExpressions is a list of label selector requirements. The requirements are ANDed.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.keykey is the label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operatoroperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.valuesvalues is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
-
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabelsmatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
-
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeysMatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with
labelSelectoraskey in (value)to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set. -
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeysMismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with
labelSelectoraskey notin (value)to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set. -
objectstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelectorA label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces.
-
array of objectsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressionsmatchExpressions is a list of label selector requirements. The requirements are ANDed.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.keykey is the label key that the selector applies to.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operatoroperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.valuesvalues is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
-
-
objectstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabelsmatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
-
-
array of stringsstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespacesnamespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.
-
stringstatus.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKeyThis pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
-
-
-
-
objectstatus.lastValidConfiguration.scheduling.nodeSelector
-
array of objectsstatus.lastValidConfiguration.scheduling.tolerations
-
stringstatus.lastValidConfiguration.scheduling.tolerations.effectEffect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
-
stringstatus.lastValidConfiguration.scheduling.tolerations.keyKey is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
-
stringstatus.lastValidConfiguration.scheduling.tolerations.operatorOperator represents a key’s relationship to the value. Valid operators are Exists, Equal, Lt, and Gt. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. Lt and Gt perform numeric comparisons (requires feature gate TaintTolerationComparisonOperators).
-
integerstatus.lastValidConfiguration.scheduling.tolerations.tolerationSecondsTolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
-
stringstatus.lastValidConfiguration.scheduling.tolerations.valueValue is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
-
-
array of stringsstatus.lastValidConfiguration.scheduling.warnings
-
-
stringstatus.lastValidConfiguration.type
-
-
PostgresClass
Scope: Cluster
Version: v1alpha1
-
stringapiVersion
Specifies the API version this object belongs to.
The server converts recognized versions to the latest internal representation and may reject unrecognized values.
For details on required fields in resources, refer to the Kubernetes documentation.
-
stringkind
String value that defines the type of resource this object represents.
The server may infer this value from the endpoint the client sends requests to.
This field is immutable. Must be specified in CamelCase.
For details on resource types, refer to the Kubernetes documentation.
-
objectmetadata
-
objectspecDefines the desired state of PostgresClass.
-
objectspec.configurationConfiguration parameters of Postgres Any parameters that will be specified here will be used as defaults in chained Postgres Custom Resources
-
integerspec.configuration.maxConnections
Determines the maximum number of concurrent connections to the database server. This parameter can only be set at server start.
PostgreSQL sizes certain resources based directly on the value of max_connections. Increasing its value leads to higher allocation of those resources, including shared memory.
Example:
maxConnections: 100 -
integer or string
Sets the amount of memory the database server uses for shared memory buffers. This setting must be at least 128 kilobytes. However, settings significantly higher than the minimum are usually needed for good performance. This parameter can only be set at server start.
If you have a dedicated database server with 1GB or more of RAM, a reasonable value for shared_buffers is 25% of the memory in your system. There are some workloads where even larger settings for shared_buffers are effective, but because PostgreSQL also relies on the operating system cache, it is unlikely that an allocation of more than 25% of RAM to shared_buffers will work better than a smaller amount. Larger settings for shared_buffers usually require a corresponding increase in max_wal_size, in order to spread out the process of writing large quantities of new or changed data over a longer period of time.
On systems with less than 1GB of RAM, a smaller percentage of RAM is appropriate, so as to leave adequate space for the operating system. Must be set with k8s based units as Gi/Mi/Ki/M/G
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
sharedBuffers: 250Mi -
integer or stringspec.configuration.walKeepSize
Specifies the minimum size of past WAL files kept in the pg_wal directory, in case a standby server needs to fetch them for streaming replication. If a standby server connected to the sending server falls behind by more than wal_keep_size megabytes, the sending server might remove a WAL segment still needed by the standby, in which case the replication connection will be terminated. Downstream connections will also eventually fail as a result. (However, the standby server can recover by fetching the segment from archive, if WAL archiving is in use.)
This sets only the minimum size of segments retained in pg_wal; the system might need to retain more segments for WAL archival or to recover from a checkpoint. I f wal_keep_size is zero (the default), the system doesn’t keep any extra segments for standby purposes, so the number of old WAL segments available to standby servers is a function of the location of the previous checkpoint and status of WAL archiving. Must be set with k8s based units as Gi/Mi/Ki/M/G
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
walKeepSize: 512Mi -
integer or stringspec.configuration.workMem
Sets the base maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files. If this value is specified without units, it is taken as kilobytes. The default value is four megabytes (4MB). Note that a complex query might perform several sort and hash operations at the same time, with each operation generally being allowed to use as much memory as this value specifies before it starts to write data into temporary files. Also, several running sessions could be doing such operations concurrently. Therefore, the total memory used could be many times the value of work_mem; it is necessary to keep this fact in mind when choosing the value. Sort operations are used for ORDER BY, DISTINCT, and merge joins. Hash tables are used in hash joins, hash-based aggregation, memoize nodes and hash-based processing of IN subqueries.
Hash-based operations are generally more sensitive to memory availability than equivalent sort-based operations. The memory limit for a hash table is computed by multiplying work_mem by hash_mem_multiplier. This makes it possible for hash-based operations to use an amount of memory that exceeds the usual work_mem base amount. Must be set with k8s based units as Gi/Mi/Ki/M/G
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
workMem: 4Mi
-
-
objectspec.nodeAffinityNodeAffinity of the postgres pods
-
array of objectsspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecutionThe scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
-
objectspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preferenceA node selector term, associated with the corresponding weight.
-
array of objectsspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressionsA list of node selector requirements by node’s labels.
-
stringspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.keyThe label key that the selector applies to.
-
stringspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
array of objectsspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFieldsA list of node selector requirements by node’s fields.
-
stringspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.keyThe label key that the selector applies to.
-
stringspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
-
integerspec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weightWeight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
-
-
objectspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecutionIf the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
-
array of objectsspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
Required value
Required. A list of node selector terms. The terms are ORed.-
array of objectsspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressionsA list of node selector requirements by node’s labels.
-
stringspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.keyThe label key that the selector applies to.
-
stringspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
array of objectsspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFieldsA list of node selector requirements by node’s fields.
-
stringspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.keyThe label key that the selector applies to.
-
stringspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operatorRepresents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
-
array of stringsspec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.valuesAn array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
-
-
-
-
-
objectspec.nodeSelectorAllows a PG cluster pods to be assigned to specified nodes. The same as in the
spec.nodeSelectorparameter for Kubernetes Pods. -
array of stringsspec.overridableConfiguration
Array of PostgreSQL configuration parameters that users are allowed to modify.
Values specified by the user take precedence and override the corresponding parameters in the
configurationsection.-
stringspec.overridableConfiguration.Element of the arrayConfigurationType is a type of configuration option
Allowed values:
maxConnections,sharedBuffers,workMem,walKeepSize
-
-
array of objectsspec.sizingPolicies
Required value
Array that defines a policy for allocating computational resources to PostgreSQL instances.
The
cores.min–cores.maxranges for different elements of the list must not overlap.-
array of integersspec.sizingPolicies.coreFractionsMultiplier for adjusting
requestsbased on setlimitsin cores.Example:
coreFractions: - 10 - 30 - 50 - 100 -
objectspec.sizingPolicies.coresDefines the allowed range for the number of CPU cores.
-
integerspec.sizingPolicies.cores.max
Required value
Upper limit for the allowed number of CPU cores.Example:
max: 6 -
integerspec.sizingPolicies.cores.min
Required value
Lower limit for the allowed number of CPU cores.Example:
min: 1
-
-
objectspec.sizingPolicies.memoryDefines the allowed memory range and step.
-
integer or stringspec.sizingPolicies.memory.max
Required value
Upper limit for the allowed memory amount.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
max: 5Gi -
integer or stringspec.sizingPolicies.memory.min
Required value
Lower limit for the allowed memory amount.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
min: 128Mi -
integer or stringspec.sizingPolicies.memory.step
Required value
Divider for the allowed memory value. The specified memory amount must be evenly divisible.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
step: 100Mi
-
-
-
array of objectsspec.tolerationsTolerations of the postgres pods.
-
stringspec.tolerations.effectEffect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
-
stringspec.tolerations.keyKey is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
-
stringspec.tolerations.operatorOperator represents a key’s relationship to the value. Valid operators are Exists, Equal, Lt, and Gt. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. Lt and Gt perform numeric comparisons (requires feature gate TaintTolerationComparisonOperators).
-
integerspec.tolerations.tolerationSecondsTolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
-
stringspec.tolerations.valueValue is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
-
-
objectspec.topology
Required value
Description of the permitted postgres Topology-
array of stringsspec.topology.allowedTopologies
Required value
AllowedTopologies is an array of the Topology types that allowed to use
- Zonal: cluster will be scheduled to one zone. If possible
- TransZonal: cluster will be scheduled to separated zone. If possible
- Ignored: cluster will be scheduled with default k8s schedule rules, only node separation will be provided
-
stringspec.topology.allowedTopologies.Element of the array
Allowed values:
Ignored,Zonal,TransZonal
-
array of stringsspec.topology.allowedZonesAllowedZones is an array of the Zones that allowed to use
Default:
[] -
stringspec.topology.defaultTopology
Required value
DefaultTopology that will be used by all the chained Postgres servicesAllowed values:
Ignored,Zonal,TransZonal
-
-
array of objectsspec.validations
Validation formulas for checking all setup configurations.
Only the CEL language is supported.
-
stringspec.validations.messageMessage that will be shown if a
rulefails.Example:
message: '''maxConnections should be greater than 100''\' -
stringspec.validations.rule
Rule for validating PostgreSQL configuration.
Available predefined variables:
configuration.maxConnectionsconfiguration.workMemconfiguration.sharedBuffersconfiguration.walKeepSizeinstance.memory.sizeinstance.cpu.cores
Example:
rule: configuration.maxConnections > 100
-
-
PostgresSnapshot
Scope: Namespaced
Version: v1alpha1
-
stringapiVersion
Specifies the API version this object belongs to.
The server converts recognized versions to the latest internal representation and may reject unrecognized values.
For details on required fields in resources, refer to the Kubernetes documentation.
-
stringkind
String value that defines the type of resource this object represents.
The server may infer this value from the endpoint the client sends requests to.
This field is immutable. Must be specified in CamelCase.
For details on resource types, refer to the Kubernetes documentation.
-
objectmetadata
-
objectspecDefines the desired state of PostgresSnapshot.
-
stringspec.postgresName
Required value
Name of the PostgreSQL managed service.
-
-
objectstatusPostgresSnapshotStatus defines the observed state of PostgresSnapshot
-
stringstatus.completedAtWhen the backup was terminated
-
stringstatus.errorThe detected error
-
stringstatus.phasephase of the current snapshot
-
objectstatus.postgresPostgres configuration
-
objectstatus.postgres.clusterCluster settings, including deployment topology and replication mode.
-
stringstatus.postgres.cluster.replication
Specifies the structure and type of replicas in the cluster.
Possible values:
Availability: Master node + 1 asynchronous replica.Consistency: Master node + 1 synchronous replica.ConsistencyAndAvailability: Master node + 1 synchronous replica + 1 asynchronous replica.
Default:
ConsistencyAndAvailabilityAllowed values:
Availability,Consistency,ConsistencyAndAvailability -
stringstatus.postgres.cluster.topology
Specifies the cluster deployment rules.
Possible values:
Zonal: Cluster is deployed within a single zone if possible.TransZonal: Cluster is deployed in separate zones if possible.Ignored: Cluster is deployed per the default Kubernetes scheduling rules. Only the deployment in several nodes is guaranteed.
Example:
topology: Ignored
-
-
objectstatus.postgres.configurationConfiguration parameters of Postgres
-
integerstatus.postgres.configuration.maxConnections
Determines the maximum number of concurrent connections to the database server. This parameter can only be set at server start.
PostgreSQL sizes certain resources based directly on the value of max_connections. Increasing its value leads to higher allocation of those resources, including shared memory.
Example:
maxConnections: 100 -
integer or string
Sets the amount of memory the database server uses for shared memory buffers. This setting must be at least 128 kilobytes. However, settings significantly higher than the minimum are usually needed for good performance. This parameter can only be set at server start.
If you have a dedicated database server with 1GB or more of RAM, a reasonable value for shared_buffers is 25% of the memory in your system. There are some workloads where even larger settings for shared_buffers are effective, but because PostgreSQL also relies on the operating system cache, it is unlikely that an allocation of more than 25% of RAM to shared_buffers will work better than a smaller amount. Larger settings for shared_buffers usually require a corresponding increase in max_wal_size, in order to spread out the process of writing large quantities of new or changed data over a longer period of time.
On systems with less than 1GB of RAM, a smaller percentage of RAM is appropriate, so as to leave adequate space for the operating system. Must be set with k8s based units as Gi/Mi/Ki/M/G
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
sharedBuffers: 250Mi -
integer or stringstatus.postgres.configuration.walKeepSize
Specifies the minimum size of past WAL files kept in the pg_wal directory, in case a standby server needs to fetch them for streaming replication. If a standby server connected to the sending server falls behind by more than wal_keep_size megabytes, the sending server might remove a WAL segment still needed by the standby, in which case the replication connection will be terminated. Downstream connections will also eventually fail as a result. (However, the standby server can recover by fetching the segment from archive, if WAL archiving is in use.)
This sets only the minimum size of segments retained in pg_wal; the system might need to retain more segments for WAL archival or to recover from a checkpoint. I f wal_keep_size is zero (the default), the system doesn’t keep any extra segments for standby purposes, so the number of old WAL segments available to standby servers is a function of the location of the previous checkpoint and status of WAL archiving. Must be set with k8s based units as Gi/Mi/Ki/M/G
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
walKeepSize: 512Mi -
integer or stringstatus.postgres.configuration.workMem
Sets the base maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files. If this value is specified without units, it is taken as kilobytes. The default value is four megabytes (4MB). Note that a complex query might perform several sort and hash operations at the same time, with each operation generally being allowed to use as much memory as this value specifies before it starts to write data into temporary files. Also, several running sessions could be doing such operations concurrently. Therefore, the total memory used could be many times the value of work_mem; it is necessary to keep this fact in mind when choosing the value. Sort operations are used for ORDER BY, DISTINCT, and merge joins. Hash tables are used in hash joins, hash-based aggregation, memoize nodes and hash-based processing of IN subqueries.
Hash-based operations are generally more sensitive to memory availability than equivalent sort-based operations. The memory limit for a hash table is computed by multiplying work_mem by hash_mem_multiplier. This makes it possible for hash-based operations to use an amount of memory that exceeds the usual work_mem base amount. Must be set with k8s based units as Gi/Mi/Ki/M/G
Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
workMem: 4Mi
-
-
objectstatus.postgres.dataSourceData source for initializing PostgreSQL from PostgresSnapshot or other sources.
-
objectstatus.postgres.dataSource.objectRef
Required value
-
stringstatus.postgres.dataSource.objectRef.kind
Required value
-
stringstatus.postgres.dataSource.objectRef.name
Required value
-
-
-
array of objectsstatus.postgres.databasesList of Postgres logical databases.
-
stringstatus.postgres.databases.nameName of the logical database to be created.
Example:
name: mydb
-
-
objectstatus.postgres.instance
Required value
Resource requirements of every created Pod.
For more information about Pod resource management, refer to the Kubernetes documentation.
-
objectstatus.postgres.instance.cpu
Required value
-
integerstatus.postgres.instance.cpu.coreFraction
Required value
Multiplier for calculating CPUrequestsbased onlimits.Example:
coreFraction: 50 -
integerstatus.postgres.instance.cpu.cores
Required value
Number of CPU cores.
-
-
objectstatus.postgres.instance.memory
Required value
-
integer or stringstatus.postgres.instance.memory.size
Required value
Memory size.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$Example:
size: 1Gi
-
-
objectstatus.postgres.instance.persistentVolumeClaim
Required value
-
stringstatus.postgres.instance.persistentVolumeClaim.size
Required value
Default:
1GiExample:
size: 1Gi -
stringstatus.postgres.instance.persistentVolumeClaim.storageClassName
Name of the StorageClass used for PostgreSQL data storage.
If this parameter is not set, the default StorageClass in Kubernetes cluster will be used. This parameter is set only once when the resource is created and can’t be changed later.
Example:
storageClassName: local-path
-
-
-
stringstatus.postgres.observabilityMonitoring mode, could be turned off,
Default:
EnabledAllowed values:
Enabled,Disabled,EnabledWithoutAlerts -
stringstatus.postgres.postgresClassName
Required value
Name of the PostgresClass resource used for settings validation.Default:
defaultExample:
postgresClassName: small -
objectstatus.postgres.tlsTLS configuration for the PostgreSQL server.
-
objectstatus.postgres.tls.certManager
Configuration of the
cert-managerfor TLS certificate management.Available only when
mode: CertManager.-
stringstatus.postgres.tls.certManager.clusterIssuerName
Name of the ClusterIssuer resource for
cert-manager.Only one field must be specified:
clusterIssuerNameorissuerName. -
stringstatus.postgres.tls.certManager.issuerName
Name of the Issuer resource for
cert-manager.Only one field must be specified:
clusterIssuerNameorissuerName.
-
-
objectstatus.postgres.tls.customCertificate
Configuration for custom TLS certificate management.
Available only when
mode: CustomCertificate.-
stringstatus.postgres.tls.customCertificate.serverCASecret
Required value
Name of the Secret containing the CA certificate for the PostgreSQL TLS server. -
stringstatus.postgres.tls.customCertificate.serverTLSSecret
Required value
Name of the Secret containing the PostgreSQL TLS certificate.
-
-
stringstatus.postgres.tls.mode
TLS certificate management mode.
Possible values:
CertManager: Usecert-managerfor certificate management (by default).CustomCertificate: Use custom certificates from Secret.K8s: Use Kubernetes CA for issuing certificates.
Default:
CertManagerAllowed values:
CertManager,CustomCertificate,K8s
-
-
stringstatus.postgres.typePostgreSQL cluster type.
Default:
ClusterAllowed values:
Cluster,Standalone -
array of objectsstatus.postgres.usersList of internal PostgreSQL users.
-
stringstatus.postgres.users.hashedPassword
Hashed password of the PostgreSQL role.
Supported formats:
- MD5;
- SCRAM-SHA-256.
If you specify a password here, it will be automatically replaced with an MD5 or SCRAM-SHA-256 hash.
Example:
hashedPassword: SCRAM-SHA-256$4096:9bdAkxfJ7tMWaVlcOSyKLc8uUbvVi+KBBYXWCE14maM=$g13sNwuKH0VsQnh43WqlQj8KPwS/2smQL1m0JzJkowI=:rImReuq6U7mD4KoJGIDelxsFVlXoB1stP8olJZr5Gl4= -
stringstatus.postgres.users.nameName of the user that will be created in PostgreSQL.
Example:
name: myuser -
stringstatus.postgres.users.password
Plaintext password of the PostgreSQL role.
When specified, a password will be transformed to a
hashedPasswordand deleted from.spec.If
passwordandhashedPasswordare specified at the same time, then password is used. This can be used to change the password.If you want to store a plaintext password in a Kubernetes secret, use the
storeCredsToSecretparameter.If
storeCredsToSecretis specified andpasswordis empty, then a random password is generated.Example:
password: '123' -
stringstatus.postgres.users.role
A predefined role that the created user will be added to.
Supported values:
ro(read only)rw(read and write)monitoring(for metric collection)
Allowed values:
ro,rw,monitoringExample:
role: rw -
stringstatus.postgres.users.storeCredsToSecret
Name of a Kubernetes Secret that the operator will save a plaintext password to.
The Secret will be created in the same namespace as the resource. Connection strings will be added for all created databases.
Example:
storeCredsToSecret: myuser-secret
-
-
-
stringstatus.startedAtWhen the backup was started
-
stringstatus.volumeSnapshotNameName of associated Volume Snapshot
-