-
Notifications
You must be signed in to change notification settings - Fork 5.7k
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
Custom health assessments for CRDs #911
Comments
Alternatively, rather than a plugin mechanism, we could bake the health assessments directly into the health assessment library, starting with well known CRD types. Then rely on contributions to build up the library of health statuses. This would provide a more seamless experience, but is subject to breaking version changes, |
A use case has come up where a user has Ingresses where status.loadBalancer will not be expected to be populated. Therefore, the ingress will always be Progressing, making the entire application "Progressing". I think we should make the built-in types customizable as well, for when the built-in assessments are not what the user wants. This means we should employ a "plug-in" style of customized health assessments, which could even be applied to the built-in types. |
The direction we are going with customized health assessments is to have this configurable with embeddable Lua scripts that the user can configure in the argocd-cm configmap. Health assessment scripts would be made per group/Kind. The reason for choosing Lua script (over something more familiar like javascript/typescript) is it's superior embedability. (Also read helm v3's rationale for choosing Lua: https://sweetcode.io/a-first-look-at-the-helm-3-plan/) Argo CD will provide a built-in library of scripts for popular CRD types (such as cert-manager), to provide a good out-of-box experience, and welcome contributions from the community. Any built-in assessments can always be overridden by a script which is configured in the configmap. |
Fixed |
I was trying to set up cert-mananger and realized that Argo CD would benefit from being able to have some way of assessing health for custom CRD types.
In my case, my cert URL was invalid:
I think we need a flexible way to allow users to provide some assess health heuristics of CRDs based on group/Kind. Maybe some jq expression
The text was updated successfully, but these errors were encountered: