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

Add enhancements to easily output manifests for GitOps #488

Open
sudermanjr opened this issue Nov 22, 2021 · 4 comments
Open

Add enhancements to easily output manifests for GitOps #488

sudermanjr opened this issue Nov 22, 2021 · 4 comments
Labels
enhancement Adding additional functionality or improvements go Pull requests that update Go code pinned Prevents stalebot from removing

Comments

@sudermanjr
Copy link
Member

sudermanjr commented Nov 22, 2021

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
@sudermanjr sudermanjr added the enhancement Adding additional functionality or improvements label Nov 22, 2021
@lucasreed lucasreed changed the title Add enhancements to easily output manifests for GitOps [Go version] Add enhancements to easily output manifests for GitOps Dec 1, 2021
@jpelletier1
Copy link

Is this a realistic scenario for someone using this enhancement?

  • As a DevOps lead for a development team at BigCo, I need to get my app deployed to the company's multi-tenant cluster. I decide to use Reckoner to enable a GitOps approach for the namespaces I am responsible for.

@lucasreed
Copy link
Contributor

lucasreed commented Dec 16, 2021

Is this a realistic scenario for someone using this enhancement?

  • As a DevOps lead for a development team at BigCo, I need to get my app deployed to the company's multi-tenant cluster. I decide to use Reckoner to enable a GitOps approach for the namespaces I am responsible for.

👋 Hey @jpelletier1, yes I think so assuming this person will use a tool we plan to support here. We are targeting Argo-specific stuff here first, but would certainly entertain other tools to add support for later.

@jpelletier1
Copy link

That's great, thanks Luke!

Reason why I ask: We're looking to enable Insights to be more developer-friendly. For example, giving developers an easy way to get metrics, logs, cost, state about their apps from a single location. I could see reckoner being a nice OSS way to make it easy for developers to get their apps deployed, and then leverage Insights as a way to collect/gather all the info they need about their apps.

At least, that's the vision :) Having Reckoner used at the beginning stages of that process could be neat.

@lucasreed lucasreed added go Pull requests that update Go code and removed golang labels Feb 28, 2022
@lucasreed lucasreed added this to the Reckoner + Gitops milestone Apr 13, 2022
@lucasreed
Copy link
Contributor

@lucasreed lucasreed changed the title [Go version] Add enhancements to easily output manifests for GitOps Add enhancements to easily output manifests for GitOps Apr 13, 2022
@github-actions github-actions bot added the stale Marked as stale by stalebot label Jun 13, 2022
@sudermanjr sudermanjr added pinned Prevents stalebot from removing and removed stale Marked as stale by stalebot labels Jun 22, 2022
@sudermanjr sudermanjr reopened this Jun 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Adding additional functionality or improvements go Pull requests that update Go code pinned Prevents stalebot from removing
Projects
Status: Done
Development

No branches or pull requests

3 participants