Conversation
Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>
There was a problem hiding this comment.
Pull request overview
This PR adds a new hookless installation mode to the kedify-agent chart by moving CRD/CR bootstrap resources away from Helm hooks and attempting to self-clean those helper resources after installation. It mainly affects the chart’s install/uninstall lifecycle, bootstrap ordering, and hook-based extensibility behavior.
Changes:
- Adds a new top-level
hooklessvalue to disable Helm hooks for the chart’s CRD/CR bootstrap flow. - Converts CRD/KedifyConfiguration install resources to support non-hook execution, including wait logic and self-cleanup commands.
- Disables hook-based cleanup and extra pre/post install manifest helpers when
hooklessis enabled.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
kedify-agent/values.yaml |
Adds the new hookless chart value. |
kedify-agent/templates/extensibility/prepost-extra-manifests-rbac.yaml |
Skips hook-based extra manifest RBAC in hookless mode. |
kedify-agent/templates/extensibility/prepost-extra-manifests-job.yaml |
Skips hook-based extra manifest jobs in hookless mode. |
kedify-agent/templates/extensibility/prepost-extra-manifests-configmap.yaml |
Skips hook-based extra manifest ConfigMaps in hookless mode. |
kedify-agent/templates/crd-install/crd-rbac.yaml |
Removes hook annotations conditionally and adds hookless cleanup permissions. |
kedify-agent/templates/crd-install/crd-job.yaml |
Adds hookless CRD wait/self-delete logic and adjusts retries. |
kedify-agent/templates/crd-install/crd-configmap.yaml |
Makes CRD content ConfigMaps non-hook resources in hookless mode. |
kedify-agent/templates/cr-install/cr-rbac.yaml |
Removes hook annotations conditionally and adds hookless cleanup permissions for default CR install. |
kedify-agent/templates/cr-install/cr-job.yaml |
Adds CRD wait logic, hookless self-cleanup, and retry handling for default KedifyConfiguration creation. |
kedify-agent/templates/cr-install/cr-configmap.yaml |
Makes the default KedifyConfiguration payload ConfigMap non-hook in hookless mode. |
kedify-agent/templates/cleanup/cleanup-rbac.yaml |
Disables uninstall cleanup RBAC when hookless mode is enabled. |
kedify-agent/templates/cleanup/cleanup-job.yaml |
Disables uninstall cleanup job when hookless mode is enabled. |
kedify-agent/templates/agent-deployment.yaml |
Adds an init container to block agent startup until the default KedifyConfiguration exists in hookless mode. |
kedify-agent/templates/_helpers.tpl |
Makes CRD hook annotations conditional and adds a helper to derive CRD names from bundled files. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Jirka Kremser <535866+jkremser@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Jirka Kremser <535866+jkremser@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Jirka Kremser <535866+jkremser@users.noreply.github.com>
wozniakjan
approved these changes
May 5, 2026
92f790c to
d617cd8
Compare
Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>
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.
There are actually 3 modes now when it comes to hooks and creating cr(d)s:
--set hooks=helmis the default one and this is the status quo so it behaves copletely the same as before => using helm hooks for creating cr(d)s and for cleanup--set hooks=jobsis trying to replace the helm hooks w/ ordinary k8s jobs that deletes itself. This is useful for environments that don't render the helm hooks (helm template --no-hooks ... | k apply -f -). Like EKS plugins. Check the (*) caveats section.--set hooks=argo. This guy just renders CRDs and CRs w/o any support jobs that is trying to create them. Custom argo annotations are added on those resources in order to make sure the right order is enforced (sync waves for crds (-5) and -4 for cr, default is 0)For the last two, also init container is added to agent deployment that waits for kedify config CR to exist.
(
*): caveats:"1." is okish, just 2 clusterrolebindings are left in the install ns
"2." can cause some headaches and we should document this. workaround:
How to test this?
or for argo (orgId & apiKey needs to be filled in the argo app):
charts/kedify-agent/test/argocd-application.yaml
Lines 1 to 3 in d617cd8