-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(deps): update helm release cloudnative-pg to v0.23.0 #927
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Changes Default Valuesdiff -U 4 -r out-default-values/target/cnpg_cloudnative-pg_default-values.out out-default-values/pr/cnpg_cloudnative-pg_default-values.out
--- out-default-values/target/cnpg_cloudnative-pg_default-values.out 2024-12-25 02:43:13.666308739 +0000
+++ out-default-values/pr/cnpg_cloudnative-pg_default-values.out 2024-12-25 02:42:38.427373067 +0000
@@ -27,8 +27,9 @@
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
+namespaceOverride: ""
hostNetwork: false
dnsPolicy: ""
@@ -49,23 +50,29 @@
initialDelaySeconds: 3
readinessProbe:
initialDelaySeconds: 3
-# -- Operator configuration.
+# Operator configuration.
config:
# -- Specifies whether the secret should be created.
create: true
# -- The name of the configmap/secret to use.
name: cnpg-controller-manager-config
# -- Specifies whether it should be stored in a secret, instead of a configmap.
secret: false
+ # -- This option determines if the operator is responsible for observing
+ # events across the entire Kubernetes cluster or if its focus should be
+ # narrowed down to the specific namespace within which it has been deployed.
+ clusterWide: true
# -- The content of the configmap/secret, see
# https://cloudnative-pg.io/documentation/current/operator_conf/#available-options
# for all the available options.
data: {}
# INHERITED_ANNOTATIONS: categories
# INHERITED_LABELS: environment, workload, app
# WATCH_NAMESPACE: namespace-a,namespace-b
+ # -- The maximum number of concurrent reconciles. Defaults to 10.
+ maxConcurrentReconciles: 10
# -- Additinal arguments to be added to the operator's args list.
additionalArgs: []
@@ -125,8 +132,12 @@
# -- DO NOT CHANGE THE SERVICE NAME as it is currently used to generate the certificate
# and can not be configured
name: cnpg-webhook-service
port: 443
+ # -- Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
+ ipFamilyPolicy: ""
+ # -- Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
+ ipFamilies: []
resources: {}
# If you want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'. |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2024-12-25 02:43:13.366309313 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2024-12-25 02:42:38.110373727 +0000
@@ -18,12 +18,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
data:
{}
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2024-12-25 02:43:13.368309310 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2024-12-25 02:42:38.112373723 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2024-12-25 02:43:13.369309308 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2024-12-25 02:42:38.113373721 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
replicas: 2
selector:
@@ -18,31 +19,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e1b394c79d12b46a88f0ec15bd4ff9f57288096b30ede8c42a5e453654fafc74
+ checksum/rbac: cabfed0c96e0bd4e860b2a8853f1cf05e99cdaee11969c783c8ae9eb5e1c33dd
+ checksum/config: bc0e5b4779a40b773f10953a3992e18bb57ee071ee3e1f6294ec2bd17f4aadcc
+ checksum/monitoring-config: 5b6ba68484dcd4ea936fb112510c14b11c07e160b72daa418484c7b2be05acca
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2024-12-25 02:43:13.369309308 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2024-12-25 02:42:38.113373721 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
data:
queries:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2024-12-25 02:43:13.369309308 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2024-12-25 02:42:38.113373721 +0000
@@ -21,12 +21,12 @@
kind: MutatingWebhookConfiguration
metadata:
name: cnpg-mutating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2024-12-25 02:43:13.369309308 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2024-12-25 02:42:38.113373721 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
selector:
matchLabels: |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2024-12-25 02:43:13.369309308 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2024-12-25 02:42:38.113373721 +0000
@@ -3,30 +3,56 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -55,16 +81,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -91,16 +109,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -157,10 +167,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -171,17 +184,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -231,21 +246,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -255,21 +273,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -281,12 +302,12 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2024-12-25 02:43:13.369309308 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2024-12-25 02:42:38.113373721 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2024-12-25 02:43:13.369309308 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2024-12-25 02:42:38.113373721 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2024-12-25 02:43:13.532308996 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2024-12-25 02:42:38.287373359 +0000
@@ -18,13 +18,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
data:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2024-12-25 02:43:13.534308992 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2024-12-25 02:42:38.289373354 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources: |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2024-12-25 02:43:13.535308990 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2024-12-25 02:42:38.290373352 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
@@ -20,31 +21,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e2b0f5f145ef5f0ef1dcf5e7ec34b036d4fbe37a81484f318f9bc1bd4b382e43
+ checksum/rbac: 36babaa4bfacb1953eb38a63255a57f570f8d6c60f8dfbeea27ea78cc7f54e36
+ checksum/config: cbc4300d5cab251a15d922b94434d33c6c89834a8a763c93ed83408f71e589bc
+ checksum/monitoring-config: 16e06bd9f650e9edf483a12ee72236de2fc0d8aa7baf5644068f02d2e4d55529
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2024-12-25 02:43:13.535308990 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2024-12-25 02:42:38.290373352 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
annotations:
argocd.argoproj.io/sync-wave: "-2"
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2024-12-25 02:43:13.535308990 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2024-12-25 02:42:38.290373352 +0000
@@ -23,12 +23,12 @@
name: cnpg-mutating-webhook-configuration
annotations:
argocd.argoproj.io/sync-wave: "-2"
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2024-12-25 02:43:13.535308990 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2024-12-25 02:42:38.290373352 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2024-12-25 02:43:13.535308990 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2024-12-25 02:42:38.290373352 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
---
@@ -18,19 +19,44 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -59,16 +85,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -95,16 +113,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -161,10 +171,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -175,17 +188,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -235,21 +250,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -259,21 +277,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -285,13 +306,15 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
+ annotations:
+ argocd.argoproj.io/sync-wave: "-2"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: release-name-cloudnative-pg
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2024-12-25 02:43:13.535308990 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2024-12-25 02:42:38.290373352 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2024-12-25 02:43:13.535308990 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2024-12-25 02:42:38.290373352 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1 |
Changes Default Valuesdiff -U 4 -r out-default-values/target/cnpg_cloudnative-pg_default-values.out out-default-values/pr/cnpg_cloudnative-pg_default-values.out
--- out-default-values/target/cnpg_cloudnative-pg_default-values.out 2024-12-31 06:23:18.189280073 +0000
+++ out-default-values/pr/cnpg_cloudnative-pg_default-values.out 2024-12-31 06:22:49.829539752 +0000
@@ -27,8 +27,9 @@
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
+namespaceOverride: ""
hostNetwork: false
dnsPolicy: ""
@@ -49,23 +50,29 @@
initialDelaySeconds: 3
readinessProbe:
initialDelaySeconds: 3
-# -- Operator configuration.
+# Operator configuration.
config:
# -- Specifies whether the secret should be created.
create: true
# -- The name of the configmap/secret to use.
name: cnpg-controller-manager-config
# -- Specifies whether it should be stored in a secret, instead of a configmap.
secret: false
+ # -- This option determines if the operator is responsible for observing
+ # events across the entire Kubernetes cluster or if its focus should be
+ # narrowed down to the specific namespace within which it has been deployed.
+ clusterWide: true
# -- The content of the configmap/secret, see
# https://cloudnative-pg.io/documentation/current/operator_conf/#available-options
# for all the available options.
data: {}
# INHERITED_ANNOTATIONS: categories
# INHERITED_LABELS: environment, workload, app
# WATCH_NAMESPACE: namespace-a,namespace-b
+ # -- The maximum number of concurrent reconciles. Defaults to 10.
+ maxConcurrentReconciles: 10
# -- Additinal arguments to be added to the operator's args list.
additionalArgs: []
@@ -125,8 +132,12 @@
# -- DO NOT CHANGE THE SERVICE NAME as it is currently used to generate the certificate
# and can not be configured
name: cnpg-webhook-service
port: 443
+ # -- Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
+ ipFamilyPolicy: ""
+ # -- Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
+ ipFamilies: []
resources: {}
# If you want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'. |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2024-12-31 06:23:17.884283112 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2024-12-31 06:22:49.520542900 +0000
@@ -18,12 +18,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
data:
{}
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2024-12-31 06:23:17.886283092 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2024-12-31 06:22:49.522542880 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2024-12-31 06:23:17.886283092 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2024-12-31 06:22:49.522542880 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
replicas: 2
selector:
@@ -18,31 +19,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e1b394c79d12b46a88f0ec15bd4ff9f57288096b30ede8c42a5e453654fafc74
+ checksum/rbac: cabfed0c96e0bd4e860b2a8853f1cf05e99cdaee11969c783c8ae9eb5e1c33dd
+ checksum/config: bc0e5b4779a40b773f10953a3992e18bb57ee071ee3e1f6294ec2bd17f4aadcc
+ checksum/monitoring-config: 5b6ba68484dcd4ea936fb112510c14b11c07e160b72daa418484c7b2be05acca
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2024-12-31 06:23:17.886283092 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2024-12-31 06:22:49.522542880 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
data:
queries:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2024-12-31 06:23:17.886283092 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2024-12-31 06:22:49.522542880 +0000
@@ -21,12 +21,12 @@
kind: MutatingWebhookConfiguration
metadata:
name: cnpg-mutating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2024-12-31 06:23:17.886283092 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2024-12-31 06:22:49.522542880 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
selector:
matchLabels: |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2024-12-31 06:23:17.886283092 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2024-12-31 06:22:49.522542880 +0000
@@ -3,30 +3,56 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -55,16 +81,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -91,16 +109,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -157,10 +167,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -171,17 +184,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -231,21 +246,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -255,21 +273,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -281,12 +302,12 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2024-12-31 06:23:17.886283092 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2024-12-31 06:22:49.522542880 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2024-12-31 06:23:17.886283092 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2024-12-31 06:22:49.522542880 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2024-12-31 06:23:18.054281418 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2024-12-31 06:22:49.693541138 +0000
@@ -18,13 +18,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
data:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2024-12-31 06:23:18.057281388 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2024-12-31 06:22:49.694541128 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources: |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2024-12-31 06:23:18.057281388 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2024-12-31 06:22:49.695541117 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
@@ -20,31 +21,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e2b0f5f145ef5f0ef1dcf5e7ec34b036d4fbe37a81484f318f9bc1bd4b382e43
+ checksum/rbac: 36babaa4bfacb1953eb38a63255a57f570f8d6c60f8dfbeea27ea78cc7f54e36
+ checksum/config: cbc4300d5cab251a15d922b94434d33c6c89834a8a763c93ed83408f71e589bc
+ checksum/monitoring-config: 16e06bd9f650e9edf483a12ee72236de2fc0d8aa7baf5644068f02d2e4d55529
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2024-12-31 06:23:18.057281388 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2024-12-31 06:22:49.695541117 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
annotations:
argocd.argoproj.io/sync-wave: "-2"
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2024-12-31 06:23:18.057281388 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2024-12-31 06:22:49.695541117 +0000
@@ -23,12 +23,12 @@
name: cnpg-mutating-webhook-configuration
annotations:
argocd.argoproj.io/sync-wave: "-2"
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2024-12-31 06:23:18.057281388 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2024-12-31 06:22:49.695541117 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2024-12-31 06:23:18.057281388 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2024-12-31 06:22:49.695541117 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
---
@@ -18,19 +19,44 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -59,16 +85,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -95,16 +113,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -161,10 +171,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -175,17 +188,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -235,21 +250,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -259,21 +277,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -285,13 +306,15 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
+ annotations:
+ argocd.argoproj.io/sync-wave: "-2"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: release-name-cloudnative-pg
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2024-12-31 06:23:18.057281388 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2024-12-31 06:22:49.695541117 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2024-12-31 06:23:18.057281388 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2024-12-31 06:22:49.695541117 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1 |
7308c1d
to
e4f3edc
Compare
Changes Default Valuesdiff -U 4 -r out-default-values/target/cnpg_cloudnative-pg_default-values.out out-default-values/pr/cnpg_cloudnative-pg_default-values.out
--- out-default-values/target/cnpg_cloudnative-pg_default-values.out 2025-01-01 13:53:20.582372829 +0000
+++ out-default-values/pr/cnpg_cloudnative-pg_default-values.out 2025-01-01 13:52:46.778006328 +0000
@@ -27,8 +27,9 @@
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
+namespaceOverride: ""
hostNetwork: false
dnsPolicy: ""
@@ -49,23 +50,29 @@
initialDelaySeconds: 3
readinessProbe:
initialDelaySeconds: 3
-# -- Operator configuration.
+# Operator configuration.
config:
# -- Specifies whether the secret should be created.
create: true
# -- The name of the configmap/secret to use.
name: cnpg-controller-manager-config
# -- Specifies whether it should be stored in a secret, instead of a configmap.
secret: false
+ # -- This option determines if the operator is responsible for observing
+ # events across the entire Kubernetes cluster or if its focus should be
+ # narrowed down to the specific namespace within which it has been deployed.
+ clusterWide: true
# -- The content of the configmap/secret, see
# https://cloudnative-pg.io/documentation/current/operator_conf/#available-options
# for all the available options.
data: {}
# INHERITED_ANNOTATIONS: categories
# INHERITED_LABELS: environment, workload, app
# WATCH_NAMESPACE: namespace-a,namespace-b
+ # -- The maximum number of concurrent reconciles. Defaults to 10.
+ maxConcurrentReconciles: 10
# -- Additinal arguments to be added to the operator's args list.
additionalArgs: []
@@ -125,8 +132,12 @@
# -- DO NOT CHANGE THE SERVICE NAME as it is currently used to generate the certificate
# and can not be configured
name: cnpg-webhook-service
port: 443
+ # -- Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
+ ipFamilyPolicy: ""
+ # -- Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
+ ipFamilies: []
resources: {}
# If you want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'. |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-01 13:53:20.284369857 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-01 13:52:46.469003085 +0000
@@ -18,12 +18,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
data:
{}
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-01 13:53:20.287369887 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-01 13:52:46.472003117 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-01 13:53:20.287369887 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-01 13:52:46.472003117 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
replicas: 2
selector:
@@ -18,31 +19,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e1b394c79d12b46a88f0ec15bd4ff9f57288096b30ede8c42a5e453654fafc74
+ checksum/rbac: cabfed0c96e0bd4e860b2a8853f1cf05e99cdaee11969c783c8ae9eb5e1c33dd
+ checksum/config: bc0e5b4779a40b773f10953a3992e18bb57ee071ee3e1f6294ec2bd17f4aadcc
+ checksum/monitoring-config: 5b6ba68484dcd4ea936fb112510c14b11c07e160b72daa418484c7b2be05acca
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-01 13:53:20.287369887 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-01 13:52:46.472003117 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
data:
queries:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-01 13:53:20.287369887 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-01 13:52:46.472003117 +0000
@@ -21,12 +21,12 @@
kind: MutatingWebhookConfiguration
metadata:
name: cnpg-mutating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-01 13:53:20.287369887 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-01 13:52:46.472003117 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
selector:
matchLabels: |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-01 13:53:20.287369887 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-01 13:52:46.472003117 +0000
@@ -3,30 +3,56 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -55,16 +81,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -91,16 +109,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -157,10 +167,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -171,17 +184,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -231,21 +246,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -255,21 +273,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -281,12 +302,12 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-01 13:53:20.287369887 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-01 13:52:46.472003117 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-01 13:53:20.287369887 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-01 13:52:46.472003117 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-01 13:53:20.451371523 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-01 13:52:46.645004932 +0000
@@ -18,13 +18,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
data:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-01 13:53:20.453371543 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-01 13:52:46.647004953 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources: |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-01 13:53:20.454371553 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-01 13:52:46.648004964 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
@@ -20,31 +21,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e2b0f5f145ef5f0ef1dcf5e7ec34b036d4fbe37a81484f318f9bc1bd4b382e43
+ checksum/rbac: 36babaa4bfacb1953eb38a63255a57f570f8d6c60f8dfbeea27ea78cc7f54e36
+ checksum/config: cbc4300d5cab251a15d922b94434d33c6c89834a8a763c93ed83408f71e589bc
+ checksum/monitoring-config: 16e06bd9f650e9edf483a12ee72236de2fc0d8aa7baf5644068f02d2e4d55529
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-01 13:53:20.454371553 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-01 13:52:46.648004964 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
annotations:
argocd.argoproj.io/sync-wave: "-2"
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-01 13:53:20.454371553 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-01 13:52:46.648004964 +0000
@@ -23,12 +23,12 @@
name: cnpg-mutating-webhook-configuration
annotations:
argocd.argoproj.io/sync-wave: "-2"
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-01 13:53:20.454371553 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-01 13:52:46.648004964 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-01 13:53:20.454371553 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-01 13:52:46.648004964 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
---
@@ -18,19 +19,44 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -59,16 +85,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -95,16 +113,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -161,10 +171,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -175,17 +188,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -235,21 +250,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -259,21 +277,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -285,13 +306,15 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
+ annotations:
+ argocd.argoproj.io/sync-wave: "-2"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: release-name-cloudnative-pg
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-01 13:53:20.454371553 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-01 13:52:46.648004964 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-01 13:53:20.454371553 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-01 13:52:46.648004964 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1 |
Changes Default Valuesdiff -U 4 -r out-default-values/target/cnpg_cloudnative-pg_default-values.out out-default-values/pr/cnpg_cloudnative-pg_default-values.out
--- out-default-values/target/cnpg_cloudnative-pg_default-values.out 2025-01-10 22:22:21.284199735 +0000
+++ out-default-values/pr/cnpg_cloudnative-pg_default-values.out 2025-01-10 22:21:46.046944751 +0000
@@ -27,8 +27,9 @@
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
+namespaceOverride: ""
hostNetwork: false
dnsPolicy: ""
@@ -49,23 +50,29 @@
initialDelaySeconds: 3
readinessProbe:
initialDelaySeconds: 3
-# -- Operator configuration.
+# Operator configuration.
config:
# -- Specifies whether the secret should be created.
create: true
# -- The name of the configmap/secret to use.
name: cnpg-controller-manager-config
# -- Specifies whether it should be stored in a secret, instead of a configmap.
secret: false
+ # -- This option determines if the operator is responsible for observing
+ # events across the entire Kubernetes cluster or if its focus should be
+ # narrowed down to the specific namespace within which it has been deployed.
+ clusterWide: true
# -- The content of the configmap/secret, see
# https://cloudnative-pg.io/documentation/current/operator_conf/#available-options
# for all the available options.
data: {}
# INHERITED_ANNOTATIONS: categories
# INHERITED_LABELS: environment, workload, app
# WATCH_NAMESPACE: namespace-a,namespace-b
+ # -- The maximum number of concurrent reconciles. Defaults to 10.
+ maxConcurrentReconciles: 10
# -- Additinal arguments to be added to the operator's args list.
additionalArgs: []
@@ -125,8 +132,12 @@
# -- DO NOT CHANGE THE SERVICE NAME as it is currently used to generate the certificate
# and can not be configured
name: cnpg-webhook-service
port: 443
+ # -- Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
+ ipFamilyPolicy: ""
+ # -- Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
+ ipFamilies: []
resources: {}
# If you want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'. |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-10 22:22:20.979197475 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-10 22:21:45.726942394 +0000
@@ -18,12 +18,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
data:
{}
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-10 22:22:20.982197498 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-10 22:21:45.729942417 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-10 22:22:20.982197498 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-10 22:21:45.729942417 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
replicas: 2
selector:
@@ -18,31 +19,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e1b394c79d12b46a88f0ec15bd4ff9f57288096b30ede8c42a5e453654fafc74
+ checksum/rbac: cabfed0c96e0bd4e860b2a8853f1cf05e99cdaee11969c783c8ae9eb5e1c33dd
+ checksum/config: bc0e5b4779a40b773f10953a3992e18bb57ee071ee3e1f6294ec2bd17f4aadcc
+ checksum/monitoring-config: 5b6ba68484dcd4ea936fb112510c14b11c07e160b72daa418484c7b2be05acca
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-10 22:22:20.982197498 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-10 22:21:45.730942424 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
data:
queries:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-10 22:22:20.982197498 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-10 22:21:45.730942424 +0000
@@ -21,12 +21,12 @@
kind: MutatingWebhookConfiguration
metadata:
name: cnpg-mutating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-10 22:22:20.982197498 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-10 22:21:45.730942424 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
selector:
matchLabels: |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-10 22:22:20.982197498 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-10 22:21:45.730942424 +0000
@@ -3,30 +3,56 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -55,16 +81,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -91,16 +109,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -157,10 +167,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -171,17 +184,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -231,21 +246,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -255,21 +273,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -281,12 +302,12 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-10 22:22:20.982197498 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-10 22:21:45.730942424 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-10 22:22:20.982197498 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-10 22:21:45.730942424 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-10 22:22:21.147198720 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-10 22:21:45.901943683 +0000
@@ -18,13 +18,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
data:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-10 22:22:21.149198735 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-10 22:21:45.904943705 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources: |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-10 22:22:21.149198735 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-10 22:21:45.905943712 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
@@ -20,31 +21,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e2b0f5f145ef5f0ef1dcf5e7ec34b036d4fbe37a81484f318f9bc1bd4b382e43
+ checksum/rbac: 36babaa4bfacb1953eb38a63255a57f570f8d6c60f8dfbeea27ea78cc7f54e36
+ checksum/config: cbc4300d5cab251a15d922b94434d33c6c89834a8a763c93ed83408f71e589bc
+ checksum/monitoring-config: 16e06bd9f650e9edf483a12ee72236de2fc0d8aa7baf5644068f02d2e4d55529
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-10 22:22:21.149198735 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-10 22:21:45.905943712 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
annotations:
argocd.argoproj.io/sync-wave: "-2"
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-10 22:22:21.149198735 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-10 22:21:45.905943712 +0000
@@ -23,12 +23,12 @@
name: cnpg-mutating-webhook-configuration
annotations:
argocd.argoproj.io/sync-wave: "-2"
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-10 22:22:21.149198735 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-10 22:21:45.905943712 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-10 22:22:21.149198735 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-10 22:21:45.905943712 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
---
@@ -18,19 +19,44 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -59,16 +85,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -95,16 +113,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -161,10 +171,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -175,17 +188,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -235,21 +250,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -259,21 +277,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -285,13 +306,15 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
+ annotations:
+ argocd.argoproj.io/sync-wave: "-2"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: release-name-cloudnative-pg
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-10 22:22:21.149198735 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-10 22:21:45.905943712 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-10 22:22:21.149198735 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-10 22:21:45.905943712 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1 |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-22 15:08:48.514197765 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-22 15:08:18.277952890 +0000
@@ -18,12 +18,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
data:
{}
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-22 15:08:48.515197772 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-22 15:08:18.280952901 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-22 15:08:48.516197778 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-22 15:08:18.280952901 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
replicas: 2
selector:
@@ -18,31 +19,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e1b394c79d12b46a88f0ec15bd4ff9f57288096b30ede8c42a5e453654fafc74
+ checksum/rbac: cabfed0c96e0bd4e860b2a8853f1cf05e99cdaee11969c783c8ae9eb5e1c33dd
+ checksum/config: bc0e5b4779a40b773f10953a3992e18bb57ee071ee3e1f6294ec2bd17f4aadcc
+ checksum/monitoring-config: 5b6ba68484dcd4ea936fb112510c14b11c07e160b72daa418484c7b2be05acca
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-22 15:08:48.516197778 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-22 15:08:18.280952901 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
data:
queries:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-22 15:08:48.516197778 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-22 15:08:18.280952901 +0000
@@ -21,12 +21,12 @@
kind: MutatingWebhookConfiguration
metadata:
name: cnpg-mutating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-22 15:08:48.516197778 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-22 15:08:18.280952901 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
selector:
matchLabels: |
Changes Default Valuesdiff -U 4 -r out-default-values/target/cnpg_cloudnative-pg_default-values.out out-default-values/pr/cnpg_cloudnative-pg_default-values.out
--- out-default-values/target/cnpg_cloudnative-pg_default-values.out 2025-01-22 15:08:48.814199663 +0000
+++ out-default-values/pr/cnpg_cloudnative-pg_default-values.out 2025-01-22 15:08:18.586954092 +0000
@@ -27,8 +27,9 @@
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
+namespaceOverride: ""
hostNetwork: false
dnsPolicy: ""
@@ -49,23 +50,29 @@
initialDelaySeconds: 3
readinessProbe:
initialDelaySeconds: 3
-# -- Operator configuration.
+# Operator configuration.
config:
# -- Specifies whether the secret should be created.
create: true
# -- The name of the configmap/secret to use.
name: cnpg-controller-manager-config
# -- Specifies whether it should be stored in a secret, instead of a configmap.
secret: false
+ # -- This option determines if the operator is responsible for observing
+ # events across the entire Kubernetes cluster or if its focus should be
+ # narrowed down to the specific namespace within which it has been deployed.
+ clusterWide: true
# -- The content of the configmap/secret, see
# https://cloudnative-pg.io/documentation/current/operator_conf/#available-options
# for all the available options.
data: {}
# INHERITED_ANNOTATIONS: categories
# INHERITED_LABELS: environment, workload, app
# WATCH_NAMESPACE: namespace-a,namespace-b
+ # -- The maximum number of concurrent reconciles. Defaults to 10.
+ maxConcurrentReconciles: 10
# -- Additinal arguments to be added to the operator's args list.
additionalArgs: []
@@ -125,8 +132,12 @@
# -- DO NOT CHANGE THE SERVICE NAME as it is currently used to generate the certificate
# and can not be configured
name: cnpg-webhook-service
port: 443
+ # -- Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
+ ipFamilyPolicy: ""
+ # -- Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
+ ipFamilies: []
resources: {}
# If you want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'. |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-22 15:08:48.516197778 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-22 15:08:18.280952901 +0000
@@ -3,30 +3,56 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -55,16 +81,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -91,16 +109,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -157,10 +167,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -171,17 +184,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -231,21 +246,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -255,21 +273,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -281,12 +302,12 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-22 15:08:48.516197778 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-22 15:08:18.280952901 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-22 15:08:48.516197778 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-22 15:08:18.280952901 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-22 15:08:48.682198828 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-22 15:08:18.452953571 +0000
@@ -18,13 +18,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
data:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-22 15:08:48.685198847 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-22 15:08:18.454953578 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources: |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-22 15:08:48.685198847 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-22 15:08:18.454953578 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
@@ -20,31 +21,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e2b0f5f145ef5f0ef1dcf5e7ec34b036d4fbe37a81484f318f9bc1bd4b382e43
+ checksum/rbac: 36babaa4bfacb1953eb38a63255a57f570f8d6c60f8dfbeea27ea78cc7f54e36
+ checksum/config: cbc4300d5cab251a15d922b94434d33c6c89834a8a763c93ed83408f71e589bc
+ checksum/monitoring-config: 16e06bd9f650e9edf483a12ee72236de2fc0d8aa7baf5644068f02d2e4d55529
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-22 15:08:48.685198847 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-22 15:08:18.454953578 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
annotations:
argocd.argoproj.io/sync-wave: "-2"
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-22 15:08:48.685198847 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-22 15:08:18.454953578 +0000
@@ -23,12 +23,12 @@
name: cnpg-mutating-webhook-configuration
annotations:
argocd.argoproj.io/sync-wave: "-2"
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-22 15:08:48.685198847 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-22 15:08:18.455953582 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-22 15:08:48.685198847 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-22 15:08:18.454953578 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
---
@@ -18,19 +19,44 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -59,16 +85,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -95,16 +113,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -161,10 +171,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -175,17 +188,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -235,21 +250,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -259,21 +277,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -285,13 +306,15 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
+ annotations:
+ argocd.argoproj.io/sync-wave: "-2"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: release-name-cloudnative-pg
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-22 15:08:48.685198847 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-22 15:08:18.454953578 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-22 15:08:48.685198847 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-22 15:08:18.455953582 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1 |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-22 21:29:46.685541668 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-22 21:29:15.972664459 +0000
@@ -18,12 +18,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
data:
{}
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-22 21:29:46.688541652 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-22 21:29:15.975664459 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-22 21:29:46.688541652 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-22 21:29:15.975664459 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
replicas: 2
selector:
@@ -18,31 +19,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e1b394c79d12b46a88f0ec15bd4ff9f57288096b30ede8c42a5e453654fafc74
+ checksum/rbac: cabfed0c96e0bd4e860b2a8853f1cf05e99cdaee11969c783c8ae9eb5e1c33dd
+ checksum/config: bc0e5b4779a40b773f10953a3992e18bb57ee071ee3e1f6294ec2bd17f4aadcc
+ checksum/monitoring-config: 5b6ba68484dcd4ea936fb112510c14b11c07e160b72daa418484c7b2be05acca
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-22 21:29:46.688541652 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-22 21:29:15.975664459 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
data:
queries:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-22 21:29:46.689541646 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-22 21:29:15.976664459 +0000
@@ -21,12 +21,12 @@
kind: MutatingWebhookConfiguration
metadata:
name: cnpg-mutating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-22 21:29:46.689541646 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-22 21:29:15.976664459 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
selector:
matchLabels: |
Changes Default Valuesdiff -U 4 -r out-default-values/target/cnpg_cloudnative-pg_default-values.out out-default-values/pr/cnpg_cloudnative-pg_default-values.out
--- out-default-values/target/cnpg_cloudnative-pg_default-values.out 2025-01-22 21:29:46.989540004 +0000
+++ out-default-values/pr/cnpg_cloudnative-pg_default-values.out 2025-01-22 21:29:16.288664484 +0000
@@ -27,8 +27,9 @@
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
+namespaceOverride: ""
hostNetwork: false
dnsPolicy: ""
@@ -49,23 +50,29 @@
initialDelaySeconds: 3
readinessProbe:
initialDelaySeconds: 3
-# -- Operator configuration.
+# Operator configuration.
config:
# -- Specifies whether the secret should be created.
create: true
# -- The name of the configmap/secret to use.
name: cnpg-controller-manager-config
# -- Specifies whether it should be stored in a secret, instead of a configmap.
secret: false
+ # -- This option determines if the operator is responsible for observing
+ # events across the entire Kubernetes cluster or if its focus should be
+ # narrowed down to the specific namespace within which it has been deployed.
+ clusterWide: true
# -- The content of the configmap/secret, see
# https://cloudnative-pg.io/documentation/current/operator_conf/#available-options
# for all the available options.
data: {}
# INHERITED_ANNOTATIONS: categories
# INHERITED_LABELS: environment, workload, app
# WATCH_NAMESPACE: namespace-a,namespace-b
+ # -- The maximum number of concurrent reconciles. Defaults to 10.
+ maxConcurrentReconciles: 10
# -- Additinal arguments to be added to the operator's args list.
additionalArgs: []
@@ -125,8 +132,12 @@
# -- DO NOT CHANGE THE SERVICE NAME as it is currently used to generate the certificate
# and can not be configured
name: cnpg-webhook-service
port: 443
+ # -- Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
+ ipFamilyPolicy: ""
+ # -- Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
+ ipFamilies: []
resources: {}
# If you want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'. |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-22 21:29:46.688541652 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-22 21:29:15.975664459 +0000
@@ -3,30 +3,56 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -55,16 +81,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -91,16 +109,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -157,10 +167,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -171,17 +184,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -231,21 +246,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -255,21 +273,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -281,12 +302,12 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-22 21:29:46.688541652 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-22 21:29:15.975664459 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-22 21:29:46.689541646 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-22 21:29:15.976664459 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-22 21:29:46.853540749 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-22 21:29:16.147664473 +0000
@@ -18,13 +18,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
data:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-22 21:29:46.856540732 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-22 21:29:16.149664473 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources: |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-22 21:29:46.856540732 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-22 21:29:16.150664473 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
@@ -20,31 +21,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e2b0f5f145ef5f0ef1dcf5e7ec34b036d4fbe37a81484f318f9bc1bd4b382e43
+ checksum/rbac: 36babaa4bfacb1953eb38a63255a57f570f8d6c60f8dfbeea27ea78cc7f54e36
+ checksum/config: cbc4300d5cab251a15d922b94434d33c6c89834a8a763c93ed83408f71e589bc
+ checksum/monitoring-config: 16e06bd9f650e9edf483a12ee72236de2fc0d8aa7baf5644068f02d2e4d55529
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-22 21:29:46.856540732 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-22 21:29:16.150664473 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
annotations:
argocd.argoproj.io/sync-wave: "-2"
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-22 21:29:46.856540732 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-22 21:29:16.150664473 +0000
@@ -23,12 +23,12 @@
name: cnpg-mutating-webhook-configuration
annotations:
argocd.argoproj.io/sync-wave: "-2"
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-22 21:29:46.857540727 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-22 21:29:16.150664473 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-22 21:29:46.856540732 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-22 21:29:16.150664473 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
---
@@ -18,19 +19,44 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -59,16 +85,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -95,16 +113,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -161,10 +171,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -175,17 +188,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -235,21 +250,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -259,21 +277,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -285,13 +306,15 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
+ annotations:
+ argocd.argoproj.io/sync-wave: "-2"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: release-name-cloudnative-pg
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-22 21:29:46.856540732 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-22 21:29:16.150664473 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-22 21:29:46.857540727 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-22 21:29:16.150664473 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1 |
15f1ea6
to
4954603
Compare
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-23 15:44:15.192721571 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-23 15:43:44.696800845 +0000
@@ -18,12 +18,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
data:
{}
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-23 15:44:15.194721567 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-23 15:43:44.698800837 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-23 15:44:15.194721567 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-23 15:43:44.699800833 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
replicas: 2
selector:
@@ -18,31 +19,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e1b394c79d12b46a88f0ec15bd4ff9f57288096b30ede8c42a5e453654fafc74
+ checksum/rbac: cabfed0c96e0bd4e860b2a8853f1cf05e99cdaee11969c783c8ae9eb5e1c33dd
+ checksum/config: bc0e5b4779a40b773f10953a3992e18bb57ee071ee3e1f6294ec2bd17f4aadcc
+ checksum/monitoring-config: 5b6ba68484dcd4ea936fb112510c14b11c07e160b72daa418484c7b2be05acca
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-23 15:44:15.195721564 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-23 15:43:44.699800833 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
data:
queries:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-23 15:44:15.195721564 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-23 15:43:44.699800833 +0000
@@ -21,12 +21,12 @@
kind: MutatingWebhookConfiguration
metadata:
name: cnpg-mutating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-23 15:44:15.195721564 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-23 15:43:44.699800833 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
selector:
matchLabels: |
Changes Default Valuesdiff -U 4 -r out-default-values/target/cnpg_cloudnative-pg_default-values.out out-default-values/pr/cnpg_cloudnative-pg_default-values.out
--- out-default-values/target/cnpg_cloudnative-pg_default-values.out 2025-01-23 15:44:15.491720893 +0000
+++ out-default-values/pr/cnpg_cloudnative-pg_default-values.out 2025-01-23 15:43:45.021799549 +0000
@@ -27,8 +27,9 @@
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
+namespaceOverride: ""
hostNetwork: false
dnsPolicy: ""
@@ -49,23 +50,29 @@
initialDelaySeconds: 3
readinessProbe:
initialDelaySeconds: 3
-# -- Operator configuration.
+# Operator configuration.
config:
# -- Specifies whether the secret should be created.
create: true
# -- The name of the configmap/secret to use.
name: cnpg-controller-manager-config
# -- Specifies whether it should be stored in a secret, instead of a configmap.
secret: false
+ # -- This option determines if the operator is responsible for observing
+ # events across the entire Kubernetes cluster or if its focus should be
+ # narrowed down to the specific namespace within which it has been deployed.
+ clusterWide: true
# -- The content of the configmap/secret, see
# https://cloudnative-pg.io/documentation/current/operator_conf/#available-options
# for all the available options.
data: {}
# INHERITED_ANNOTATIONS: categories
# INHERITED_LABELS: environment, workload, app
# WATCH_NAMESPACE: namespace-a,namespace-b
+ # -- The maximum number of concurrent reconciles. Defaults to 10.
+ maxConcurrentReconciles: 10
# -- Additinal arguments to be added to the operator's args list.
additionalArgs: []
@@ -125,8 +132,12 @@
# -- DO NOT CHANGE THE SERVICE NAME as it is currently used to generate the certificate
# and can not be configured
name: cnpg-webhook-service
port: 443
+ # -- Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
+ ipFamilyPolicy: ""
+ # -- Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
+ ipFamilies: []
resources: {}
# If you want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'. |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-23 15:44:15.195721564 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-23 15:43:44.699800833 +0000
@@ -3,30 +3,56 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -55,16 +81,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -91,16 +109,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -157,10 +167,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -171,17 +184,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -231,21 +246,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -255,21 +273,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -281,12 +302,12 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-23 15:44:15.195721564 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-23 15:43:44.699800833 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
diff -U 4 -r out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-23 15:44:15.195721564 +0000
+++ out/pr/cnpg/values-demo-metalstack.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-23 15:43:44.699800833 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-23 15:44:15.361721188 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/config.yaml 2025-01-23 15:43:44.882800103 +0000
@@ -18,13 +18,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-controller-manager-config
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
data:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-23 15:44:15.362721186 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml 2025-01-23 15:43:44.884800095 +0000
@@ -3,9 +3,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: backups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -319,8 +319,13 @@
type: boolean
phase:
description: The last backup status
type: string
+ pluginMetadata:
+ additionalProperties:
+ type: string
+ description: A map containing the plugin metadata
+ type: object
s3Credentials:
description: The credentials to use to upload data to S3
properties:
accessKeyId:
@@ -441,9 +446,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusterimagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -524,9 +529,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: clusters.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -2017,8 +2022,14 @@
properties:
initdb:
description: Bootstrap the cluster via initdb
properties:
+ builtinLocale:
+ description: |-
+ Specifies the locale name when the builtin provider is used.
+ This option requires `localeProvider` to be set to `builtin`.
+ Available from PostgreSQL 17.
+ type: string
dataChecksums:
description: |-
Whether the `-k` option should be passed to initdb,
enabling checksums on data pages (default: `false`)
@@ -2030,8 +2041,20 @@
encoding:
description: The value to be passed as option `--encoding`
for initdb (default:`UTF8`)
type: string
+ icuLocale:
+ description: |-
+ Specifies the ICU locale when the ICU provider is used.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 15.
+ type: string
+ icuRules:
+ description: |-
+ Specifies additional collation rules to customize the behavior of the default collation.
+ This option requires `localeProvider` to be set to `icu`.
+ Available from PostgreSQL 16.
+ type: string
import:
description: |-
Bootstraps the new cluster by importing data from an existing PostgreSQL
instance using logical backup (`pg_dump` and `pg_restore`)
@@ -2040,8 +2063,26 @@
description: The databases to import
items:
type: string
type: array
+ pgDumpExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_dump` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
+ pgRestoreExtraOptions:
+ description: |-
+ List of custom options to pass to the `pg_restore` command. IMPORTANT:
+ Use these options with caution and at your own risk, as the operator
+ does not validate their content. Be aware that certain options may
+ conflict with the operator's intended functionality or design.
+ items:
+ type: string
+ type: array
postImportApplicationSQL:
description: |-
List of SQL queries to be executed as a superuser in the application
database right after is imported - to be used with extreme care
@@ -2080,16 +2121,25 @@
- databases
- source
- type
type: object
+ locale:
+ description: Sets the default collation order and character
+ classification in the new database.
+ type: string
localeCType:
description: The value to be passed as option `--lc-ctype`
for initdb (default:`C`)
type: string
localeCollate:
description: The value to be passed as option `--lc-collate`
for initdb (default:`C`)
type: string
+ localeProvider:
+ description: |-
+ This option sets the locale provider for databases created in the new cluster.
+ Available from PostgreSQL 16.
+ type: string
options:
description: |-
The list of options that must be passed to initdb when creating the cluster.
Deprecated: This could lead to inconsistent configurations,
@@ -2293,8 +2343,18 @@
maximum: 1024
minimum: 1
type: integer
type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider
+ is set to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is
+ set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set
+ to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
pg_basebackup:
description: |-
Bootstrap the cluster taking a physical backup of another compatible
PostgreSQL instance
@@ -3400,8 +3460,28 @@
required:
- key
type: object
x-kubernetes-map-type: atomic
+ plugin:
+ description: |-
+ The configuration of the plugin that is taking care
+ of WAL archiving and backups for this external cluster
+ properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
+ name:
+ description: Name is the plugin name
+ type: string
+ parameters:
+ additionalProperties:
+ type: string
+ description: Parameters is the configuration of the plugin
+ type: object
+ required:
+ - name
+ type: object
sslCert:
description: |-
The reference to an SSL certificate to be used to connect to this
instance
@@ -3716,20 +3796,15 @@
ManagedService represents a specific service managed by the cluster.
It includes the type of service and its associated template specification.
properties:
selectorType:
- allOf:
- - enum:
- - rw
- - r
- - ro
- - enum:
- - rw
- - r
- - ro
description: |-
SelectorType specifies the type of selectors that the service will have.
Valid values are "rw", "r", and "ro", representing read-write, read, and read-only services.
+ enum:
+ - rw
+ - r
+ - ro
type: string
serviceTemplate:
description: ServiceTemplate is the template specification
for the service.
@@ -4085,9 +4160,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -4416,8 +4491,12 @@
description: |-
PluginConfiguration specifies a plugin that need to be loaded for this
cluster to be reconciled
properties:
+ enabled:
+ default: true
+ description: Enabled is true if this plugin will be used
+ type: boolean
name:
description: Name is the plugin name
type: string
parameters:
@@ -4576,8 +4655,23 @@
synchronous:
description: Configuration of the PostgreSQL synchronous replication
feature
properties:
+ dataDurability:
+ default: required
+ description: |-
+ If set to "required", data durability is strictly enforced. Write operations
+ with synchronous commit settings (`on`, `remote_write`, or `remote_apply`) will
+ block if there are insufficient healthy replicas, ensuring data persistence.
+ If set to "preferred", data durability is maintained when healthy replicas
+ are available, but the required number of instances will adjust dynamically
+ if replicas become unavailable. This setting relaxes strict durability enforcement
+ to allow for operational continuity. This setting is only applicable if both
+ `standbyNamesPre` and `standbyNamesPost` are unset (empty).
+ enum:
+ - required
+ - preferred
+ type: string
maxStandbyNamesFromCluster:
description: |-
Specifies the maximum number of local cluster pods that can be
automatically included in the `synchronous_standby_names` option in
@@ -4620,8 +4714,14 @@
required:
- method
- number
type: object
+ x-kubernetes-validations:
+ - message: dataDurability set to 'preferred' requires empty 'standbyNamesPre'
+ and empty 'standbyNamesPost'
+ rule: self.dataDurability!='preferred' || ((!has(self.standbyNamesPre)
+ || self.standbyNamesPre.size()==0) && (!has(self.standbyNamesPost)
+ || self.standbyNamesPost.size()==0))
type: object
primaryUpdateMethod:
default: restart
description: |-
@@ -4648,8 +4748,161 @@
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
type: string
+ probes:
+ description: |-
+ The configuration of the probes to be injected
+ in the PostgreSQL Pods.
+ properties:
+ liveness:
+ description: The liveness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ readiness:
+ description: The readiness probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ startup:
+ description: The startup probe configuration
+ properties:
+ failureThreshold:
+ description: |-
+ Minimum consecutive failures for the probe to be considered failed after having succeeded.
+ Defaults to 3. Minimum value is 1.
+ format: int32
+ type: integer
+ initialDelaySeconds:
+ description: |-
+ Number of seconds after the container has started before liveness probes are initiated.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ periodSeconds:
+ description: |-
+ How often (in seconds) to perform the probe.
+ Default to 10 seconds. Minimum value is 1.
+ format: int32
+ type: integer
+ successThreshold:
+ description: |-
+ Minimum consecutive successes for the probe to be considered successful after having failed.
+ Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
+ format: int32
+ type: integer
+ terminationGracePeriodSeconds:
+ description: |-
+ Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
+ The grace period is the duration in seconds after the processes running in the pod are sent
+ a termination signal and the time when the processes are forcibly halted with a kill signal.
+ Set this value longer than the expected cleanup time for your process.
+ If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
+ value overrides the value provided by the pod spec.
+ Value must be non-negative integer. The value zero indicates stop immediately via
+ the kill signal (no opportunity to shut down).
+ This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
+ Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
+ format: int64
+ type: integer
+ timeoutSeconds:
+ description: |-
+ Number of seconds after which the probe times out.
+ Defaults to 1 second. Minimum value is 1.
+ More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
+ format: int32
+ type: integer
+ type: object
+ type: object
projectedVolumeTemplate:
description: |-
Template to be used to define projected volumes, projected volumes will be mounted
under `/projected` base folder
@@ -6483,8 +6736,15 @@
plugin regarding the reconciler
items:
type: string
type: array
+ restoreJobHookCapabilities:
+ description: |-
+ RestoreJobHookCapabilities are the list of capabilities of the
+ plugin regarding the RestoreJobHook management
+ items:
+ type: string
+ type: array
status:
description: Status contain the status reported by the plugin
through the SetStatusInCluster interface
type: string
@@ -6686,9 +6946,273 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: databases.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Database
+ listKind: DatabaseList
+ plural: databases
+ singular: database
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Database is the Schema for the databases API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: |-
+ Specification of the desired Database.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ allowConnections:
+ description: |-
+ Maps to the `ALLOW_CONNECTIONS` parameter of `CREATE DATABASE` and
+ `ALTER DATABASE`. If false then no one can connect to this database.
+ type: boolean
+ builtinLocale:
+ description: |-
+ Maps to the `BUILTIN_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the locale name when the
+ builtin provider is used. This option requires `localeProvider` to
+ be set to `builtin`. Available from PostgreSQL 17.
+ type: string
+ x-kubernetes-validations:
+ - message: builtinLocale is immutable
+ rule: self == oldSelf
+ cluster:
+ description: The name of the PostgreSQL cluster hosting the database.
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ collationVersion:
+ description: |-
+ Maps to the `COLLATION_VERSION` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: collationVersion is immutable
+ rule: self == oldSelf
+ connectionLimit:
+ description: |-
+ Maps to the `CONNECTION LIMIT` clause of `CREATE DATABASE` and
+ `ALTER DATABASE`. How many concurrent connections can be made to
+ this database. -1 (the default) means no limit.
+ type: integer
+ databaseReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this database.
+ enum:
+ - delete
+ - retain
+ type: string
+ encoding:
+ description: |-
+ Maps to the `ENCODING` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Character set encoding to use in the database.
+ type: string
+ x-kubernetes-validations:
+ - message: encoding is immutable
+ rule: self == oldSelf
+ ensure:
+ default: present
+ description: Ensure the PostgreSQL database is `present` or `absent`
+ - defaults to "present".
+ enum:
+ - present
+ - absent
+ type: string
+ icuLocale:
+ description: |-
+ Maps to the `ICU_LOCALE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. Specifies the ICU locale when the ICU
+ provider is used. This option requires `localeProvider` to be set to
+ `icu`. Available from PostgreSQL 15.
+ type: string
+ x-kubernetes-validations:
+ - message: icuLocale is immutable
+ rule: self == oldSelf
+ icuRules:
+ description: |-
+ Maps to the `ICU_RULES` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Specifies additional collation rules to customize
+ the behavior of the default collation. This option requires
+ `localeProvider` to be set to `icu`. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: icuRules is immutable
+ rule: self == oldSelf
+ isTemplate:
+ description: |-
+ Maps to the `IS_TEMPLATE` parameter of `CREATE DATABASE` and `ALTER
+ DATABASE`. If true, this database is considered a template and can
+ be cloned by any user with `CREATEDB` privileges.
+ type: boolean
+ locale:
+ description: |-
+ Maps to the `LOCALE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. Sets the default collation order and character
+ classification in the new database.
+ type: string
+ x-kubernetes-validations:
+ - message: locale is immutable
+ rule: self == oldSelf
+ localeCType:
+ description: |-
+ Maps to the `LC_CTYPE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCType is immutable
+ rule: self == oldSelf
+ localeCollate:
+ description: |-
+ Maps to the `LC_COLLATE` parameter of `CREATE DATABASE`. This
+ setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: localeCollate is immutable
+ rule: self == oldSelf
+ localeProvider:
+ description: |-
+ Maps to the `LOCALE_PROVIDER` parameter of `CREATE DATABASE`. This
+ setting cannot be changed. This option sets the locale provider for
+ databases created in the new cluster. Available from PostgreSQL 16.
+ type: string
+ x-kubernetes-validations:
+ - message: localeProvider is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the database to create inside PostgreSQL.
+ This setting cannot be changed.
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ - message: the name postgres is reserved
+ rule: self != 'postgres'
+ - message: the name template0 is reserved
+ rule: self != 'template0'
+ - message: the name template1 is reserved
+ rule: self != 'template1'
+ owner:
+ description: |-
+ Maps to the `OWNER` parameter of `CREATE DATABASE`.
+ Maps to the `OWNER TO` command of `ALTER DATABASE`.
+ The role name of the user who owns the database inside PostgreSQL.
+ type: string
+ tablespace:
+ description: |-
+ Maps to the `TABLESPACE` parameter of `CREATE DATABASE`.
+ Maps to the `SET TABLESPACE` command of `ALTER DATABASE`.
+ The name of the tablespace (in PostgreSQL) that will be associated
+ with the new database. This tablespace will be the default
+ tablespace used for objects created in this database.
+ type: string
+ template:
+ description: |-
+ Maps to the `TEMPLATE` parameter of `CREATE DATABASE`. This setting
+ cannot be changed. The name of the template from which to create
+ this database.
+ type: string
+ x-kubernetes-validations:
+ - message: template is immutable
+ rule: self == oldSelf
+ required:
+ - cluster
+ - name
+ - owner
+ type: object
+ x-kubernetes-validations:
+ - message: builtinLocale is only available when localeProvider is set
+ to `builtin`
+ rule: '!has(self.builtinLocale) || self.localeProvider == ''builtin'''
+ - message: icuLocale is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuLocale) || self.localeProvider == ''icu'''
+ - message: icuRules is only available when localeProvider is set to `icu`
+ rule: '!has(self.icuRules) || self.localeProvider == ''icu'''
+ status:
+ description: |-
+ Most recently observed status of the Database. This data may not be up to
+ date. Populated by the system. Read-only.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
+ properties:
+ applied:
+ description: Applied is true if the database was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: imagecatalogs.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -6768,9 +7292,9 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: poolers.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -7473,9 +7997,9 @@
hint, but are not required to guarantee strict adherence. If the field is
not set, the implementation will apply its default routing strategy. If set
to "PreferClose", implementations should prioritize endpoints that are
topologically close (e.g., same zone).
- This is an alpha field and requires enabling ServiceTrafficDistribution feature.
+ This is a beta field and requires enabling ServiceTrafficDistribution feature.
type: string
type:
description: |-
type determines how the Service is exposed. Defaults to ClusterIP. Valid
@@ -8724,9 +9248,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8739,9 +9264,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8790,10 +9315,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8804,10 +9329,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8837,9 +9362,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8852,9 +9378,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -8903,10 +9429,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -8917,10 +9443,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -8946,9 +9472,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -8967,10 +9494,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -8987,9 +9513,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9055,9 +9581,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9161,9 +9687,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9182,10 +9709,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9202,9 +9728,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9270,9 +9796,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9620,9 +10146,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -9641,10 +10168,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -9661,9 +10187,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -9729,9 +10255,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -9944,11 +10470,15 @@
description: PodDNSConfigOption defines DNS resolver
options of a pod.
properties:
name:
- description: Required.
+ description: |-
+ Name is this DNS resolver option's name.
+ Required.
type: string
value:
+ description: Value is this DNS resolver option's
+ value.
type: string
type: object
type: array
x-kubernetes-list-type: atomic
@@ -10229,9 +10759,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10244,9 +10775,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10295,10 +10826,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10309,10 +10840,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10342,9 +10873,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10357,9 +10889,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10408,10 +10940,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -10422,10 +10954,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -10447,9 +10979,10 @@
livenessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10468,10 +11001,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10488,9 +11020,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10556,9 +11088,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -10650,9 +11182,10 @@
readinessProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -10671,10 +11204,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -10691,9 +11223,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -10759,9 +11291,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11089,9 +11621,10 @@
startupProbe:
description: Probes are not allowed for ephemeral containers.
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11110,10 +11643,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -11130,9 +11662,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11198,9 +11730,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -11737,9 +12269,10 @@
Other management of the container blocks until the hook completes.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11752,9 +12285,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11803,10 +12336,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11817,10 +12350,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11850,9 +12383,10 @@
or until the termination grace period is reached.
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11865,9 +12399,9 @@
type: array
x-kubernetes-list-type: atomic
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -11916,10 +12450,10 @@
required:
- port
type: object
sleep:
- description: Sleep represents the duration that
- the container should sleep before being terminated.
+ description: Sleep represents a duration that
+ the container should sleep.
properties:
seconds:
description: Seconds is the number of seconds
to sleep.
@@ -11930,10 +12464,10 @@
type: object
tcpSocket:
description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
- for the backward compatibility. There are no validation of this field and
- lifecycle hooks will fail in runtime when tcp handler is specified.
+ for backward compatibility. There is no validation of this field and
+ lifecycle hooks will fail at runtime when it is specified.
properties:
host:
description: 'Optional: Host name to connect
to, defaults to the pod IP.'
@@ -11959,9 +12493,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -11980,10 +12515,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12000,9 +12534,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12068,9 +12602,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12174,9 +12708,10 @@
Cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12195,10 +12730,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12215,9 +12749,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12283,9 +12817,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -12633,9 +13167,10 @@
This cannot be updated.
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties:
exec:
- description: Exec specifies the action to take.
+ description: Exec specifies a command to execute
+ in the container.
properties:
command:
description: |-
Command is the command line to execute inside the container, the working directory for the
@@ -12654,10 +13189,9 @@
Defaults to 3. Minimum value is 1.
format: int32
type: integer
grpc:
- description: GRPC specifies an action involving
- a GRPC port.
+ description: GRPC specifies a GRPC HealthCheckRequest.
properties:
port:
description: Port number of the gRPC service.
Number must be in the range 1 to 65535.
@@ -12674,9 +13208,9 @@
required:
- port
type: object
httpGet:
- description: HTTPGet specifies the http request
+ description: HTTPGet specifies an HTTP GET request
to perform.
properties:
host:
description: |-
@@ -12742,9 +13276,9 @@
Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
format: int32
type: integer
tcpSocket:
- description: TCPSocket specifies an action involving
+ description: TCPSocket specifies a connection to
a TCP port.
properties:
host:
description: 'Optional: Host name to connect
@@ -13109,8 +13643,76 @@
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
+ resources:
+ description: |-
+ Resources is the total amount of CPU and Memory resources required by all
+ containers in the pod. It supports specifying Requests and Limits for
+ "cpu" and "memory" resource names only. ResourceClaims are not supported.
+
+ This field enables fine-grained control over resource allocation for the
+ entire pod, allowing resource sharing among containers in a pod.
+
+ This is an alpha field and requires enabling the PodLevelResources feature
+ gate.
+ properties:
+ claims:
+ description: |-
+ Claims lists the names of resources, defined in spec.resourceClaims,
+ that are used by this container.
+
+ This is an alpha field and requires enabling the
+ DynamicResourceAllocation feature gate.
+
+ This field is immutable. It can only be set for containers.
+ items:
+ description: ResourceClaim references one entry in PodSpec.ResourceClaims.
+ properties:
+ name:
+ description: |-
+ Name must match the name of one entry in pod.spec.resourceClaims of
+ the Pod where this field is used. It makes that resource available
+ inside a container.
+ type: string
+ request:
+ description: |-
+ Request is the name chosen for a request in the referenced claim.
+ If empty, everything from the claim is made available, otherwise
+ only the result of this request.
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Limits describes the maximum amount of compute resources allowed.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ description: |-
+ Requests describes the minimum amount of compute resources required.
+ If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
+ otherwise to an implementation-defined value. Requests cannot exceed Limits.
+ More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
+ type: object
+ type: object
restartPolicy:
description: |-
Restart policy for all containers within the pod.
One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
@@ -13233,8 +13835,34 @@
for that container.
Note that this field cannot be set when spec.os.name is windows.
format: int64
type: integer
+ seLinuxChangePolicy:
+ description: |-
+ seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
+ It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
+ Valid values are "MountOption" and "Recursive".
+
+ "Recursive" means relabeling of all files on all Pod volumes by the container runtime.
+ This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
+
+ "MountOption" mounts all eligible Pod volumes with `-o context` mount option.
+ This requires all Pods that share the same volume to use the same SELinux label.
+ It is not possible to share the same volume among privileged and unprivileged Pods.
+ Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
+ whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
+ CSIDriver instance. Other volumes are always re-labelled recursively.
+ "MountOption" value is allowed only when SELinuxMount feature gate is enabled.
+
+ If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
+ If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
+ and "Recursive" for all other volumes.
+
+ This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
+
+ All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
+ Note that this field cannot be set when spec.os.name is windows.
+ type: string
seLinuxOptions:
description: |-
The SELinux context to be applied to all containers.
If unspecified, the container runtime will allocate a random SELinux context for each
@@ -13639,8 +14267,10 @@
awsElasticBlockStore:
description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
+ awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties:
fsType:
description: |-
@@ -13670,10 +14300,12 @@
required:
- volumeID
type: object
azureDisk:
- description: azureDisk represents an Azure Data Disk
- mount on the host and bind mount to the pod.
+ description: |-
+ azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
+ Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
+ are redirected to the disk.csi.azure.com CSI driver.
properties:
cachingMode:
description: 'cachingMode is the Host Caching mode:
None, Read Only, Read Write.'
@@ -13710,10 +14342,12 @@
- diskName
- diskURI
type: object
azureFile:
- description: azureFile represents an Azure File Service
- mount on the host and bind mount to the pod.
+ description: |-
+ azureFile represents an Azure File Service mount on the host and bind mount to the pod.
+ Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
+ are redirected to the file.csi.azure.com CSI driver.
properties:
readOnly:
description: |-
readOnly defaults to false (read/write). ReadOnly here will force
@@ -13730,10 +14364,11 @@
- secretName
- shareName
type: object
cephfs:
- description: cephFS represents a Ceph FS mount on the
- host that shares a pod's lifetime
+ description: |-
+ cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
+ Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties:
monitors:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
@@ -13784,8 +14419,10 @@
type: object
cinder:
description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine.
+ Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
+ are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties:
fsType:
description: |-
@@ -13895,9 +14532,9 @@
x-kubernetes-map-type: atomic
csi:
description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external
- CSI drivers (Beta feature).
+ CSI drivers.
properties:
driver:
description: |-
driver is the name of the CSI driver that handles this volume.
@@ -14366,8 +15003,9 @@
flexVolume:
description: |-
flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin.
+ Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties:
driver:
description: driver is the name of the driver to
use for this volume.
@@ -14411,11 +15049,11 @@
required:
- driver
type: object
flocker:
- description: flocker represents a Flocker volume attached
- to a kubelet's host machine. This depends on the Flocker
- control service being running
+ description: |-
+ flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
+ Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties:
datasetName:
description: |-
datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
@@ -14429,8 +15067,10 @@
gcePersistentDisk:
description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod.
+ Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
+ gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties:
fsType:
description: |-
@@ -14464,9 +15104,9 @@
type: object
gitRepo:
description: |-
gitRepo represents a git repository at a particular revision.
- DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
+ Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container.
properties:
directory:
@@ -14488,8 +15128,9 @@
type: object
glusterfs:
description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
+ Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties:
endpoints:
description: |-
@@ -14697,11 +15338,11 @@
required:
- claimName
type: object
photonPersistentDisk:
- description: photonPersistentDisk represents a PhotonController
- persistent disk attached and mounted on kubelets host
- machine
+ description: |-
+ photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
+ Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -14715,10 +15356,13 @@
required:
- pdID
type: object
portworxVolume:
- description: portworxVolume represents a portworx volume
- attached and mounted on kubelets host machine
+ description: |-
+ portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
+ Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
+ are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
+ is on.
properties:
fsType:
description: |-
fSType represents the filesystem type to mount
@@ -15087,10 +15731,11 @@
type: array
x-kubernetes-list-type: atomic
type: object
quobyte:
- description: quobyte represents a Quobyte mount on the
- host that shares a pod's lifetime
+ description: |-
+ quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
+ Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties:
group:
description: |-
group to map volume access to
@@ -15127,8 +15772,9 @@
type: object
rbd:
description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
+ Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md
properties:
fsType:
description: |-
@@ -15199,10 +15845,11 @@
- image
- monitors
type: object
scaleIO:
- description: scaleIO represents a ScaleIO persistent
- volume attached and mounted on Kubernetes nodes.
+ description: |-
+ scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
+ Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties:
fsType:
default: xfs
description: |-
@@ -15333,10 +15980,11 @@
More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
type: string
type: object
storageos:
- description: storageOS represents a StorageOS volume
- attached and mounted on Kubernetes nodes.
+ description: |-
+ storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
+ Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties:
fsType:
description: |-
fsType is the filesystem type to mount.
@@ -15379,10 +16027,12 @@
Namespaces that do not pre-exist within StorageOS will be created.
type: string
type: object
vsphereVolume:
- description: vsphereVolume represents a vSphere volume
- attached and mounted on kubelets host machine
+ description: |-
+ vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
+ Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
+ are redirected to the csi.vsphere.vmware.com CSI driver.
properties:
fsType:
description: |-
fsType is filesystem type to mount.
@@ -15502,9 +16152,206 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.16.4
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: publications.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Publication
+ listKind: PublicationList
+ plural: publications
+ singular: publication
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Publication is the Schema for the publications API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: PublicationSpec defines the desired state of Publication
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "publisher"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "publisher" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ name:
+ description: The name of the publication inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Publication parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE PUBLICATION` command
+ type: object
+ publicationReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this publication
+ enum:
+ - delete
+ - retain
+ type: string
+ target:
+ description: Target of the publication as expected by PostgreSQL `CREATE
+ PUBLICATION` command
+ properties:
+ allTables:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the database, including tables created in the future.
+ Corresponding to `FOR ALL TABLES` in PostgreSQL.
+ type: boolean
+ x-kubernetes-validations:
+ - message: allTables is immutable
+ rule: self == oldSelf
+ objects:
+ description: Just the following schema objects
+ items:
+ description: PublicationTargetObject is an object to publish
+ properties:
+ table:
+ description: |-
+ Specifies a list of tables to add to the publication. Corresponding
+ to `FOR TABLE` in PostgreSQL.
+ properties:
+ columns:
+ description: The columns to publish
+ items:
+ type: string
+ type: array
+ name:
+ description: The table name
+ type: string
+ only:
+ description: Whether to limit to the table only or include
+ all its descendants
+ type: boolean
+ schema:
+ description: The schema name
+ type: string
+ required:
+ - name
+ type: object
+ tablesInSchema:
+ description: |-
+ Marks the publication as one that replicates changes for all tables
+ in the specified list of schemas, including tables created in the
+ future. Corresponding to `FOR TABLES IN SCHEMA` in PostgreSQL.
+ type: string
+ type: object
+ x-kubernetes-validations:
+ - message: tablesInSchema and table are mutually exclusive
+ rule: (has(self.tablesInSchema) && !has(self.table)) || (!has(self.tablesInSchema)
+ && has(self.table))
+ maxItems: 100000
+ type: array
+ x-kubernetes-validations:
+ - message: specifying a column list when the publication also
+ publishes tablesInSchema is not supported
+ rule: '!(self.exists(o, has(o.table) && has(o.table.columns))
+ && self.exists(o, has(o.tablesInSchema)))'
+ type: object
+ x-kubernetes-validations:
+ - message: allTables and objects are mutually exclusive
+ rule: (has(self.allTables) && !has(self.objects)) || (!has(self.allTables)
+ && has(self.objects))
+ required:
+ - cluster
+ - dbname
+ - name
+ - target
+ type: object
+ status:
+ description: PublicationStatus defines the observed state of Publication
+ properties:
+ applied:
+ description: Applied is true if the publication was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
helm.sh/resource-policy: keep
name: scheduledbackups.postgresql.cnpg.io
spec:
group: postgresql.cnpg.io
@@ -15684,8 +16531,156 @@
type: object
required:
- metadata
- spec
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+# Source: sx-cnpg/charts/cloudnative-pg/templates/crds/crds.yaml
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.16.5
+ helm.sh/resource-policy: keep
+ name: subscriptions.postgresql.cnpg.io
+spec:
+ group: postgresql.cnpg.io
+ names:
+ kind: Subscription
+ listKind: SubscriptionList
+ plural: subscriptions
+ singular: subscription
+ scope: Namespaced
+ versions:
+ - additionalPrinterColumns:
+ - jsonPath: .metadata.creationTimestamp
+ name: Age
+ type: date
+ - jsonPath: .spec.cluster.name
+ name: Cluster
+ type: string
+ - jsonPath: .spec.name
+ name: PG Name
+ type: string
+ - jsonPath: .status.applied
+ name: Applied
+ type: boolean
+ - description: Latest reconciliation message
+ jsonPath: .status.message
+ name: Message
+ type: string
+ name: v1
+ schema:
+ openAPIV3Schema:
+ description: Subscription is the Schema for the subscriptions API
+ properties:
+ apiVersion:
+ description: |-
+ APIVersion defines the versioned schema of this representation of an object.
+ Servers should convert recognized schemas to the latest internal value, and
+ may reject unrecognized values.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+ type: string
+ kind:
+ description: |-
+ Kind is a string value representing the REST resource this object represents.
+ Servers may infer this from the endpoint the client submits requests to.
+ Cannot be updated.
+ In CamelCase.
+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+ type: string
+ metadata:
+ type: object
+ spec:
+ description: SubscriptionSpec defines the desired state of Subscription
+ properties:
+ cluster:
+ description: The name of the PostgreSQL cluster that identifies the
+ "subscriber"
+ properties:
+ name:
+ default: ""
+ description: |-
+ Name of the referent.
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ dbname:
+ description: |-
+ The name of the database where the publication will be installed in
+ the "subscriber" cluster
+ type: string
+ x-kubernetes-validations:
+ - message: dbname is immutable
+ rule: self == oldSelf
+ externalClusterName:
+ description: The name of the external cluster with the publication
+ ("publisher")
+ type: string
+ name:
+ description: The name of the subscription inside PostgreSQL
+ type: string
+ x-kubernetes-validations:
+ - message: name is immutable
+ rule: self == oldSelf
+ parameters:
+ additionalProperties:
+ type: string
+ description: |-
+ Subscription parameters part of the `WITH` clause as expected by
+ PostgreSQL `CREATE SUBSCRIPTION` command
+ type: object
+ publicationDBName:
+ description: |-
+ The name of the database containing the publication on the external
+ cluster. Defaults to the one in the external cluster definition.
+ type: string
+ publicationName:
+ description: |-
+ The name of the publication inside the PostgreSQL database in the
+ "publisher"
+ type: string
+ subscriptionReclaimPolicy:
+ default: retain
+ description: The policy for end-of-life maintenance of this subscription
+ enum:
+ - delete
+ - retain
+ type: string
+ required:
+ - cluster
+ - dbname
+ - externalClusterName
+ - name
+ - publicationName
+ type: object
+ status:
+ description: SubscriptionStatus defines the observed state of Subscription
+ properties:
+ applied:
+ description: Applied is true if the subscription was reconciled correctly
+ type: boolean
+ message:
+ description: Message is the reconciliation output message
+ type: string
+ observedGeneration:
+ description: |-
+ A sequence number representing the latest
+ desired state that was synchronized
+ format: int64
+ type: integer
+ type: object
+ required:
+ - metadata
+ - spec
type: object
served: true
storage: true
subresources: |
Changes Rendered Chartdiff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-23 15:44:15.363721183 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/deployment.yaml 2025-01-23 15:43:44.885800091 +0000
@@ -3,13 +3,14 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
@@ -20,31 +21,34 @@
app.kubernetes.io/instance: release-name
template:
metadata:
annotations:
- checksum/config: e2b0f5f145ef5f0ef1dcf5e7ec34b036d4fbe37a81484f318f9bc1bd4b382e43
+ checksum/rbac: 36babaa4bfacb1953eb38a63255a57f570f8d6c60f8dfbeea27ea78cc7f54e36
+ checksum/config: cbc4300d5cab251a15d922b94434d33c6c89834a8a763c93ed83408f71e589bc
+ checksum/monitoring-config: 16e06bd9f650e9edf483a12ee72236de2fc0d8aa7baf5644068f02d2e4d55529
labels:
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
spec:
containers:
- args:
- controller
- --leader-elect
+ - --max-concurrent-reconciles=10
- --config-map-name=cnpg-controller-manager-config
- --webhook-port=9443
command:
- /manager
env:
- name: OPERATOR_IMAGE_NAME
- value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ value: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
- name: OPERATOR_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MONITORING_QUERIES_CONFIGMAP
value: "cnpg-default-monitoring"
- image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.24.1"
+ image: "ghcr.io/cloudnative-pg/cloudnative-pg:1.25.0"
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /readyz
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-23 15:44:15.363721183 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/monitoring-configmap.yaml 2025-01-23 15:43:44.885800091 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: cnpg-default-monitoring
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
cnpg.io/reload: ""
annotations:
argocd.argoproj.io/sync-wave: "-2"
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-23 15:44:15.363721183 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/mutatingwebhookconfiguration.yaml 2025-01-23 15:43:44.885800091 +0000
@@ -23,12 +23,12 @@
name: cnpg-mutating-webhook-configuration
annotations:
argocd.argoproj.io/sync-wave: "-2"
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-23 15:44:15.363721183 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml 2025-01-23 15:43:44.885800091 +0000
@@ -1,15 +1,31 @@
---
# Source: sx-cnpg/charts/cloudnative-pg/templates/podmonitor.yaml
+#
+# Copyright The CloudNativePG Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-23 15:44:15.363721183 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/rbac.yaml 2025-01-23 15:43:44.885800091 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: release-name-cloudnative-pg
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
---
@@ -18,19 +19,44 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
rules:
- apiGroups:
- ""
resources:
+ - nodes
+ verbs:
+ - get
+ - list
+ - watch
+- apiGroups:
+ - admissionregistration.k8s.io
+ resources:
+ - mutatingwebhookconfigurations
+ - validatingwebhookconfigurations
+ verbs:
+ - get
+ - patch
+- apiGroups:
+ - postgresql.cnpg.io
+ resources:
+ - clusterimagecatalogs
+ verbs:
+ - get
+ - list
+ - watch
+
+- apiGroups:
+ - ""
+ resources:
- configmaps
- secrets
- services
verbs:
@@ -59,16 +85,8 @@
- patch
- apiGroups:
- ""
resources:
- - nodes
- verbs:
- - get
- - list
- - watch
-- apiGroups:
- - ""
- resources:
- persistentvolumeclaims
- pods
- pods/exec
verbs:
@@ -95,16 +113,8 @@
- patch
- update
- watch
- apiGroups:
- - admissionregistration.k8s.io
- resources:
- - mutatingwebhookconfigurations
- - validatingwebhookconfigurations
- verbs:
- - get
- - patch
-- apiGroups:
- apps
resources:
- deployments
verbs:
@@ -161,10 +171,13 @@
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- get
@@ -175,17 +188,19 @@
- apiGroups:
- postgresql.cnpg.io
resources:
- backups/status
+ - databases/status
+ - publications/status
- scheduledbackups/status
+ - subscriptions/status
verbs:
- get
- patch
- update
- apiGroups:
- postgresql.cnpg.io
resources:
- - clusterimagecatalogs
- imagecatalogs
verbs:
- get
- list
@@ -235,21 +250,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-view
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- get
- list
- watch
@@ -259,21 +277,24 @@
kind: ClusterRole
metadata:
name: release-name-cloudnative-pg-edit
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
rules:
- apiGroups:
- postgresql.cnpg.io
resources:
- backups
- clusters
+ - databases
- poolers
+ - publications
- scheduledbackups
+ - subscriptions
verbs:
- create
- delete
- deletecollection
@@ -285,13 +306,15 @@
kind: ClusterRoleBinding
metadata:
name: release-name-cloudnative-pg
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
+ annotations:
+ argocd.argoproj.io/sync-wave: "-2"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: release-name-cloudnative-pg
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-23 15:44:15.363721183 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/service.yaml 2025-01-23 15:43:44.885800091 +0000
@@ -3,13 +3,14 @@
apiVersion: v1
kind: Service
metadata:
name: cnpg-webhook-service
+ namespace: default
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
annotations:
argocd.argoproj.io/sync-wave: "-2"
spec:
diff -U 4 -r out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml
--- out/target/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-23 15:44:15.363721183 +0000
+++ out/pr/cnpg/values-uibklab.yaml/sx-cnpg/charts/cloudnative-pg/templates/validatingwebhookconfiguration.yaml 2025-01-23 15:43:44.885800091 +0000
@@ -21,12 +21,12 @@
kind: ValidatingWebhookConfiguration
metadata:
name: cnpg-validating-webhook-configuration
labels:
- helm.sh/chart: cloudnative-pg-0.22.1
+ helm.sh/chart: cloudnative-pg-0.23.0
app.kubernetes.io/name: cloudnative-pg
app.kubernetes.io/instance: release-name
- app.kubernetes.io/version: "1.24.1"
+ app.kubernetes.io/version: "1.25.0"
app.kubernetes.io/managed-by: Helm
webhooks:
- admissionReviewVersions:
- v1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.22.1
->0.23.0
Release Notes
cloudnative-pg/charts (cloudnative-pg)
v0.23.0
Compare Source
CloudNativePG Operator Helm Chart
What's Changed
New Contributors
Full Changelog: cloudnative-pg/charts@cloudnative-pg-v0.23.0-rc1...cloudnative-pg-v0.23.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.