Add ARO HCP proposal for CAPZ support#6134
Add ARO HCP proposal for CAPZ support#6134marek-veber wants to merge 2 commits intokubernetes-sigs:mainfrom
Conversation
|
Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Hi @marek-veber. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
36c8c62 to
9e6d542
Compare
Adds comprehensive proposal document for implementing Azure Red Hat OpenShift Hosted Control Plane (ARO HCP) cluster provisioning using Cluster API Provider Azure (CAPZ). The proposal covers: - Architecture and design for ARO HCP integration with CAPZ - ASO resource definitions and CAPI contract implementation - KeyVault and encryption key management - Security considerations and alternatives This document serves as the technical foundation for ARO HCP CAPZ development and provides guidance for customers deploying ARO HCP clusters via CAPZ.
9e6d542 to
3949aeb
Compare
|
/ok-to-test |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6134 +/- ##
=======================================
Coverage 44.43% 44.43%
=======================================
Files 280 280
Lines 25367 25367
=======================================
Hits 11272 11272
Misses 13283 13283
Partials 812 812 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
willie-yao
left a comment
There was a problem hiding this comment.
Thanks for your hard-work on this proposal and your patience @marek-veber! I think the amount of detail here is great and gives us a good understanding of ARO HCP integration in CAPZ. I do have a few questions and concerns about the proposal that came up previously in our team discussions:
- Relationship to AzureASOManagedControlPlane: I like that the proposal is using an ASO-native architecture like AzureASOManagedControlPlane. However, it looks like there are extra fields in these CRDs on top of the ASO resources. Are those required to make this work, and this can't be used directly with the existing AzureASOManagedControlPlane? If that's the case, can you ad an "Alternatives Considered" section explaining why this is the case? Understanding what's ARO-specific enough to require separate CRDs would help us evaluate the tradeoff of maintaining a parallel set of types.
- Custom Azure SDK usage: The keyvaults service using direct Azure SDK calls is the main area where this diverges from our target architecture. Is there an ASO issue tracking key version retrieval support? If so, could the proposal include a plan to remove this service once ASO covers it?
- Maintenance ownership: For new controller logic like this, we need an explicit statement about who owns long-term maintenance. Could you add a "Maintenance and Ownership" section clarifying that the ARO team will maintain these controllers and that the CAPZ core team is not expected to own ARO-specific logic?
|
|
||
| ### KeyVault Service and Encryption Key Management | ||
|
|
||
| While most resources are managed via ASO, the **keyvaults service** handles encryption key management when `identityRef` is set: |
There was a problem hiding this comment.
The direct Azure SDK usage for key management is the one area where this diverges from the ASO-native pattern. I understand ASO doesn't currently have a CRD for Key Vault keys (only the Vault itself), so this seems necessary for the auto-creation path. Could you note in the proposal that this is a gap in ASO's coverage and link to an upstream ASO issue (or file one) requesting key management CRDs? That way we have a clear path to removing this SDK dependency if/when ASO adds support.
| - **Dependency Timing**: Proper condition checking prevents premature resource creation | ||
| - **Resource Cleanup**: Owner references ensure cascading deletion of related resources | ||
|
|
||
| ## Graduation Criteria |
There was a problem hiding this comment.
Could we add criteria around CAPZ architectural alignment here? Something like:
- Maintenance ownership documented and agreed upon
- Plan to remove keyvaults SDK service when ASO supports key version retrieval
- Acknowledgment that these APIs follow the deprecated-path pattern and CAPZ's long-term direction is toward pure ASO-native controllers
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
8cb10a4 to
acbda88
Compare
Updates based on willie-yao's review comments: - Update metadata: add reviewers, fix dates, change status to implementable - Fix API versions: v1beta2 → v1beta1 throughout examples - Add "Alternatives Considered" section explaining why separate CRDs are needed - Add "Maintenance and Ownership" section clarifying ARO team ownership - Document ASO migration plan with dependency chain - Add references to ARO-HCP repository and API specifications - Note API versions: 2024-06-10-preview (private) vs 2025-12-23-preview (public) - Add ASO issue reference for key management gap - Update graduation criteria with ownership and migration commitments Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
acbda88 to
776d9b0
Compare
Adds a comprehensive proposal document for implementing Azure Red Hat OpenShift Hosted Control Plane (ARO HCP) cluster provisioning using Cluster API Provider Azure (CAPZ).
The proposal covers:
This document serves as the technical foundation for ARO HCP CAPZ development and guides customers deploying ARO HCP clusters via CAPZ.
What type of PR is this?
/kind design
What this PR does / why we need it:
We want to design how to provision Azure Red Hat OpenShift Hosted Control Plane (ARO HCP) clusters using CAPZ,