Request for ability to add inputs to separate file and call from files

Problem to solve:

An enterprise customer's DevOps teams maintains a shared library of pipelines on behalf of developer teams (developers do not author pipelines, they only supply environment variables). They are migrating to GitLab from Jenkins, and are using CI/CD Components to implement "golden pipelines" for the dev teams to consume.

They have created a top-level component that calls multiple lower-level components depending on the workload (ex: a maven_build component and a gradle_build component that are conditionally loaded based on env variables).

The challenge: they are using spec:inputs at both the top-level and lower-level to parameterize the pipeline, which is difficult for them to maintain. They would like to extract all of the spec:inputs across their entire shared library to a single external file (ex: inputs.yml) that each of the CI/CD components reference

Requirements for solution:

  • the ability to reference a file like inputs.yml containing spec:inputs that can be reference inside a CI/CD component (like spec:inputs:reference)
Edited by Ryan Taylor