Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(app): add ignore-healthcheck annotation #20462

Merged

Conversation

CefBoud
Copy link
Contributor

@CefBoud CefBoud commented Oct 18, 2024

Closes #19284

Description

This PR introduces the argocd.argoproj.io/ignore-healthcheck annotation for an Application's immediate children. This allows the health status of these child resources to be disregarded when assessing the overall health of the Application. This is particularly useful when the unhealthiness of a child resource is acceptable and should not affect the Application's health evaluation.

Checklist:

  • Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this does not need to be in the release notes.
  • The title of the PR states what changed and the related issues number (used for the release note).
  • The title of the PR conforms to the Toolchain Guide
  • I've included "Closes [ISSUE #]" or "Fixes [ISSUE #]" in the description to automatically close the associated issue.
  • I've updated both the CLI and UI to expose my feature, or I plan to submit a second PR with them.
  • Does this PR require documentation updates?
  • I've updated documentation as required by this PR.
  • I have signed off all my commits as required by DCO
  • I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
  • My build is green (troubleshooting builds).
  • My new feature complies with the feature status guidelines.
  • I have added a brief description of why this PR is necessary and/or what this PR solves.
  • Optional. My organization is added to USERS.md.
  • Optional. For bug fixes, I've indicated what older releases this fix should be cherry-picked into (this may or may not happen depending on risk/complexity).

@CefBoud CefBoud requested review from a team as code owners October 18, 2024 21:46
Copy link

bunnyshell bot commented Oct 18, 2024

❌ Preview Environment deleted from Bunnyshell

Available commands (reply to this comment):

  • 🚀 /bns:deploy to deploy the environment

@CefBoud CefBoud changed the title feat(app): add ignore-healthcheck annoation feat(app): add ignore-healthcheck annotation Oct 18, 2024
@CefBoud CefBoud force-pushed the feat/add-skip-healthcheck-annotation branch 4 times, most recently from a8ac772 to a320f73 Compare October 23, 2024 12:36
@andrii-korotkov-verkada
Copy link
Contributor

There may be a better way, but need more context. See comments on the issue.

@@ -24,6 +25,9 @@ func setApplicationHealth(resources []managedResource, statuses []appv1.Resource
if res.Target != nil && hookutil.Skip(res.Target) {
continue
}
if res.Target != nil && res.Target.GetAnnotations() != nil && res.Target.GetAnnotations()[common.AnnotationIgnoreHealthCheck] == "true" {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the resources here all app resources or only immediate children?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only immediate childre. As per documentation: An Argo CD App's health is inferred from the health of its immediate child resources

Copy link
Contributor

@andrii-korotkov-verkada andrii-korotkov-verkada left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, rebase and make the tests pass.

Signed-off-by: cef <moncef.abboud95@gmail.com>
@CefBoud CefBoud force-pushed the feat/add-skip-healthcheck-annotation branch from a320f73 to c90f734 Compare November 9, 2024 19:07
Copy link

codecov bot commented Nov 9, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 55.15%. Comparing base (b78f209) to head (c90f734).
Report is 41 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #20462      +/-   ##
==========================================
- Coverage   55.17%   55.15%   -0.02%     
==========================================
  Files         324      324              
  Lines       55259    55261       +2     
==========================================
- Hits        30487    30479       -8     
- Misses      22158    22165       +7     
- Partials     2614     2617       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@ishitasequeira ishitasequeira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!

@ishitasequeira ishitasequeira merged commit 4a14051 into argoproj:master Nov 21, 2024
32 checks passed
@diranged
Copy link

diranged commented Dec 4, 2024

This is a great feature - and one I was just asking for at https://cloud-native.slack.com/archives/C01TSERG0KZ/p1733341603617349... any chance this will make it into 2.13.2?

adriananeci pushed a commit to adriananeci/argo-cd that referenced this pull request Dec 4, 2024
Signed-off-by: cef <moncef.abboud95@gmail.com>
Signed-off-by: Adrian Aneci <aneci@adobe.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

To ignore the health check of a specific Deployment
4 participants