feat: port 9 upstream improvements from open PRs - #13
Open
ermakov-oleg wants to merge 18 commits into
Open
Conversation
ermakov-oleg
force-pushed
the
test/all-upstream-ports
branch
2 times, most recently
from
February 13, 2026 14:37
7177f9e to
32e5126
Compare
…e projections Port of upstream PR #331. When the same Archive is referenced multiple times (e.g. as both archive and recovery), volume projections were duplicated causing Job creation failures. Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
Port of upstream PRs #378 and #222. TYPE_PATCH is useless for Pods (immutable in K8s). TYPE_EVALUATE allows triggering rolling deployment when sidecar config changes. Also updates cnpg-i to v0.3.0. Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
Port of upstream PR #549. WAL not found returns NotFound, end of WAL stream returns OutOfRange, missing permissions returns FailedPrecondition. Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
…ssionEnforcement Port upstream fixes for clusters/finalizers RBAC and keep Task-based manifest generation aligned with kubebuilder RBAC markers under internal/. This updates Makefile/Taskfile generation paths and regenerates role/manifest. Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
Port of upstream PR #604. When CurrentPrimary is empty (first instance), streaming is not available — prevents incorrect WAL predictions with custom segment sizes during restore. Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
Port of upstream PR #615. Without this flag, RollingUpdate causes deadlock — old pod holds leader lease preventing new pod from becoming ready. Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
…/all-upstream-ports
…o test/all-upstream-ports
…nto test/all-upstream-ports
…o test/all-upstream-ports
…/all-upstream-ports
…o test/all-upstream-ports
…st/all-upstream-ports
…nto test/all-upstream-ports
…t/all-upstream-ports
ermakov-oleg
force-pushed
the
test/all-upstream-ports
branch
from
February 17, 2026 09:14
32e5126 to
d12c450
Compare
This file contains hidden or 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
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.
Summary
Объединённый PR с 9 портированными изменениями из открытых PR в operasoftware/cnpg-plugin-pgbackrest.
Баг-фиксы
reflect.TypeOf, removeObject condition, TTL init,isExpired()seconds vs nanoseconds. Добавлены unit-тесты.clusters/finalizerspermission + fix Makefile paths для kubebuilder markersLeaderElectionReleaseOnCancel: trueдля быстрого переключения при rolling updatesisStreamingAvailableкогдаCurrentPrimary == ""Фичи
NotFound,OutOfRange,FailedPreconditionTYPE_PATCH→TYPE_EVALUATE(cnpg-i v0.3.0)cnpg_pgbackrest_first_recoverability_pointиcnpg_pgbackrest_last_available_backup_timestamp. РефакторингgetRecoveryWindow(), фильтрация errored backups. Добавлены unit-тесты.