This repository holds OpenShift cluster manifests, component build manifests and CI workflow configuration for OpenShift component repositories for both OKD and OCP.
To setup a CI workflow for a new repository, use make new-repo
. See the
Contributing CI Configuration to the openshift/release Repository
document for detailed information about how to contribute to this repository.
Configuration files for CI workflows live under ci-operator/
and are split into the following categories:
ci-operator/config
contains configuration for theci-operator
, detailing builds and tests for component repositories.ci-operator/jobs
contains configuration forprow
, detailing job triggers. In almost all cases, this configuration is generated automatically from theci-operator
config. For manual edits, see this section of the contribution document and the upstream configuration document. Prefer theci-operator
config whenever possible.ci-operator/step-registry
contains the registry of reusable test steps and workflows. See the documentation for this content here.- [LEGACY]
ci-operator/templates
contains black-box test workflows for use by theci-operator
. The parent directory's README documents how to use them. See the template document for general information on template tests. Templates are legacy and new ones should not be added. Multi-stage tests using steps from the shared registry should be used instead.
Only core-services/secrets
folder is applied to the cluster api.ci.
Except user secret management, no services are running on api.ci
.
This folder is no longer applied to the cluster api.ci which is going to be offline soon.
Manifests for cluster provisioning and installation live under cluster/
.
The OpenShift CI cluster is configured with the
manifests under cluster/ci/
. (legacy: do not add new
services here. Use core-services
or
services
instead.)
Clusters that are created by the testing infrastructure for validating OpenShift
are configured with the profiles under cluster/test-deploy/
.
For directions on how to set up clusters for development, see the
README.
Manifests for services that are in development, experimental, legacy or not
critical in some other way are present in the projects
directory. Compared to the core services and
services configuration,
these projects do not need to follow any common structure or conventions other
than clear ownership. They must not interfere with the core services in any way.
Additionally, manifests for building container images for component repositories
live under projects/
. This purpose is deprecated; authors of
components built by manifests in this directory should remove them and ensure
that their component is appropriately built by the ci-operator
instead.
Manifests for building container images for tools live under tools/
.
These tools are either useful in managing this repository or are otherwise useful
commonly across component repositories.