fix(KFLUXVNGD-1267): Move disaster-recovery empty-base under staging/ to match ApplicationSet path - #13541
Conversation
Kustomize Render DiffComparing
Total: 1 components, +0 -0 lines 📋 Full diff available in the workflow summary and as a downloadable artifact. |
PR Summary by QodoFix ArgoCD DR ApplicationSet fallback by moving empty-base under staging/
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can keep summaries lean with Finding overflow, which tucks the rest behind 'View more' Previous review resultsReview updated until commit b2dbf8e Results up to commit bbe479e
|
🤖 Pipeline Failure AnalysisCategory: Configuration The Pipelines-as-Code controller failed to validate GitHub webhook payload signatures, preventing the triggering of new PipelineRuns after a disaster recovery restore. 📋 Technical DetailsImmediate CauseThe Pipelines-as-Code controller failed to validate incoming GitHub webhook payload signatures, as evidenced by "payload signature check failed" errors in the logs. This directly blocked the controller from processing webhook events and minting GitHub App tokens. Contributing FactorsThis issue likely stemmed from an invalid or out-of-sync webhook secret following the disaster recovery restore. The restoration process potentially failed to correctly re-establish the necessary shared secret between GitHub and the Pipelines-as-Code controller. ImpactThe inability to process webhook events meant that no new PipelineRuns were triggered in the 🔍 Evidenceappstudio-konflux-disaster-recovery/redhat-appstudio-konflux-disaster-recoveryCategory: Logs:
|
|
/test appstudio-konflux-disaster-recovery |
|
Unsupported PR languages |
|
/test appstudio-konflux-disaster-recovery |
|
Unsupported PR languages |
|
❗ Detected an outage of the following critical component(s)❗
Due to this issue E2E tests will probably fail. Please keep an eye on the following status pages: and add a comment |
… to match ApplicationSet path
The disaster-recovery ApplicationSet resolves paths as
components/disaster-recovery/{{environment}}/{{clusterDir}}, defaulting
to environment=staging and clusterDir=empty-base for clusters not
explicitly listed. The empty-base directory was at the wrong level
(components/disaster-recovery/empty-base/) so the fallback path
components/disaster-recovery/staging/empty-base/ did not exist.
This caused ArgoCD to report errors for clusters where
disaster-recovery should not be deployed (e.g. lightwell-dev).
Moving empty-base into the staging/ directory aligns the file layout
with the ApplicationSet path template, giving non-targeted clusters
a valid empty kustomization that deploys nothing.
Assisted-by: Cursor (claude-4.6-opus)
Signed-off-by: Avi Biton <abiton@redhat.com>
bbe479e to
b2dbf8e
Compare
|
Code review by qodo was updated up to the latest commit b2dbf8e |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #13541 +/- ##
=======================================
Coverage 60.38% 60.38%
=======================================
Files 24 24
Lines 1628 1628
=======================================
Hits 983 983
Misses 563 563
Partials 82 82
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: avi-biton, manish-jangra The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
fd23bf2
into
redhat-appstudio:main
The disaster-recovery ApplicationSet resolves paths as components/disaster-recovery/{{environment}}/{{clusterDir}}, defaulting to environment=staging and clusterDir=empty-base for clusters not explicitly listed. The empty-base directory was at the wrong level (components/disaster-recovery/empty-base/) so the fallback path components/disaster-recovery/staging/empty-base/ did not exist.
This caused ArgoCD to report errors for clusters where disaster-recovery should not be deployed (e.g. lightwell-dev). Moving empty-base into the staging/ directory aligns the file layout with the ApplicationSet path template, giving non-targeted clusters a valid empty kustomization that deploys nothing.
Checks:
empty-basedirectory lives atcomponents/disaster-recovery/staging/empty-base/components/disaster-recovery/staging/lightwell-dev/kustomize build components/disaster-recovery/staging/empty-base/succeeds with zero resourcesAssisted-by: Cursor (claude-4.6-opus)