To recreate demo...
-
Run minikube (
minikube start --driver=hyperkit
) -
Create an ArgoCD namespace
kubectl create namespace argocd
-
Install argocd in k8s
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
-
Install argocd CLI
brew tap argoproj/tap brew install argoproj/tap/argocd
-
Port-forward argocd server
kubectl -n argocd port-forward svc/argocd-server 8080:443
-
Login
argocd login 127.0.0.1:8080 --username admin --password <POD_NAME>
-
Add Abby's public git repo:
argocd repo add https://github.com/abangser/argocd-examples.git
-
Clone repo:
git clone [email protected]:abangser/argocd-example.git
-
Manually apply the two application resources:
kubectl apply -f app-helm.yaml -f app-kustomize-sed-deployment.yaml -f app-kustomize-sed-kustomization.yaml -f app-kustomize-set-image-cli.yaml
-
Load local ArgoUI at https://127.0.0.1:8080/applications
Expected state: We want Argo to update the deployment to use the newly created image tag based on the current commit.
Solution 4: Repackage our application using Helm 3 and feed a parameter override via the Argo application (argo-helm.yaml) Helm will be in a healthy state but the kustomize apps will not be as they have not had their "post commit" changes done yet.
NOTE: To reset either solution 1 or 2 for review, change the image tag in the kustomize base directories to not contain a valid commit hash and re-comment out the jobs in CircleCI.