Read more about Argo CD here: Argo CD - Declarative GitOps CD for Kubernetes
kubectl create namespace myapp-dev
kubectl apply -f myapp/dev -n myapp-dev
Render chart templates locally:
helm template myapp-helm myapp-helm -f myapp-helm/values-dev.yaml
Install chart
kubectl create namespace myapp-helm
helm upgrade --install myapp-helm myapp-helm -f myapp-helm/values-dev.yaml -n myapp-helm
Uninstall chart
helm uninstall myapp-helm -n myapp-helm
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
or
kubectl create namespace argocd
kubectl apply -n argocd -f bootstrap/overlays/default
Ref: https://argo-cd.readthedocs.io/en/stable/getting_started/
Access Argo CD with port-forwarding
kubectl port-forward svc/argocd-server -n argocd 8080:443
or
make web
Get the default password
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo
or
make passwd
Create Argo CD Projects
kubectl apply -f components/argocdprojects/
Create Argo CD Applications
kubectl apply -f components/applicationsets/app.yaml
kubectl apply -f components/applicationsets/app-helm.yaml
or
kubectl apply -f components/applicationsets
Try to edit the deployment:
kubectl edit deployment -n myapp myapp-deployment
or
kubectl edit deployment -n myapp-helm myapp-helm-deployment
We'll see that Argo CD will revert back to the desired state.
kubectl delete -f components/applicationsets
kubectl delete -f components/argocdprojects
kubectl delete ns myapp-dev
kubectl delete ns myapp-helm-dev
kubectl delete ns argocd