5 ms·
Did you mean argowf instead of argocd? Argocd is pretty simple and only syncs k8 resources.
by AaronM 3y ago
Did you mean argowf instead of argocd? Argocd is pretty simple and only syncs k8 resources.
- gabereiser 3y agoI mean that node (not js) dashboard to build pipelines and make things look logical instead of writing 4 lines of bash. I'm not a fan of anything that adds complexity. ArgoCD/WF/ALL ARGO... is just a pretty dashboard over cli tooling. ./deploy.sh <repo>@<version> <pod-name> This is the contract you should focus on. Whatever you need to make ./deploy.sh do this, do it.
- psYchotic 3y agoIsn't ArgoCD more of a GitOps tool? The pretty UI is mostly secondary to its main purpose for me, which is to keep the declarative "truth" in source control, and have ArgoCD be the control loop that keeps the cluster in sync with that truth. Accidentally nuked namespace? No worries, ArgoCD's (or whatever alternative, like flux) got your back!
- rrrix1 3y agoExactly this. The critical difference being who deploys and when/how your resources are deployed - a human, or a machine. Having git be the source of truth of your production environment is a blessing and a curse which is directly related to the maturity of the deployment system. If you have low confidence in your deployments (as in, you don't deploy very often and don't have full e2e tests & monitoring), GitOps is nightmarishly scary compared to classic, battle tested Ops team CLI scripts.
- gabereiser 3y agoI don’t accidentally do anything in production. Sorry. Nor do my teams or any developers who have access to my clouds. These kinds of failures don’t happen in my world. You will not have a mutable environment outside of data storage. Period. Nuke all you want, it will repair and redeploy itself.
- Klugistiono 3y agoHave you ever used ArgoCD? No one EVER should run deploy.sh like how you propose it. ArgoCD abstracts away access to a k8s cluster (login through dex). It has strategies of how to deploy k8s resources like through retry, replace (which you would need to write manually in your deploy.sh). It gives you debug output for your deploy process (yes thats a thing, you do not assume every deploy just works). ArgoCD also can and should be used to reference secerts from secret store like vault. And it gives you a history/audit.
- withinboredom 3y agoAnd fuck-us-all if you go on vacation. In a small business (read: startup), `deploy.sh` is all you should have. When you go on vacation and it breaks, I just need to read a bit of bash/python/php/whatever-script-you-use.lang and fix the broken stuff.
- Klugistiono 3y agoI introduced ArgoCD to a project with 20 teams and the acceptance from developers was very high. What they had befor was a terraform based pipeline (i would argue similiar to a deploy.sh) and they struggled with those scripts hard. ArgoCD with dex is easily integrated in your auth system and you don't need to write some scripts to handle issues like login errors, timeouts etc. I have seen plenty of bash scripts which do exactly what they should do with 0 error handling and it was always a pain in the ass to analyse and fix those scripts.
- gabereiser 3y agoI used it at a Fortune 500. I’ve used it at a Fortune 100. I’ve used it in a small startup. I stand by my statement. It solves problems self inflicted due to crappy cloud architecture and mutable environments. Running a simple deploy script means your DevOps pipelines and cloud are mature enough to handle rollbacks, failures, blue/green deployments, and any migrations applied after a data snapshot (whatever that looks like in your architecture).
- 3y ago