Repository navigation
Conversation
…mHealthChecks The patterns-operator supports these keys on the patterns-operator-config ConfigMap but the chart never rendered them, so app-of-apps sync-wave gating was silently inert on every install through this chart (the operator defaults the health check to off, and ArgoCD 1.8 dropped the Application health check). Render each key when it is set, using the same idiom as the existing additionalArgoAdmins/argoRBAC/customArgoYaml blocks. Empty-string defaults preserve current behaviour. applicationHealthCheckEnabled is quoted because the operator compares strings.EqualFold(v, "true") against ConfigMap string data. Fixes validatedpatterns#52
…d csv These operator-consumed keys were listed as comments in the template but never rendered, so they could only be set by writing the ConfigMap out of band. Render each when set, empty-string defaults preserving current behaviour.
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
The patterns-operator supports several
gitops.*keys on thepatterns-operator-configConfigMap, but this chart — the supported install path for every pattern — only rendered a subset of them. The missing keys could only be set by writing the ConfigMap out of band after install, which is not available on the connectedmake installpath at all.This PR renders each operator-consumed key when it is set, using the same idiom as the existing
additionalArgoAdmins/argoRBAC/customArgoYamlblocks. Empty-string defaults preserve current behaviour exactly (default render is byte-identical; the snapshot test confirms).gitops.applicationHealthCheckEnabledgitops.customHealthChecksgitops.sourceNamespacegitops.installApprovalPlangitops.csvWhy
applicationHealthCheckEnabledmattersArgoCD 1.8 dropped the built-in
Applicationhealth check (argoproj/argo-cd#3781). The patterns-operator can restore it, but defaults it off. Without it, an app-of-apps root Application treats child Applications as immediately healthy and applies all sync waves at once, defeating wave ordering entirely.Observed live on validatedpatterns/coco-pattern (15 child applications):
"true"(written out of band)applicationHealthCheckEnabledis rendered quoted because the operator comparesstrings.EqualFold(v, "true")against ConfigMap string data.Deliberate non-goals
gitops.customArgoYamlfor this: the operator applies that key withmergo.Merge(..., mergo.WithOverride), which replacesspec.resourceHealthCheckswholesale and would silently drop the operator's built-in PVC and Subscription checks. Exposing the native key avoids that trap.Consumer impact / release note
No config change is needed for consumers to pick this up:
rhvp.cluster_utils.installrenders the chart withhelm template {{ pattern_install_chart }}and passes no--version, so an OCI reference resolves the highest semver tag. Patterns opt in by settingmain.gitops.applicationHealthCheckEnabled: "true"invalues-global.yaml.Chart version bumped to 0.0.19; the
v0.0.19tag on merge triggers the usual publish workflow.Test plan
helm lint— clean.helm templateA/B: default render unchanged (all five keys absent); each key renders with the expected form when set (block scalar forcustomHealthChecks, quoted string forapplicationHealthCheckEnabled).make helm-unittest(helm-unittest 3.14.4-0.5.0): 59/59 pass, including 10 new cases (absent-by-default + set-value for each key) and the unchanged snapshot.Fixes #52
Refs validatedpatterns/coco-pattern#165