feat: serve restore hooks from the instance sidecar - #154
Open
ermakov-oleg wants to merge 3 commits into
Open
ermakov-oleg wants to merge 3 commits into
ermakov-oleg wants to merge 3 commits into
Conversation
Claude-Session: https://claude.ai/code/session_01MK4vZ6U6TZvXVLPViN1crd Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
Claude-Session: https://claude.ai/code/session_01MK4vZ6U6TZvXVLPViN1crd Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
Claude-Session: https://claude.ai/code/session_01MK4vZ6U6TZvXVLPViN1crd Signed-off-by: ermakov-oleg <ermakovolegs@gmail.com>
ermakov-oleg
force-pushed
the
feat-restore-hooks-instance-sidecar
branch
from
September 25, 2026 12:06
3e09860 to
aec8cc5
Compare
melancholictheory
added a commit
to melancholictheory/cnpg-plugin-pgbackrest
that referenced
this pull request
Sep 28, 2026
…fork CI Fork-only commit for running CI on melancholictheory branches, never part of a PR. It takes the MinIO change from operasoftware#155, installs CloudNativePG 1.30.0 instead of main, whose bootstrap changes need operasoftware#154, and skips publishing images, which needs registry secrets. Signed-off-by: Vasiliy Fakunin <61789920+melancholictheory@users.noreply.github.com>
melancholictheory
added a commit
to melancholictheory/cnpg-plugin-pgbackrest
that referenced
this pull request
Sep 28, 2026
…fork CI Fork-only commit for running CI on melancholictheory branches, never part of a PR. It takes the MinIO change from operasoftware#155, installs CloudNativePG 1.30.0 instead of main, whose bootstrap changes need operasoftware#154, and skips publishing images, which needs registry secrets. Signed-off-by: Vasiliy Fakunin <61789920+melancholictheory@users.noreply.github.com>
melancholictheory
added a commit
to melancholictheory/cnpg-plugin-pgbackrest
that referenced
this pull request
Sep 28, 2026
…fork CI Fork-only commit for running CI on melancholictheory branches, never part of a PR. It takes the MinIO change from operasoftware#155, installs CloudNativePG 1.30.0 instead of main, whose bootstrap changes need operasoftware#154, and skips publishing images, which needs registry secrets. Signed-off-by: Vasiliy Fakunin <61789920+melancholictheory@users.noreply.github.com>
melancholictheory
added a commit
to melancholictheory/cnpg-plugin-pgbackrest
that referenced
this pull request
Sep 28, 2026
…fork CI Fork-only commit for running CI on melancholictheory branches, never part of a PR. It takes the MinIO change from operasoftware#155, installs CloudNativePG 1.30.0 instead of main, whose bootstrap changes need operasoftware#154, and skips publishing images, which needs registry secrets. Signed-off-by: Vasiliy Fakunin <61789920+melancholictheory@users.noreply.github.com>
melancholictheory
added a commit
to melancholictheory/cnpg-plugin-pgbackrest
that referenced
this pull request
Sep 28, 2026
…fork CI Fork-only commit for running CI on melancholictheory branches, never part of a PR. It takes the MinIO change from operasoftware#155, installs CloudNativePG 1.30.0 instead of main, whose bootstrap changes need operasoftware#154, and skips publishing images, which needs registry secrets. Signed-off-by: Vasiliy Fakunin <61789920+melancholictheory@users.noreply.github.com>
melancholictheory
added a commit
to melancholictheory/cnpg-plugin-pgbackrest
that referenced
this pull request
Sep 28, 2026
…fork CI Fork-only commit for running CI on melancholictheory branches, never part of a PR. It takes the MinIO change from operasoftware#155, installs CloudNativePG 1.30.0 instead of main, whose bootstrap changes need operasoftware#154, and skips publishing images, which needs registry secrets. Signed-off-by: Vasiliy Fakunin <61789920+melancholictheory@users.noreply.github.com>
melancholictheory
added a commit
to melancholictheory/cnpg-plugin-pgbackrest
that referenced
this pull request
Sep 29, 2026
…fork CI Fork-only commit for running CI on melancholictheory branches, never part of a PR. It takes the MinIO change from operasoftware#155, installs CloudNativePG 1.30.0 instead of main, whose bootstrap changes need operasoftware#154, and skips publishing images, which needs registry secrets. Signed-off-by: Vasiliy Fakunin <61789920+melancholictheory@users.noreply.github.com>
melancholictheory
added a commit
to melancholictheory/cnpg-plugin-pgbackrest
that referenced
this pull request
Sep 29, 2026
…fork CI Fork-only commit for running CI on melancholictheory branches, never part of a PR. It takes the MinIO change from operasoftware#155, installs CloudNativePG 1.30.0 instead of main, whose bootstrap changes need operasoftware#154, and skips publishing images, which needs registry secrets. Signed-off-by: Vasiliy Fakunin <61789920+melancholictheory@users.noreply.github.com>
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.
Serve restore hooks from the instance sidecar (CloudNativePG 1.31 support)
Motivation
CloudNativePG no longer bootstraps new instances in a separate Job (cloudnative-pg/cloudnative-pg#11319, part of 1.31.0). The restore now runs in the
bootstrap-instanceinit container of the instance pod, so the operator sends the Restore RPC to the sidecar inside that pod. This plugin only registered the restore hooks in thefull-recoveryJob sidecar. As a result, everybootstrap.recovery(including PITR and replica clusters bootstrapped from a backup) hangs onbootstrap-instanceon CloudNativePGmain. This is the pgBackRest counterpart of cloudnative-pg/plugin-barman-cloud#1025.Changes
JobHookImpl) and advertisesTYPE_RESTORE_JOB.status.currentPrimaryis set, which the instance manager does once bootstrap completes.Validate()accepts a configuration that references only a replica-source Archive.instanceSidecarConfigurationfrom the first configured Archive: archive, then recovery, then replica source. Before, a recovery-only cluster would restore without the recovery Archive's resources and security context, and a replica-source-only cluster would never get its Archive's settings.full-recoveryJob.Visible behaviour changes
primaryUpdateStrategy: supervised, that rollout waits for a user-issued switchover or restart, as any other pod spec change would.Testing
plugin-pgbackrest, and that the restored data is present.main(8/8) and v1.30.0 (8/8).Notes
minio/miniois gone from Docker Hub andquay.io/minio/minionow requires authentication. The first commit of this branch is fix(e2e): run MinIO from the Chainguard images #155's and drops out once it is merged.test/e2e/e2e_suite_test.goshould be dropped, so that e2e covers the new bootstrap flow again.https://claude.ai/code/session_01MK4vZ6U6TZvXVLPViN1crd