Skip to content

Automatically use `.gitlab/auto-deploy-values.yaml` in Auto DevOps

Problem to solve

It's common for users to want to configure a bunch of the helm chart values used in the Auto DevOps deployment.

At the moment there are 2 ways for a user to do this:

  1. Using HELM_UPGRADE_EXTRA_ARGS with some --set for each value you want to override. This is quite limiting in that encoding complex values is difficult in another env var
  2. Using HELM_UPGRADE_EXTRA_ARGS with --values to point to a different YAML file in your repo as described in https://docs.gitlab.com/ee/topics/autodevops/#build-and-deployment

Option 2 is a good one since it allows you to version control the configuration which is generally encouraged in DevOps anyway but it seems a shame that this is not very obvious to users and requires a little trick that is not well documented and also requires the user to configure at least one thing as an environment variable which is not version controlled.

Intended users

Further details

Proposal

I think we should just allow users to add a YAML file to the repo and detect it automatically rather than needing to set HELM_UPGRADE_EXTRA_ARGS to point to it.

If the user adds a .gitlab/auto-deploy-values.yaml to their repo it should automatically be detected by Auto DevOps and used to override any values.yaml.

Basically we'd just add the --values .gitlab/auto-deploy-values.yaml to all the helm commands if the file is present.

Permissions and Security

Documentation

Testing

What does success look like, and how can we measure that?

Links / references

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖