/gitops-argocd-demo-deployment

Primary LanguageMakefileCreative Commons Zero v1.0 UniversalCC0-1.0

gitops-argocd-demo-deployment

Deploying My App

kubectl create namespace myapp-dev
kubectl apply -f myapp/dev -n myapp-dev

Deploying My App with Helm

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

Deploying My App with Argo CD

Installing Argo CD

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.

Cleaning Up

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