Skip to content

Commit ca4d7ae

Browse files
committed
docs: import CloudNativePG main
1 parent 03467c6 commit ca4d7ae

2 files changed

Lines changed: 8 additions & 31 deletions

File tree

‎website/docs/installation_upgrade.md‎

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -399,23 +399,14 @@ sensitive endpoints of the instance manager's status port (backup,
399399
`pg_controldata`, partial WAL archive, and instance-manager upgrade) by pinning
400400
an in-memory client certificate. This is enabled automatically and requires no
401401
configuration. Status, health, and probe endpoints remain unauthenticated.
402-
This hardening is not backported; on releases earlier than 1.30.0, continue to
403-
restrict the status port (TCP 8000) with a `NetworkPolicy`, which remains its
404-
security boundary there. See
402+
This protection has a hard requirement: the status port **must** be served
403+
over TLS, which has been the default since v1.24. This hardening is not
404+
backported; on releases earlier than 1.30.0, continue to restrict the status
405+
port (TCP 8000) with a `NetworkPolicy`, which remains its security boundary
406+
there. See
405407
[Operator-to-instance authentication](security.md#operator-to-instance-authentication)
406408
for details.
407409

408-
:::warning
409-
This protection has a hard requirement: the status port **must** be served over
410-
TLS, which has been the default since v1.24. Instances created by an operator
411-
older than v1.24 serve the status port over plain HTTP; once their instance
412-
manager is upgraded to 1.30.0 the operator can no longer authenticate to them
413-
and every call to the protected endpoints is **permanently** rejected with
414-
`401 Unauthorized`. If you still run such instances, perform a rolling update so
415-
their Pods are recreated with a TLS-enabled status port. Instances created by
416-
v1.24 or later are unaffected.
417-
:::
418-
419410
#### Metrics exporter privilege separation (`CVE-2026-44477`)
420411

421412
This applies only if you are upgrading from a release **older than 1.29.1 or

‎website/docs/security.md‎

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -895,23 +895,9 @@ unauthenticated.
895895
The certificate is never written to disk and is regenerated on every operator
896896
restart, so trust derives from fingerprint pinning rather than CA validation.
897897

898-
This protection has a hard requirement: the status port **must** be served over
899-
TLS, which has been the default since v1.24. A client certificate can only be
900-
presented over a TLS connection, so the protected endpoints are reachable by the
901-
operator only when the status port uses TLS.
902-
903-
:::warning
904-
If the status port is not served over TLS, the instance manager cannot
905-
authenticate the operator and **permanently** rejects every call to its
906-
protected endpoints (backup, `pg_controldata`, partial WAL archive, and
907-
instance-manager upgrade) with `401 Unauthorized`. This is not a transient
908-
condition and will not resolve on its own. It can affect instances created by an
909-
operator older than v1.24 (whose status port serves plain HTTP) once their
910-
instance manager is upgraded to a version that enforces this authentication: such
911-
instances must be rolled out so their Pods are recreated with a TLS-enabled status
912-
port. Newly created instances always enable TLS on the status port and are
913-
unaffected.
914-
:::
898+
A client certificate can only be presented over a TLS connection, and the
899+
instance manager always serves the status port over TLS, so this protection is
900+
unconditional.
915901

916902
### PostgreSQL
917903

0 commit comments

Comments
 (0)