-
Notifications
You must be signed in to change notification settings - Fork 109
✨ Introduce v1alpha3 API #897
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for kubernetes-sigs-cluster-api-operator ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
[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.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/test pull-cluster-api-operator-e2e-main |
@Fedosin: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions 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. I understand the commands that are listed here. |
What this PR does / why we need it:
Introduce v1alpha3 API with Simplified Provider Configuration
Motivation
The v1alpha2 API introduced a
ManagerSpec
type that abstracted manager configuration (metrics, health probes, leader election, etc.) into a separate structure. While well-intentioned, this approach created unnecessary complexity and reduced flexibility when users needed to configure provider-specific flags. This change simplifies the API by consolidating all provider configuration directly intoContainerSpec.Args
, making the API more transparent and easier to understand.Key Changes
1. Removed ManagerSpec and Related Types
The following types have been removed:
ManagerSpec
- All fields converted to container argsControllerManagerConfiguration
- Configuration now in argsControllerConfigurationSpec
- Controller settings now in argsControllerMetrics
,ControllerHealth
,ControllerWebhook
- All configuration now in args2. Simplified AdditionalDeployments
map[string]AdditionalDeployments
(wrapper struct with Manager + Deployment fields)map[string]DeploymentSpec
(direct deployment specifications)Note: During conversion,
ManagerSpec
fields inadditionalDeployments
are not converted to args, as additional deployments are not Cluster API providers.3. Direct Container Args Configuration
All manager configuration is now specified directly as container arguments:
Instead of the previous structure:
4. Automatic Conversion
Benefits
Migration
Users can continue using v1alpha2 resources - they will be automatically converted to v1alpha3 internally. A comprehensive migration guide is included in the documentation.
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #