add releases type and release files
This MR adds the concept of release files which defines the images that should be used in a particular release and which of the releases is default
.
The default release would be deployed if the end user does not specify a particular GitLab release to deploy or as a fallback when an invalid release is specified.
Below is a snippet of a release file. All release files would take the form release_X.Y.Z.yaml
, where X.Y.Z
represents a semantic version for the new GitLab version:
version: 13.2.1
default: true
images:
- name: gitaly
image: registry.gitlab.com/gitlab-org/build/cng/gitaly:v13.2.1
- name: workhorse
image: registry.gitlab.com/gitlab-org/build/cng/gitlab-workhorse-ee:v13.2.1
- name: webservice
image: registry.gitlab.com/gitlab-org/build/cng/gitlab-webservice-ee:v13.2.1
- name: registry
image: registry.gitlab.com/gitlab-org/build/cng/gitlab-container-registry:v2.9.1-gitlab
...
Little to if the release architecture remains the same, the operator code should not require any changes.