A repository to test ArgoCD with Helm
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.0.0/manifests/install.yaml
ARGO_PWD=$(kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d)
# Set in nodePort
kubectl patch svc argocd-server -n argocd -p '{"spec": { "type": "NodePort", "ports": [ { "nodePort": 31550, "port": 80, "protocol": "TCP", "targetPort": 8080 } ] } }'
argocd login --username admin --password $ARGO_PWD localhost:31550 --insecure
# argocd account update-password
Select the configuration menu and add a repositry in ssh
Select Projects in the configuration menu and create a project
- Set the name
- Set the repository
- Set the cluster
- Allow cluster resources and namespace resources
Select the Roles tab.
Remember to create the role without policies, then update it with the policy
From the Manage application menu create a new app
- Give the application a name
- Select a project
- Always nice to have an automatic sync
- Prune resources and self-heal to have the exact state of Git
- Auto-create namespace if you need it
- Set the repository url, branch and path to the chart
- Select the cluster and the namespace
- Choose the
values.yaml
file for the helm chart - Customize parameters
Go back to project configuration and select the "Add sync windows" button on top.
Update deployment image by changing the image: nginx
into image: busybox
in the values.yaml
file. Then commit and wait for the sync.