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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

ArgoCD Integration #162

Open
brizzbuzz opened this issue Aug 12, 2023 · 8 comments
Open

ArgoCD Integration #162

brizzbuzz opened this issue Aug 12, 2023 · 8 comments

Comments

@brizzbuzz
Copy link

Hey, this project looks very promising! Seems like it's still early days, so this is just a feature request for getting this to work with ArgoCD (see you already have Flux support).

I will try to find some time to tinker around with it 馃 but wanted to get this feature request down for tracking purposes.

Cheers, rooting for the day I don't have to look at helm templates anymore :)

@stefanprodan
Copy link
Owner

ArgoCD has the concept of plugins so I guess you could integrate Timoni this way. Another option would be for the Argo team to implement Timoni the same way they did with Helm, by running timoni template.

@benbooth493
Copy link

Is it possible to write a custom plugin for ArgoCD and run:

timoni build api . --output yaml

Would that suffice do we think?

@jmgilman
Copy link
Contributor

Would that suffice do we think?

I think the issue is this removes the multi-step apply ability baked into the timoni.cue file. Also, I'm not sure how the instance name would get filled in by the Argo.

@jmgilman
Copy link
Contributor

I've started a Custom Management Plugin here: https://github.com/jmgilman/argo-cmp-timoni. You can configure an application to point to a directory that has a bundle.cue file in it and it will call timoni bundle build -f ./bundle.cue to generate the YAML for Argo CD to consume.

The only issue you'll face right now is if any of the OCI images are behind a private registry. We use AWS ECR, so I've provided a method using IRSA to enable pulling down private ECR images (see instructions in the README).

@tuananh
Copy link

tuananh commented Dec 15, 2023

but when we do this, we will ignore all the benefits of timoni right? argo-cd only template it and do the rest.

@jmgilman
Copy link
Contributor

but when we do this, we will ignore all the benefits of timoni right? argo-cd only template it and do the rest.

Can you explain what you are expecting to see? Argo doesn't support another configuration tool handling deployments. With Helm, it just uses helm template to generate the resource manifests and then it (Argo) manages the lifecycle of them from that point forward.

If you're wanting something different, I don't think Argo CD is a good choice :)

@mickdelaney
Copy link

ArgoCD can be told how to check any CRD for status, so surely when the Timoni Controller is actually GA i.e. read the note here https://timoni.sh/gitops-flux/
We can configure ArgoCD to play nice with the Timoni CRDs & Controllers ?

@jmgilman
Copy link
Contributor

jmgilman commented Jan 13, 2024

ArgoCD can be told how to check any CRD for status, so surely when the Timoni Controller is actually GA i.e. read the note here https://timoni.sh/gitops-flux/ We can configure ArgoCD to play nice with the Timoni CRDs & Controllers ?

Not sure that I am following about the health checks. AFAIK those are just to set the UI status? Or are you talking about something different?

One thing that doesn't make sense for that note is why the runtime wouldn't work when templating. Doesn't it need to perform all of the runtime logic before it generates the manifests? I haven't tried it myself yet, but it seems like an odd limitation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants