I use ArgoCD, helm and Openshift with gitOps process. I have repository A (parent), with vales.yaml
and values-ext.yaml
files, which uses dependencies from repository B (subcharts).
Repository B also has two files, values.yaml
and values-ext.yaml
.
How to use valeus-ext.yaml
from sub charts in parent charts to fill templates from subcharts/templates/configmap.yaml. By default, only the values.yaml from subcharts is taken to parent charts.
The structure looks like this:
├── charts
│ └── subcharts.tgz
├── Chart.yaml
├── templates
│ └── another-k8s-objs.yaml
├── values-ext.yaml
└── values.yaml
Chart.yaml file:
apiVersion: v2
name: example-application
version: 0.1.0-dev.1
dependencies:
- name: subcharts
version: 0.1.0
repository: "@stable"
subcharts.tgz file:
subcharts
├── Chart.yaml
├── templates
│ └── configmap.yaml
├── values-ext.yaml
└── values.yaml
I tried to define the path to values-ext.yaml
in subcharts in ArgoCD Application:
project: example-application
source:
repoURL: >-
https://path-to-repo-A/example-application.git
path: .
targetRevision: HEAD
helm:
valueFiles:
- values.yaml
- charts/subcharts/values-ext.yaml <---- failed
...
but ArgoCD first checks if all items from valueFiles
exist, then downloads sucharts.tgz
dependency which it doesn't unpack, so I get the error:
charts/subcharts/values-ext.yaml: no such file or directory