CloudNativePG
v1.29.2Storage & Dataセキュリティ修正を含むメンテナンスリリースで、検証の厳格化、互換性の改善、多数の正確性修正が行われています。PostgreSQL の既定値が変更され、新しい Kubernetes バージョンにも対応しています。
影響確認 (4)
securitycriticalプール接続の
search_pathを固定プール接続を使用している場合に適用されます。
プール接続ごとに
search_path = pg_catalog, public, pg_tempを固定するようになりました。securityhighロールパスワードを
SCRAM-SHA-256でエンコードcnpg.を設定している場合に適用されます。io/passwordPassthrough cnpg.を設定した場合、クリアテキストのロールパスワードをio/passwordPassthrough SCRAM-SHA-256でエンコードしてからCREATEまたはALTER ROLE .を発行するようになりました。. . PASSWORD security不正な値の検証を強化
validating webhook で拒否される値を使用している場合に適用されます。
該当する値は validating webhook で拒否され、書き込み時にも再検証されるようになりました。
breakingリソースの
cluster参照を不変化Database、Pooler、Publication、Subscription、ScheduledBackupリソースでcluster参照を使用している場合に適用されます。Database、Pooler、Publication、Subscription、ScheduledBackupリソースのcluster参照が変更できない属性になりました。
事前準備 (1)
deprecatedBarman Cloud サポートの削除予定を
1.に変更1.31.0で削除予定31. 0 ネイティブの Barman Cloud サポートを利用している場合に適用されます。
ネイティブ(
in-tree)の Barman Cloud サポートに関する廃止告知が更新され、削除時期はCloudNativePG 1.になりました。従来の31. 0 1.から変更されています。30. 0
その他の記録済み変更 38 件すべてfixes 31 · additions 3 · value changes 3 · constraints 1
fixes (31)
- Fixed
spec.accepting keys that are not valid PostgreSQL parameter namespostgresql. parameters - Fixed declarative
Database,Publication, andSubscriptionobjects reporting a stale primary-side status forever after their cluster was demoted to a replica - Fixed non-sequential pod names (for example
-1,-3) caused by the instance serial counter being advanced before the correspondingJoband PVCs were created - Fixed a switchover deadlock when a WAL-archiver plugin was enabled on an existing cluster
- Fixed a cluster staying in
Setting up primaryindefinitely when the instance-creation Job exhausted its backoff limit - Fixed deletion of a
Database,Publication, orSubscriptiongetting stuck inTerminatingon a replica cluster - Fixed a conflicting duplicate
DatabaseorSubscriptionwith adeletereclaim policy dropping the PostgreSQL object owned by the surviving CR - Fixed the
postgressuperuser being left locked out after superuser access was disabled and then re-enabled - Fixed backups getting stuck in the
startedphase when the instance manager running them was restarted - Fixed
exec/attachstreaming to negotiate WebSocket with a SPDY fallback - Fixed resource leaks when concurrent
Backupobjects raced - Fixed role reconciliation clearing the password on a PostgreSQL role when the referenced Secret could not be fetched
- Fixed a bootstrap failure where a metrics-exporter setup error
- Fixed a
ScheduledBackupcontroller loop that occurred when aBackupwas created but its status patch never landed - Fixed a nil-pointer panic when reconciling a
PoolerwhoseClusterhas been deleted. - Fixed bootstrap log handling so that all named log pipes (
postgres,postgres., andcsv postgres.) get consumersjson - Fixed generation of invalid IPv6 URLs by wrapping the address in square brackets.
- Fixed an external cluster plugin still being treated as active when its configuration set
enabled: false. - Fixed a race during bootstrap recovery from an object store where the restore job could read a stale
Cluster - Fixed a cache race during cluster creation when the server and client CA resolve to the same Secret
- Fixed the
pg_basebackupbootstrap path overwriting or failing on a pre-existingPGDATA - Fixed the
Clusterphase flapping betweenHealthyand a plugin-failure phase - Fixed stale certificate data and partial reads after an external server's Secret was rotated
- Fixed plugin connectivity to use the plugin
ServiceFQDN instead of its short name - Fixed a first-primary bootstrap deadlock where a status-patch conflict after the data PVC was created but before the initialization Job was started
- Fixed a backup getting stuck in
pendingforever - Fixed a declarative
VolumeSnapshotbackup being permanently marked as failed - Fixed a volume snapshot backup being discarded on a transient instance-manager connection error
- Fixed a replica switchover losing its
status.demotionToken - Fixed
kubectl cnpg psqlon Windows - Fixed an unbounded memory leak in
kubectl cnpg logs -fon busy clusters
additions (3)
- Enabled
pg_upgradein-place major upgrades to PostgreSQL 19 or later for clusters that use Image Volume extensions - Added a label selector to the
Clusterscale subresource (status.)selector - The operator now emits a
WarningPrimaryStatusCheckFailedevent on theCluster
value changes (3)
- The operator now reloads a CNPG-i plugin automatically when its pods are rolled
- Updated the default PostgreSQL version to 18.4.
- Fixed excessive operator log noise from the per-request
Clustercreate/update validation webhook messages, now logged atdebuginstead ofinfo.
constraints (1)
- Added support for Kubernetes 1.36.
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。