Allow to use per-project customized values.yaml file in auto devops .gitlab-ci.yml template
Proposition:
Allow to specify custom values.yaml
file per project / group / environment, this would allow to create re-usable framework specific helm charts.
Major Gains for implementation request:
- Solves issue of attaching existing PVs / PVCs (testing on nfs volumes, deploying to real prod environment, etc)
- Minimize amount of maintenance on having to support charts for each project, and instead maintain only 1 per specific environment
- Use custom port for internalPort property
Details examples why this would be useful?:
Create one helm chart for wordpress-based websites with nginx static proxy sidecar container and a list of persistent volumes and attach PVs to in-container specific paths, also have another chart for some other company-wide templates for let's say dotnetcore-based apps, drupal or symfony, python or nodejs or any other framework or language based applications where there may be some common deployment specifics or environment requirements.
Current state
Currently, it is already possible to specify custom AUTO_DEVOPS_CHART and REPOSITORY https://docs.gitlab.com/ee/topics/autodevops/#custom-helm-chart This alone doesn't allow to create a fully re-usable chart, in cases where deployment requires some persistenvolume attachment or deployment instructions.
Proposed solution
If there was a way to specify on a per-project/group/environment/cluster level custom values.yaml file inside your repo (ie. using either common name pattern, or CI/CD env variables) or external path to values.yaml that should be applied during the deployment (ie. as a -f values.yaml
option, this would allow to create fully re-usable charts that are easy to maintain and keep up-to-date with best practices