I’m having a project where I’m using kustomize to build my manifests and my manifests are themselves referencing the values.yml file from helm. Here is the project structure:
project - helm-k8s - values.yml - Chart.yml - templates - base - chartInflator.yml - project-namespace.yml - grafana - grafana-service.yml - grafana-deployment.yml - grafana-datasource-config.yml - prometheus - prometheus-service.yml - prometheus-deployment.yml - prometheus-config.yml - prometheus-roles.yml - kustomization.yml - prod - kustomization.yml - test - kustomization.yml
In my chartInflator.yml, I have the following:
apiVersion: builtin
kind: ChartInflator
metadata:
name: project-monitoring-chart
chartName: project-monitoring
chartHome: ../../../helm-k8s/
releaseName: project-monitoring-chart
values: ../../values.yaml
releaseNamespace: project-monitoring-ns
I then navigate to the base folder where my kustomization.yml exsists:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
metadata:
name: project-monitoring-kustomization
generators:
- chartInflator.yml
resources:
# 0. Get the namespaces first
- project-monitoring-namespace.yml
# 1. Set up monitoring services (prometheus)
#- monitoring/prometheus/prometheus-roles.yml
- prometheus/prometheus-config.yml
- prometheus/prometheus-roles.yml
- prometheus/prometheus-deployment.yml
- prometheus/prometheus-service.yml
# 2. Set up monitoring services (grafana)
- grafana/grafana-datasource-config.yml
- grafana/grafana-deployment.yml
- grafana/grafana-service.yml
When I ran kustomize build ., it fails with the following message:
$ kustomize build .
Error: accumulating resources: accumulation err='accumulating resources from 'project-monitoring-namespace.yml': missing metadata.name in object {{v1 Namespace} {{ } map[name:] map[]}}': must build at directory: '/home/MyUser/Projects/deployments/monitoring/helm-k8s/templates/base/project-monitoring-namespace.yml': file is not directory
It seems like it is not applying the Values.yml correctly. How can I get around this?