We are trying to start using Argocd to manage our k8s cluster. For the migration we have a single helm chart that we use for multiple microservices. To do a POC of the migration we have created a new repo that contains the chart and all the value files it will use. When declaring the App manifest for Argo we did this:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: app-develop
namespace: argocd
spec:
project: default
source:
repoURL: 'https://user@github.org/repos/repo.git'
path: php-microservice
targetRevision: HEAD
chart: php-microservice
helm:
valueFiles:
- values/app/develop/values-1.yml
- values/app/develop/values-2.yml
- values/app/develop/values-3.yml
parameters:
- name: app
value: app-develop
destination:
server: 'https://kubernetes.default.svc'
namespace: default
syncPolicy:
syncOptions:
- CreateNamespace=true
This is the folder structure we have:
php-microservice/
├── templates/
├── values/
│ └── app/
│ └── develop/
│ ├── values-1.yml
│ ├── values-2.yml
│ └── values-3.yml
├── Chart.yml
├── .helmignore
└── values.yml
Each values file inside app/develop corresponds to the values file of one app.
Our problem is that Argo doesn't seem to recognize multiple files but just the last one. For any given deployment we have tried, only the last specified file is loaded and the rest is ignored. We have changed the order and we change the deployment, but we only see the k8s objects from the last file. Are we missing something here? Does Argo only support a single values.yaml per chart?