Live data from Hacker News

Kargo, a multi-stage application lifecycle orchestrator

akuity.io

11–20 of 83 posts

Re: Kargo, a multi-stage application lifecycle orchestrator

#11
Environment promotion is an area that has been severely lacking with GitOps tools. I've hacked together CI pipelines to do environment promotion with Argo CD before and it was far from my preferred approach, but I could never find a good GitOps way of handling it. Might check out the webinar tomorrow to see if this is something worth trying out.

Re: Kargo, a multi-stage application lifecycle orchestrator

#12

Is this tool similar to https://dagger.io/ ?

I think they are similar but a little different. From Dagger's website "Dagger is a programmable CI/CD engine that runs your pipelines in containers" Kargo is a tool that works with your existing CI and CD (Argo CD) to help promote your code from one stage (Dev, UAT, QA, Prod, etc) to the next. Kargo has native support for Argo CD today, but one of it's goals is to be agnostic and could probably work with Dagger or o…

I'm looking forward to seeing support for other GitOps tooling. Argo CD makes sense initially since this is by the same creators, but it would be nice to see agnostic tooling that can support other GitOps tools like Flux. I hope this is something that we will actually get to see and isn't just an empty promise.

Re: Kargo, a multi-stage application lifecycle orchestrator

#13
What about having a git repo that has a Kustomize base which has overlays for different environments?

This way each environment is in its own directory which can have its own patches such as using a private load balancer instead of public for a staging environment or setting whatever environment variables that need to be different.

Then at the Argo CD level, Argo CD running in prod will look for an Application in the prod/ directory and Argo CD running in staging will look for an Application in the staging/ directory.

All in all you end up deploying the same artifact across environments and all of this is managed and exposed by Argo CD. For example you might want AutoSync enabled for staging so developers can auto-deploy their code but prod requires a tech lead or manager to push the sync button to deploy it.

The above works well in practice and isn't too complicated to pull off.

Re: Kargo, a multi-stage application lifecycle orchestrator

#15

As of writing this, there are 5 total comments, 4 of which are by very inactive or brand new accounts with no activity, adding unhelpful/low-effort posts like: > Something like this is definitely needed in the GitOps space...always felt like something was missing between promoting things and rolling them out > Interesting. Will share with my team and try it out. > There is a webinar tomorrow with Kelsey Hightower! He…

[deleted]

Re: Kargo, a multi-stage application lifecycle orchestrator

#16
post #13

What about having a git repo that has a Kustomize base which has overlays for different environments? This way each environment is in its own directory which can have its own patches such as using a private load balancer instead of public for a staging environment or setting whatever environment variables that need to be different. Then at the Argo CD level, Argo CD running in prod will look for an Application in the…

This approach definitely works, but its not the most convenient imo. At least in my experience, this always resulted in separate commits to dev/stage/prod as you progress through each part of the promotion process. It works, sure, but depending on your exact situation it can get cumbersome pretty quickly (for example, start adding in multiple prod regions, or maybe you want to canary one prod region first).

With Kargo, it looks like it lets you define your preferred promotion process, and then lets you release each promotion with a single click. I think the part that is the most interesting to me though is that it writes the changes it is making directly to the git repo.

Re: Kargo, a multi-stage application lifecycle orchestrator

#17

As of writing this, there are 5 total comments, 4 of which are by very inactive or brand new accounts with no activity, adding unhelpful/low-effort posts like: > Something like this is definitely needed in the GitOps space...always felt like something was missing between promoting things and rolling them out > Interesting. Will share with my team and try it out. > There is a webinar tomorrow with Kelsey Hightower! He…

If you suspect abuse, email the mods since this sort of meta tends to go to thread hell.

Re: Kargo, a multi-stage application lifecycle orchestrator

#18
I've used Flux, Flux2 and Argo for GitOps, and they all had their quirks. In general it seems that most CloudNative projects were kinda set in their own vision with very opinionated devs and a lot of corner cases that are not accounted for and won't be accounted for.

I have a little bit of hope that this one is going to be different with the lessons they got from Argo, but I'm not holding my breath.

Ps. when I first saw Argo, I thought this is it. The solution to all my problems.

Re: Kargo, a multi-stage application lifecycle orchestrator

#19
I've only skimmed the quickstart docs https://kargo.akuity.io/quickstart/ but this snippet immediately clicks for me as something that I'd want to try

    cat 
Have enjoyed using argo in general in the past, its got a great model for k8s native workflows / events but never got to using it for CD.

Re: Kargo, a multi-stage application lifecycle orchestrator

#20
post #14

Sounds promising. Vaguely terraform like in its application to outside subscription services. Can’t say I’m a fan of “we call it freight” though. Artefact is a perfectly fine word.

I tend to agree, the abstraction from common language (e.g. artifact) is fun because it stays on theme with the "kargo" name but can make it difficult for new users to understand what is happening. I've always loved that in Argo CD, it's just an Application. No special name for something users are often going to refer to.
Post reply on HN