# openshift/release architecture

> Architecture diagram of the GitHub repository openshift/release, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/openshift/release
- Repository: https://github.com/openshift/release

## Overview

OpenShift Release Tooling is the configuration repository for OpenShift cluster manifests, component builds, and CI workflows. The principal workflow is that maintainers configure a component under `ci-operator/config`; that configuration describes builds and tests, while Prow job configuration supplies triggers and reusable steps come from the step registry. Cluster profiles and service manifests separately configure CI and test infrastructure. The README documents these capabilities; sampled source files are ancillary configuration-maintenance tools, so they do not establish additional runtime connections.

Main entry points: [`ci-operator/config`](https://github.com/openshift/release/tree/main/ci-operator/config) (Component CI config), [`ci-operator/jobs`](https://github.com/openshift/release/tree/main/ci-operator/jobs) (Prow jobs), [`core-services`](https://github.com/openshift/release/tree/main/core-services) (Core services), [`services`](https://github.com/openshift/release/tree/main/services) (Services)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["CI workflows"]
  node_component_ci["Component CI config"]
  node_ci_operator["ci-operator"]
  node_prow_jobs["Prow jobs"]
  node_prow["Prow"]
  node_step_registry["Step registry"]
  node_legacy_templates["Legacy templates"]
  node_build_test["Builds and tests"]
end

subgraph group_infrastructure["Cluster and services"]
  node_cluster_manifests["Cluster manifests"]
  node_ci_cluster["CI cluster config"]
  node_test_profiles["Test cluster profiles"]
  node_core_services["Core services"]
  node_services["Services"]
  node_legacy_projects["Legacy projects"]
end

subgraph group_image_tools["Image and tool manifests"]
  node_component_images["Component image manifests"]
  node_tool_images["Tool image manifests"]
end

node_maintainer(("Maintainer"))

node_maintainer -->|"configures"| node_component_ci
node_component_ci -->|"describes builds/tests"| node_ci_operator
node_prow_jobs -->|"defines triggers"| node_prow
node_prow -->|"invokes"| node_ci_operator
node_step_registry -->|"provides reusable steps"| node_ci_operator
node_legacy_templates -.->|"provides legacy tests"| node_ci_operator
node_ci_operator -->|"runs"| node_build_test
node_cluster_manifests -->|"includes"| node_ci_cluster
node_cluster_manifests -->|"includes"| node_test_profiles
node_core_services -->|"configures"| node_ci_cluster
node_services -->|"configures"| node_ci_cluster
node_legacy_projects -.->|"legacy configuration"| node_ci_cluster
node_component_images -.->|"builds images"| node_build_test
node_tool_images -->|"builds tool images"| node_ci_operator

click node_component_ci "https://github.com/openshift/release/tree/main/ci-operator/config"
click node_prow_jobs "https://github.com/openshift/release/tree/main/ci-operator/jobs"
click node_core_services "https://github.com/openshift/release/tree/main/core-services"
click node_services "https://github.com/openshift/release/tree/main/services"
click node_legacy_projects "https://github.com/openshift/release/tree/main/projects"
click node_component_images "https://github.com/openshift/release/tree/main/projects"
click node_tool_images "https://github.com/openshift/release/tree/main/tools"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_component_ci,node_ci_operator,node_prow_jobs,node_prow,node_step_registry,node_legacy_templates,node_build_test toneBlue
class node_cluster_manifests,node_ci_cluster,node_test_profiles,node_core_services,node_services,node_legacy_projects toneAmber
class node_component_images,node_tool_images toneMint
class node_maintainer toneIndigo
```

## Components

### CI workflows

- [Component CI config](https://github.com/openshift/release/tree/main/ci-operator/config): `ci-operator/config`
- **ci-operator**
- [Prow jobs](https://github.com/openshift/release/tree/main/ci-operator/jobs): `ci-operator/jobs`
- **Prow**
- **Step registry**
- **Legacy templates**
- **Builds and tests**

### Cluster and services

- **Cluster manifests**
- **CI cluster config**
- **Test cluster profiles**
- [Core services](https://github.com/openshift/release/tree/main/core-services): `core-services`
- [Services](https://github.com/openshift/release/tree/main/services): `services`
- [Legacy projects](https://github.com/openshift/release/tree/main/projects): `projects`

### Image and tool manifests

- [Component image manifests](https://github.com/openshift/release/tree/main/projects): `projects`
- [Tool image manifests](https://github.com/openshift/release/tree/main/tools): `tools`

### Other components

- **Maintainer**

## Connections

- Maintainer → Component CI config: configures
- Component CI config → ci-operator: describes builds/tests
- Prow jobs → Prow: defines triggers
- Prow → ci-operator: invokes
- Step registry → ci-operator: provides reusable steps
- Legacy templates → ci-operator: provides legacy tests
- ci-operator → Builds and tests: runs
- Cluster manifests → CI cluster config: includes
- Cluster manifests → Test cluster profiles: includes
- Core services → CI cluster config: configures
- Services → CI cluster config: configures
- Legacy projects → CI cluster config: legacy configuration
- Component image manifests → Builds and tests: builds images
- Tool image manifests → ci-operator: builds tool images
