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!
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 create a release branch and ensure the GitHub Action workflow uses the correct branches for external dependencies:
-
Create a Release Branch:
- From your main branch, create a new branch for the release. For example:
git checkout -b release-2.14 git push origin release-2.14
- From your main branch, create a new branch for the release. For example:
-
Update the GitHub Action Workflow:
- Edit
.github/workflows/generate-api-docs.yml
to set the correct default branch for cloning external repositories. - If your release branch is
release-2.14
, ensure the workflow or Makefile logic sets:CLONE_BRANCH=release-2.14
formulticlusterhub-operator
backplane-2.9
forbackplane-operator
(where2.9
is derived from the release as described in the Makefile logic)
- Edit
-
Commit and Push Changes:
- Commit your workflow achanges to the release branch:
git add .github/workflows/generate-api-docs.yml Makefile git commit -m "Update workflow for release-2.14" git push origin release-2.14
- Commit your workflow achanges to the release branch:
-
Run the GitHub Action:
- Trigger the workflow from the Actions tab, ensuring it runs on your release branch.
Refer to the Makefile and workflow comments for more details on how the correct branches are selected.