Welcome to the API documentation repository for Red Hat Advanced Cluster Management for Kubernetes (ACM). This repository provides detailed documentation for the core and extended APIs that power ACM and its ecosystem.
Advanced Cluster Management (ACM) enables you to manage multiple Kubernetes clusters, including OpenShift and other Kubernetes distributions, from a single control plane. ACM provides capabilities for cluster lifecycle management, application lifecycle, governance, risk, compliance, storage, container native virtualization, networking and edge management as well as observability across clusters.
This repository contains:
- Custom Resource Definition (CRDs) API documentation for ACM core components
- Links to API documentation for ACM add-ons and related open source projects
The core API documentation, including all ACM CRDs and their detailed specifications, can be found in the api-docs/README.md.
ACM integrates with and extends many open source projects. Below are links to API documentation for key external components and add-ons commonly used with ACM:
- **Gatekeeper (OPA)
- Policy and governance for Kubernetes clusters.
- **VolSync
- Asynchronous data replication for Kubernetes volumes, used for backup and disaster recovery in ACM-managed clusters.
- **Submariner
- Enables direct networking between pods and services in different Kubernetes clusters.
- **Open Cluster Management (OCM) APIs
- The upstream open source project powering ACM.
- **Cluster Lifecycle API (stolostron/cluster-lifecycle-api)
- Types and concepts for cluster lifecycle management in ACM and MCE.
- **Kubernetes Gateway API
- Next-generation service networking APIs, often used with ACM for advanced traffic management.
If you have additional ACM-related API documentation to link here, please submit a pull request!
To generate API documentation for the core ACM product (including multiclusterhub-operator, backplane-operator, and OCM):
make generateYou will be prompted for the release and backplane version numbers. The release- and backplane- prefixes are filled in automatically.
This command will:
- Clone the required repositories (multiclusterhub-operator, backplane-operator, ocm)
- Extract CRDs from the cloned repositories
- Generate API documentation from the CRDs
- Clean up the cloned repositories
Run make help to see all available commands.
Contributions to this documentation are welcome! Please open issues or pull requests for corrections, improvements, or to add links to additional ACM-related API documentation.
This repository is licensed under the Apache 2.0 License.
To add a workflow for a new release:
make init-releaseYou will be prompted for the release version (e.g. 2.16) and backplane version (e.g. 2.11), then asked to confirm. This generates a new workflow file (e.g. .github/workflows/generate-api-docs-release-2.16.yml) on main.
The release-X.Y branch must exist in the remote before the workflow can run. The scheduled cron job runs the workflow from main, checks out the release branch, generates docs, and commits them back to the release branch.