This demo is based on kargo-advanced example.
Name | URL | Note |
---|---|---|
ArgoCD | notino-argocd.maresdemo.com |
Crendetials: User: admin , Pass: sIxEeez5-jC2ABD3 |
Kargo | notino-kargo.maresdemo.com |
Credentials: User: admin , Pass: admin |
Slides | Google Slides .pptx |
-
Prepare DigitalOcean infrastructure:
make infra-up
-
Export kubeconfig
make kubeconfig export KUBECONFIG=$(pwd)/infrastructure/kubeconfig.yaml
-
Install ArgoCD, Argo Rollouts, Kargo
make install-argocd make install-argorollouts make install-kargo
-
Install kargo and argocd cli
./scripts/download-cli.sh /usr/local/bin/kargo # argocd # macos: brew instal argocd
-
Login to Kargo and ArgoCD via cli
kargo login https://notino-kargo.maresdemo.com --admin # password: admin argocd login notino-argocd.maresdemo.com # username: admin, password: sIxEeez5-jC2ABD3
-
Create ArgoCD resources
argocd project create -f ./argocd/appproj.yaml argocd appset create ./argocd/appset.yaml # or via kubectl kubectl apply -f ./argocd
-
Create Kargo resources
kargo apply -f ./kargo
-
Create Kargo credentials with GitHub PAT for repository-write access
kargo credentials create github-creds \ --project notino-demo \ --username <your github username> \ --repo-url <github repo url over https>
-
Simulate fake release of new docker image
./scripts/new-tag.sh
In case something breaks, you can still manually approve Freight for stage promotion to get unstuck via kargo
cli:
kargo approve \
--freight <freight id> \
--stage prod \
--project notino-demo
To get the Freight ID, just list them with kubectl
:
kubectl get freight -n notino-demo
For more information, see documentation.
Analysis is an Argo Rollouts feature
There are some analysis examples in this repo for convenience: