Skip to content

Commit 1d89de4

Browse files
committed
docs: import CloudNativePG main
1 parent 654dd30 commit 1d89de4

21 files changed

Lines changed: 824 additions & 238 deletions

website/docs/bootstrap.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,7 @@ file on the source PostgreSQL instance:
614614
host replication streaming_replica all md5
615615
```
616616

617-
The following manifest creates a new PostgreSQL 18.1 cluster,
617+
The following manifest creates a new PostgreSQL 18.3 cluster,
618618
called `target-db`, using the `pg_basebackup` bootstrap method
619619
to clone an external PostgreSQL cluster defined as `source-db`
620620
(in the `externalClusters` array). As you can see, the `source-db`
@@ -629,7 +629,7 @@ metadata:
629629
name: target-db
630630
spec:
631631
instances: 3
632-
imageName: ghcr.io/cloudnative-pg/postgresql:18.1-system-trixie
632+
imageName: ghcr.io/cloudnative-pg/postgresql:18.3-system-trixie
633633
634634
bootstrap:
635635
pg_basebackup:
@@ -649,7 +649,7 @@ spec:
649649
```
650650

651651
All the requirements must be met for the clone operation to work, including
652-
the same PostgreSQL version (in our case 18.1).
652+
the same PostgreSQL version (in our case 18.3).
653653

654654
#### TLS certificate authentication
655655

@@ -665,7 +665,7 @@ in the same Kubernetes cluster.
665665
outside the Kubernetes cluster.
666666
:::
667667

668-
The manifest defines a new PostgreSQL 18.1 cluster called `cluster-clone-tls`,
668+
The manifest defines a new PostgreSQL 18.3 cluster called `cluster-clone-tls`,
669669
which is bootstrapped using the `pg_basebackup` method from the `cluster-example`
670670
external cluster. The host is identified by the read/write service
671671
in the same cluster, while the `streaming_replica` user is authenticated
@@ -680,7 +680,7 @@ metadata:
680680
name: cluster-clone-tls
681681
spec:
682682
instances: 3
683-
imageName: ghcr.io/cloudnative-pg/postgresql:18.1-system-trixie
683+
imageName: ghcr.io/cloudnative-pg/postgresql:18.3-system-trixie
684684
685685
bootstrap:
686686
pg_basebackup:

website/docs/cloudnative-pg.v1.md

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,7 @@ _Appears in:_
445445
| --- | --- | --- | --- | --- |
446446
| `image` _string_ | The image reference | True | | |
447447
| `major` _integer_ | The PostgreSQL major version of the image. Must be unique within the catalog. | True | | Minimum: 10 <br /> |
448+
| `extensions` _[ExtensionConfiguration](#extensionconfiguration) array_ | The configuration of the extensions to be added | | | |
448449

449450

450451
#### CertificatesConfiguration
@@ -576,6 +577,7 @@ _Appears in:_
576577
| `minSyncReplicas` _integer_ | Minimum number of instances required in synchronous replication with the<br />primary. Undefined or 0 allow writes to complete when no standby is<br />available. | | 0 | Minimum: 0 <br /> |
577578
| `maxSyncReplicas` _integer_ | The target value for the synchronous replication quorum, that can be<br />decreased if the number of ready standbys is lower than this.<br />Undefined or 0 disable synchronous replication. | | 0 | Minimum: 0 <br /> |
578579
| `postgresql` _[PostgresConfiguration](#postgresconfiguration)_ | Configuration of the PostgreSQL server | | | |
580+
| `podSelectorRefs` _[PodSelectorRef](#podselectorref) array_ | PodSelectorRefs defines named pod label selectors that can be referenced<br />in pg_hba rules using the $\{podselector:NAME\} syntax in the address field.<br />The operator resolves matching pod IPs and the instance manager expands<br />pg_hba lines accordingly. Only pods in the Cluster's own namespace are considered. | | | |
579581
| `replicationSlots` _[ReplicationSlotsConfiguration](#replicationslotsconfiguration)_ | Replication slots management configuration | | \{ highAvailability\: \{ enabled:true \} \} | |
580582
| `bootstrap` _[BootstrapConfiguration](#bootstrapconfiguration)_ | Instructions to bootstrap this cluster | | | |
581583
| `replica` _[ReplicaClusterConfiguration](#replicaclusterconfiguration)_ | Replica cluster configuration | | | |
@@ -585,6 +587,7 @@ _Appears in:_
585587
| `imagePullSecrets` _[LocalObjectReference](https://pkg.go.dev/github.com/cloudnative-pg/machinery/pkg/api#LocalObjectReference) array_ | The list of pull secrets to be used to pull the images | | | |
586588
| `storage` _[StorageConfiguration](#storageconfiguration)_ | Configuration of the storage of the instances | | | |
587589
| `serviceAccountTemplate` _[ServiceAccountTemplate](#serviceaccounttemplate)_ | Configure the generation of the service account | | | |
590+
| `serviceAccountName` _string_ | Name of an existing ServiceAccount in the same namespace to use for the cluster.<br />When specified, the operator will not create a new ServiceAccount<br />but will use the provided one. This is useful for sharing a single<br />ServiceAccount across multiple clusters (e.g., for cloud IAM configurations).<br />If not specified, a ServiceAccount will be created with the cluster name.<br />Mutually exclusive with ServiceAccountTemplate. | | | MaxLength: 253 <br />Pattern: `^[a-z0-9]([-a-z0-9]*[a-z0-9])?$` <br /> |
588591
| `walStorage` _[StorageConfiguration](#storageconfiguration)_ | Configuration of the storage for PostgreSQL WAL (Write-Ahead Log) | | | |
589592
| `ephemeralVolumeSource` _[EphemeralVolumeSource](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#ephemeralvolumesource-v1-core)_ | EphemeralVolumeSource allows the user to configure the source of ephemeral volumes. | | | |
590593
| `startDelay` _integer_ | The time in seconds that is allowed for a PostgreSQL instance to<br />successfully start up (default 3600).<br />The startup probe failure threshold is derived from this value using the formula:<br />ceiling(startDelay / 10). | | 3600 | |
@@ -639,6 +642,7 @@ _Appears in:_
639642
| `instancesReportedState` _object (keys:[PodName](#podname), values:[InstanceReportedState](#instancereportedstate))_ | The reported state of the instances during the last reconciliation loop | | | |
640643
| `managedRolesStatus` _[ManagedRoles](#managedroles)_ | ManagedRolesStatus reports the state of the managed roles in the cluster | | | |
641644
| `tablespacesStatus` _[TablespaceState](#tablespacestate) array_ | TablespacesStatus reports the state of the declarative tablespaces in the cluster | | | |
645+
| `podSelectorRefs` _[PodSelectorRefStatus](#podselectorrefstatus) array_ | PodSelectorRefs contains the resolved pod IPs for each named selector<br />defined in spec.podSelectorRefs. | | | |
642646
| `timelineID` _integer_ | The timeline of the Postgres cluster | | | |
643647
| `topology` _[Topology](#topology)_ | Instances topology. | | | |
644648
| `latestGeneratedNode` _integer_ | ID of the latest generated node (used to avoid node name clashing) | | | |
@@ -980,15 +984,18 @@ PostgreSQL extensions to the Cluster.
980984

981985
_Appears in:_
982986

987+
- [CatalogImage](#catalogimage)
988+
- [ImageInfo](#imageinfo)
983989
- [PostgresConfiguration](#postgresconfiguration)
984990

985991
| Field | Description | Required | Default | Validation |
986992
| --- | --- | --- | --- | --- |
987993
| `name` _string_ | The name of the extension, required | True | | MinLength: 1 <br />Pattern: `^[a-z0-9]([-a-z0-9_]*[a-z0-9])?$` <br /> |
988-
| `image` _[ImageVolumeSource](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#imagevolumesource-v1-core)_ | The image containing the extension, required | True | | |
994+
| `image` _[ImageVolumeSource](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#imagevolumesource-v1-core)_ | The image containing the extension. | | | |
989995
| `extension_control_path` _string array_ | The list of directories inside the image which should be added to extension_control_path.<br />If not defined, defaults to "/share". | | | |
990996
| `dynamic_library_path` _string array_ | The list of directories inside the image which should be added to dynamic_library_path.<br />If not defined, defaults to "/lib". | | | |
991997
| `ld_library_path` _string array_ | The list of directories inside the image which should be added to ld_library_path. | | | |
998+
| `bin_path` _string array_ | A list of directories within the image to be appended to the<br />PostgreSQL process's `PATH` environment variable. | | | |
992999

9931000

9941001
#### ExtensionSpec
@@ -1177,6 +1184,7 @@ _Appears in:_
11771184
| --- | --- | --- | --- | --- |
11781185
| `image` _string_ | Image is the image name | True | | |
11791186
| `majorVersion` _integer_ | MajorVersion is the major version of the image | True | | |
1187+
| `extensions` _[ExtensionConfiguration](#extensionconfiguration) array_ | Extensions contains the container image extensions available for the current Image | | | |
11801188

11811189

11821190
#### Import
@@ -1732,6 +1740,45 @@ _Appears in:_
17321740

17331741

17341742

1743+
#### PodSelectorRef
1744+
1745+
1746+
1747+
PodSelectorRef defines a named pod label selector for use in pg_hba rules.
1748+
Pods matching the selector in the Cluster's namespace will have their IPs
1749+
resolved and made available for pg_hba address expansion via the
1750+
`${podselector:NAME}` syntax.
1751+
1752+
1753+
1754+
_Appears in:_
1755+
1756+
- [ClusterSpec](#clusterspec)
1757+
1758+
| Field | Description | Required | Default | Validation |
1759+
| --- | --- | --- | --- | --- |
1760+
| `name` _string_ | Name is the identifier used to reference this selector in pg_hba rules<br />via the $\{podselector:NAME\} syntax in the address field. | True | | MinLength: 1 <br />Pattern: `^[a-z]([a-z0-9_-]*[a-z0-9])?$` <br /> |
1761+
| `selector` _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#labelselector-v1-meta)_ | Selector is a label selector that identifies the pods whose IPs<br />should be resolved. Only pods in the Cluster's namespace are considered. | True | | |
1762+
1763+
1764+
#### PodSelectorRefStatus
1765+
1766+
1767+
1768+
PodSelectorRefStatus contains the resolved pod IPs for a named selector.
1769+
1770+
1771+
1772+
_Appears in:_
1773+
1774+
- [ClusterStatus](#clusterstatus)
1775+
1776+
| Field | Description | Required | Default | Validation |
1777+
| --- | --- | --- | --- | --- |
1778+
| `name` _string_ | Name corresponds to the name in the spec's PodSelectorRef. | True | | |
1779+
| `ips` _string array_ | IPs is the list of pod IPs matching the selector.<br />Each IP is a single address (no CIDR notation). | | | |
1780+
1781+
17351782
#### PodStatus
17361783

17371784
_Underlying type:_ _string_
@@ -1890,6 +1937,7 @@ _Appears in:_
18901937
| `deploymentStrategy` _[DeploymentStrategy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#deploymentstrategy-v1-apps)_ | The deployment strategy to use for pgbouncer to replace existing pods with new ones | | | |
18911938
| `monitoring` _[PoolerMonitoringConfiguration](#poolermonitoringconfiguration)_ | The configuration of the monitoring infrastructure of this pooler.<br />Deprecated: This feature will be removed in an upcoming release. If<br />you need this functionality, you can create a PodMonitor manually. | | | |
18921939
| `serviceTemplate` _[ServiceTemplateSpec](#servicetemplatespec)_ | Template for the Service to be created | | | |
1940+
| `serviceAccountName` _string_ | Name of an existing ServiceAccount in the same namespace to use for the pooler.<br />When specified, the operator will not create a new ServiceAccount<br />but will use the provided one. This is useful for sharing a single<br />ServiceAccount across multiple poolers (e.g., for cloud IAM configurations).<br />If not specified, a ServiceAccount will be created with the pooler name. | | | MaxLength: 253 <br />Pattern: `^[a-z0-9]([-a-z0-9]*[a-z0-9])?$` <br /> |
18931941

18941942

18951943
#### PoolerStatus
@@ -1943,7 +1991,7 @@ _Appears in:_
19431991
| --- | --- | --- | --- | --- |
19441992
| `parameters` _object (keys:string, values:string)_ | PostgreSQL configuration options (postgresql.conf) | | | |
19451993
| `synchronous` _[SynchronousReplicaConfiguration](#synchronousreplicaconfiguration)_ | Configuration of the PostgreSQL synchronous replication feature | | | |
1946-
| `pg_hba` _string array_ | PostgreSQL Host Based Authentication rules (lines to be appended<br />to the pg_hba.conf file) | | | |
1994+
| `pg_hba` _string array_ | PostgreSQL Host Based Authentication rules (lines to be appended<br />to the pg_hba.conf file).<br />Use the $\{podselector:NAME\} syntax to reference a pod selector;<br />the rule will be expanded for each Pod IP matching that selector. | | | |
19471995
| `pg_ident` _string array_ | PostgreSQL User Name Maps rules (lines to be appended<br />to the pg_ident.conf file) | | | |
19481996
| `syncReplicaElectionConstraint` _[SyncReplicaElectionConstraints](#syncreplicaelectionconstraints)_ | Requirements to be met by sync replicas. This will affect how the "synchronous_standby_names" parameter will be<br />set up. | | | |
19491997
| `shared_preload_libraries` _string array_ | Lists of shared preload libraries to add to the default ones | | | |

website/docs/connection_pooling.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -380,8 +380,9 @@ The operator manages most of the [configuration options for PgBouncer](https://w
380380
allowing you to modify only a subset of them.
381381

382382
:::warning
383-
You are responsible for correctly setting the value of each option, as the
384-
operator doesn't validate them.
383+
The operator passes these settings directly to PgBouncer without validation.
384+
To prevent configuration errors or crash loops, ensure each parameter is
385+
supported by your specific PgBouncer image version.
385386
:::
386387

387388
These are the PgBouncer options you can customize, with links to the PgBouncer
@@ -394,7 +395,9 @@ are the ones directly set by PgBouncer.
394395
- [`cancel_wait_timeout`](https://www.pgbouncer.org/config.html#cancel_wait_timeout)
395396
- [`client_idle_timeout`](https://www.pgbouncer.org/config.html#client_idle_timeout)
396397
- [`client_login_timeout`](https://www.pgbouncer.org/config.html#client_login_timeout)
398+
- [`client_tls_ciphers`](https://www.pgbouncer.org/config.html#client_tls_ciphers)
397399
- [`client_tls_sslmode`](https://www.pgbouncer.org/config.html#client_tls_sslmode)
400+
- [`client_tls13_ciphers`](https://www.pgbouncer.org/config.html#client_tls13_ciphers) (1.25+)
398401
- [`default_pool_size`](https://www.pgbouncer.org/config.html#default_pool_size)
399402
- [`disable_pqexec`](https://www.pgbouncer.org/config.html#disable_pqexec)
400403
- [`dns_max_ttl`](https://www.pgbouncer.org/config.html#dns_max_ttl)
@@ -432,6 +435,7 @@ are the ones directly set by PgBouncer.
432435
- [`server_reset_query_always`](https://www.pgbouncer.org/config.html#server_reset_query_always)
433436
- [`server_round_robin`](https://www.pgbouncer.org/config.html#server_round_robin)
434437
- [`server_tls_ciphers`](https://www.pgbouncer.org/config.html#server_tls_ciphers)
438+
- [`server_tls13_ciphers`](https://www.pgbouncer.org/config.html#server_tls13_ciphers) (1.25+)
435439
- [`server_tls_protocols`](https://www.pgbouncer.org/config.html#server_tls_protocols)
436440
- [`server_tls_sslmode`](https://www.pgbouncer.org/config.html#server_tls_sslmode)
437441
- [`stats_period`](https://www.pgbouncer.org/config.html#stats_period)

website/docs/declarative_hibernation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ $ kubectl cnpg status <cluster-name>
5757
Cluster Summary
5858
Name: cluster-example
5959
Namespace: default
60-
PostgreSQL Image: ghcr.io/cloudnative-pg/postgresql:18.1-system-trixie
60+
PostgreSQL Image: ghcr.io/cloudnative-pg/postgresql:18.3-system-trixie
6161
Primary instance: cluster-example-2
6262
Status: Cluster in healthy state
6363
Instances: 3

0 commit comments

Comments
 (0)