remove observedGeneration from postgresDatabase#1812
Draft
DmytroPI-dev wants to merge 2 commits intofeature/database-controllersfrom
Draft
remove observedGeneration from postgresDatabase#1812DmytroPI-dev wants to merge 2 commits intofeature/database-controllersfrom
DmytroPI-dev wants to merge 2 commits intofeature/database-controllersfrom
Conversation
mploski
reviewed
Apr 3, 2026
mploski
reviewed
Apr 3, 2026
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.
Description
This PR aligns
PostgresDatabasewith the watch-driven reconciliation approach used forPostgresCluster. It removes the reconcile skip based onObservedGeneration, reacts to ownedSecret/ConfigMapdrift even when the spec is unchanged, repairs configmap drift declaratively, and degrades status instead of recreating previously provisioned managed secrets that were deleted.Key Changes
postgresdatabase_controller.goadd explicit drift-trigger predicates for ownedSecret,ConfigMap, and relevant CNPGDatabasechanges. Conflict retries are requeued without surfacing noisy reconcile errors.database.goremove theObservedGenerationshort-circuit and revalidated stages on every reconcile. Add drift handling for managed user secrets, configmap repair/re-adoption, retained-resource adoption, conflict-friendly database reconcile handling, and quieter ready/not-found paths.events.goAdd events for drift and retained-resource adoption.cluster.goreduced log noise on transient status-update conflicts.Testing and Verification
postgresdatabase_controller_test.gofor:database_unit_test.gofor secret/configmap drift and adoption paths.DeleteandRetainpolicies.Related Issues
CPI-1950
PR Checklist