Design: Expand the allowlist of CI/CD variables that can be overridden

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Release notes

Problem to solve

With #295234 (closed) preventing non-maintainer users from specifying pipeline input variables when running it (e.g. manually from the UI) we can protect the environment variables from being overridden by users. This however does not protect against "which" variables can be inputted when running a pipeline. https://docs.gitlab.com/ee/ci/variables/#restrict-who-can-override-variables

  • A maintainer could run a pipeline and either intentionally or by mistake override variables such as PATH
  • Developers in a project should be allowed to input pipeline variables without the risk that a malicious user could override variables such as PATH.

In https://gitlab.com/gitlab-org/gitlab/-/issues/297250 we proposed an MVC solution to allow only the existing CI/CD variables to be overridden. This a simple solution that makes it possible to prevent unauthorized variables from being added.

We need to gather more insights about the nuances of the problem to see how we can extend this feature.

Proposed ideas

See threads in the issue below.

Intended users

Feature Usage Metrics

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 🤖