How can I migrate my helm deployment to ArgoCD, taking into account my repository structure which includes a helm chart and a projects folder containing application-specific values to override default helm values.yaml? In my GitLab CI's deploy stage, I use the "helm upgrade" command to deploy the related application, but I'm struggling to apply this dynamic approach to ArgoCD. Could you provide any guidance or suggestions?
.gitlab.ci.yaml - deploy:
- git clone --depth 1 http://:${REPO_TOKEN}@companygitlab/devops/helm.git
- mv helm/bin/* /usr/local/bin/
- |
helm upgrade --install --atomic --timeout 10m0s \
-f ./helm/values.yaml \
-f ./helm/projects/${PROJECT}.yaml \
--set image.repository=${DOCKER_IMAGE_URI} --set appVersion=${CI_COMMIT_SHORT_SHA} \
--set 'ingress.hosts[0].host'=${DOMAIN_PRIVATE} --set 'ingress.hosts[1].host'=${DOMAIN_PUBLIC} \
${TARGET}-${PROJECT} \
./helm
Helm repo:
│ .helmignore
│ Chart.yaml
│ values.yaml
│
├───projects
│ apigateway.yaml
│ application1.yaml
│ application2.yaml
│ application3.yaml
│
└───templates
│ autoscaler.yaml
│ configmap.yaml
│ deployment.yaml
│ ingress.yaml
│ NOTES.txt
│ service.yaml
│ serviceaccount.yaml
│ _helpers.tpl
│
└───tests
test-connection.yaml