This directory contains pipeline definitions for our Concourse CI/CD system. Pipelines may be in Concourse YAML syntax, or templated using jsonnet.
Originally, we separated reusable tasks into task YAML files which were then referenced in the pipeline config YAML files. This is the only option for reusability provided by Concourse natively. However, these config YAMLs were limited, not supporting optional arguments, and making the resulting pipeline definition difficult to read. As a result we migrated to JSONnet templates, where the resulting pipeline has the entire configuration included. It also resulted in a 10x reduction in config file length.
Within templates, we follow some basic patterns. The main repeatable elements in Concourse Pipelines are Jobs and Tasks. We generally try to use templates directly rather than functions, and write as much directly as possible (i.e. not try to maximize the amount that is templated).
Used to perform testing of an internal artifact releasing system. It principally involves gcloud commands to publish PubSub messages.
Builds container images using Kaniko, and publishes them to private & public [Container Registry] registries.
Creates 'derivative' Debian image builds using Daisy with tooling pre-installed for use as a worker image in other jobs and workflows.
Compiles and packages various software using our package build Daisy workflows, also controls testing with CIT and releasing via gcloud PubSub messages to an internal artifact releasing system.
Builds the Public Images using Daisy, also controls testing with CIT and
releasing via either gce_image_publish
or via gcloud PubSub messages to an
internal artifact releasing system.
A pipeline used by Concourse to update other pipelines from this git repository.
A pipeline for performing releases to the Red Hat Update Infrastructure (RHUI) clusters managed for RHEL customers on Google Cloud.
Builds the Windows Public Images using Daisy, also controls testing with CIT
and releasing via either gce_image_publish
or via gcloud PubSub messages to an
internal artifact releasing system.