MCPcopy Create free account
hub / github.com/Azure/ARO-HCP

github.com/Azure/ARO-HCP @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
13,174 symbols 45,163 edges 1,406 files ⚖ Apache-2.0 6,765 documented · 51% updated 1d agohcpctl-latest · 2026-08-25★ 39

Browse by type

Functions 10,266 Types & classes 2,908
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ARO-HCP

Description

This repository contains the code, configuration, and deployment pipelines for Red Hat OpenShift on Azure (ARO) using the Hosted Control Planes (HCP) architecture. It includes the ARM Resource Provider (frontend/backend), Cluster Service integration, management cluster controllers, and all Azure infrastructure as code.

Each component is encapsulated in a top-level directory with its own Makefile. A root Makefile provides targets for building all components and managing deployments.

For a full overview, see the documentation index and the high-level architecture.

[!TIP] Make Options Make Options describes how to customize the make build e.g. by defining the container engine to be used or limiting parallel jobs.

Development setup

For instructions on building out a dev environment for testing -- Review the Dev Infrastructure guide

For instructions on building and testing Frontend -- Check out Frontend's README

Remote Containers Development setup

The setup is based on VSCode Remote Containers. See here for more information.

VSCode should be installed from the official downloads page (as opposed to other sources, like flatpak). This is to avoid potential docker compatibility issues with the required extensions mentioned below.

The predefined container is in .devcontainer with a custom postCreate.sh. To use it, please install the Remote - Containers extension in VSCode.

The VSCode will have the following extensions installed: - golang.go - editorconfig.editorconfig - ms-azuretools.vscode-bicep - ms-vscode.azurecli - arjun.swagger-viewer

During the container setup, it also installs golangci-lint, which is the de facto standard for linting go.

On top of that, it sets up the Bicep CLI and the Azure CLI with the Bicep extension to simplify the development of infra code.

Finally, the container also contains the nodejs and sets up the typespec which is needed for the ARM contract development, as it is now mandatory to have the typespec in the ARM templates.

Most importantly, the container is set up to use the same user as the host machine, so you can use the same git config and ssh keys. It is implemented as a host mount in the .devcontainer/devcontainer.json file.

"mounts": [
    "source=${localEnv:HOME}/.gitconfig,target=/home/vscode/.gitconfig,type=bind,consistency=cached"
],

Note for Mac users

If you are developing on MacOS you will need to install both docker cli (NOT docker desktop) and colima. There have been issues with the devcontainer working with vscode using podman desktop.

brew install docker
brew install colima

Before running your devcontainer, make sure colima is started.

colima start --cpu 4 --memory 8 --vz-rosetta --vm-type=vz

Then, rebuild and connect to the dev container: cmd + shift + P => dev containers: rebuild container

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Method 5,527
Function 4,739
Struct 2,411
TypeAlias 259
Interface 189
FuncType 48
Class 1

Languages

Go100%
Python1%

Modules by API surface

internal/ocm/mock_client.go220 symbols
internal/api/zz_generated.deepcopy.go176 symbols
test/sdk/v20251223preview/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp/models_serde.go163 symbols
test/sdk/v20260630preview/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp/models_serde.go161 symbols
test/sdk/v20240610preview/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp/models_serde.go157 symbols
test/sdk/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp/models_serde.go157 symbols
internal/api/v20260630preview/generated/models_serde.go152 symbols
internal/api/v20251223preview/generated/models_serde.go148 symbols
internal/api/v20240610preview/generated/models_serde.go142 symbols
internal/ocm/client.go81 symbols
test/sdk/v20251223preview/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp/models.go80 symbols
test/sdk/v20260630preview/resourcemanager/redhatopenshifthcp/armredhatopenshifthcp/models.go79 symbols

For agents

$ claude mcp add ARO-HCP \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page