-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Labels
enhancementAdding additional functionality or improvementsAdding additional functionality or improvementsgoPull requests that update Go codePull requests that update Go codepinnedPrevents stalebot from removingPrevents stalebot from removing
Milestone
Description
While looking into using tools like ArgoCD or Flux, we realized that the current reckoner template command could be used to generate a set of manifests that are monitored by a gitops tool. There are several things that might make that process easier:
- Provide the ability to run something along the lines of https://github.com/latchmihay/k8s-yaml-splitter or https://github.com/patrickdappollonio/kubectl-slice to spit out yaml manifests of each resource, rather than one giant manifest
- Output the manifests to a specific directory structure. Something like
manifests/<RELEASE NAME>- This would ideally be configurable - Output the application CRD for tools like ArgoCD
- Automatically disable the rendering of tests in helm charts
- Convert helm hooks to argocd hooks
- Potentially add metadata, such as a label, that would indicate the helm repository and the chart, as well as the fact that reckoner rendered the manifests
Some pitfalls/gotchas to watch out for:
- Secrets management. This is likely something that we don't necessarily need to worry about, but something to be aware of
- Decide how to handle namespace creation. Currently reckoner does this for us. Maybe we create namespace manifests that have all the labels/annotations that reckoner would have added?
- Watch out for charts that detect capabilities. Maybe we can pass in some apiversions?
- Handling deletion of manifests. If a manifest has been removed, how do we know?
- Handling list items (like in the prometheus-operator chart)
- Handling reckoner hooks - Maybe convert to argocd hooks?
Helm template flags that will need to be passed:
--skip-tests
--no-hooks
--include-crds
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementAdding additional functionality or improvementsAdding additional functionality or improvementsgoPull requests that update Go codePull requests that update Go codepinnedPrevents stalebot from removingPrevents stalebot from removing