Repository navigation
fix(tamanu): release the previous program's field ownership on adopted objects - #33
Merged
Merged
Conversation
…d objects The handover to Argo CD adopted the Deployments, Services and database objects the previous program created under stable names, but left the field managers it applied them with. Server-side apply lets Argo remove only the fields it owns, so a field only the old manager owned stays on the object: from Tamanu 2.60 the render drops the raw and reporting database variables, the stub deletes their Secrets, and the facility servers can no longer start. Every update of a handed-over stack now applies an empty object as each leftover pulumi-kubernetes manager, before anything is declared, so its fields are given up and the ones Argo does not also own are removed.
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.
🤖 The handover to Argo CD adopted the objects the previous program created under stable names, but left the
pulumi-kubernetes-*field managers it applied them with. Server-side apply lets Argo remove only the fields it owns, so fields only the old manager owned stay on the object. From Tamanu 2.60 the render drops the raw and reporting database variables and the stub deletes their Secrets, so the facility servers of a handed-over deployment can no longer start once its stub is updated.Every update of a handed-over stack now applies an empty object as each leftover manager on the adopted Deployments, Services, CNPG Clusters, ScheduledBackups and barman ObjectStores, before anything is declared. A preview only logs what it would release.
A server-side dry run across both clusters showed what releasing removes: the stale database variables on the facility Deployments of deployments at 2.60 or later, the
pulumi.com/patchForceannotation on Deployments and Clusters, and nothing on Services, ScheduledBackups or ObjectStores.The runbooks for a stuck Application and for the handover now cover it.