HNHacker News
TopNewBestAskShowJobs

therealkrancour

6 karma · joined September 14, 2022

submissionscomments
therealkrancour··on Kargo, a multi-stage application lifecycle orchestrator
That's also deployment. It's a drop-in replacement for the Kubernetes Deployment resource type. It doesn't do anything to help you get things from point A to point B.
therealkrancour··on Kargo, a multi-stage application lifecycle orchestrator
Depending who you ask, CD stands for one of two things: Continuous _Deployment_ or Continuous _Delivery_ and they're not actually the same thing.

Want to go camping? You go on Amazon and order a tent. An Amazon truck _delivers_ it to you. Not the same as deployment. Deployment is when you pitch the tent.

Argo CD and Flux are great at Deployment. "Make this run in my cluster."

Neither of them addresses the other need -- delivery -- getting artifacts from point A to point B with adequate quality gates, etc. along the way.

therealkrancour··on Kargo, a multi-stage application lifecycle orchestrator
> In prod it wouldn't get rolled out until someone manually clicks the sync button

That's a great point and if that works for you, awesome! Note though that relies on the state of the prod Application to temporarily contradict the source of truth that is your repo. If you lose that prod Application and re-create it, prod will be in a state you hadn't yet blessed.

therealkrancour··on Kargo, a multi-stage application lifecycle orchestrator
Not much overlap. Dagger wasn't on my radar until now, but it reminds me of something else I used to work on and it frankly looks awesome!

But it looks to allow you to defines pipelines using your preferred imperative programming language -- which is awesome. I would totally use that for CI.

Kargo is really about divorcing CI and CD and creating something that's actually CD-focused and compatible with established GitOps principles.

therealkrancour··on Kargo, a multi-stage application lifecycle orchestrator
Freight often contains multiple artifacts. Container would have been a nice word, but it's taken. ;)
therealkrancour··on Kargo, a multi-stage application lifecycle orchestrator
I am a lead on Kargo. That's a great approach you've described and Kargo helps you make that approach work even better. It's not trying to re-solve problems that are already solved well by config management tools or by Argo CD. It provides a higher layer that integrates with those to orchestrate the progression of changes from one environment to another...

So in your example, suppose you changed something in your Kustomize `base/` directory. With _just_ Kustomize and Argo CD, those changes roll out to all environments all at once. With Kargo, you can progress the change and (re-)validate it environment-by-environment.