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 the
ci-operator
, detailing builds and tests for component repositories.ci-operator/jobs
contains configuration for prow
,
detailing job triggers. In almost all cases, this configuration is
generated automatically from the ci-operator
config. For manual edits, see
this section
of the contribution document and the upstream configuration document. Prefer the ci-operator
config whenever possible.ci-operator/step-registry
contains the
registry of reusable test steps and workflows. See the documentation for
this content here.ci-operator/templates
contains black-box test
workflows for use by the ci-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.