Skip to content

Conversation

@kahirokunn
Copy link
Owner

What this PR does / why we need it:

This PR updates index.yaml for v0.21.3.

Automatically generated by make update-helm-plugin-repo.

Danil-Grigorev and others added 12 commits June 2, 2025 12:28
This change adds existing internal controller implementations into the `controller/alias.go` file.

This is an initial step towards addressing issue kubernetes-sigs#798, which aims to provide a public API for CAPI Operator providers. The current controller implementation is internal, and this change is a step towards organizing the internal structure, potentially in preparation for exposing parts of it or providing extension points for custom providers.

Signed-off-by: Danil-Grigorev <[email protected]>
Introduce a custom `Result` type for reconciliation phases to provide more granular control over the reconciliation flow, including a `Completed` flag.

Update phase functions and the phase runner to use the new `*Result` return type instead of `ctrl.Result`. This allows phases to signal completion explicitly, improving the logic for handling sequential phases.

Modify the generic provider controller and related components (manifests downloader, phases) to align with the new `Result` type and phase function signatures.

Signed-off-by: Danil-Grigorev <[email protected]>
Implement a phase-based framework for reconciling generic providers.
This refactors the main reconciliation loop into a sequence of distinct, ordered phases (e.g., download, install, delete).
Introduce `PhaseFn` and `phaseReconciler` types to manage phase execution.
Move existing reconciliation logic into dedicated phase functions.
Update the external `controller` package to epose aliases pointing to the refactored internal types for external import.

Signed-off-by: Danil-Grigorev <[email protected]>
enable it for all non core provider types (Infrastructure, Bootstrap, ControlPlane, Addon, IPAM, RuntimeExtension).

Signed-off-by: Danil-Grigorev <[email protected]>
…ernal-controllers

✨ Expose internal controllers
Separate cluster-api-operator into two charts to fix webhook timing issues:
- cluster-api-operator: operator deployment only
- cluster-api-operator-providers: provider Custom Resources

This ensures webhook readiness before applying provider CRs, preventing
"no endpoints available" errors during installation.

Breaking: Requires two-step installation:

```sh
helm install capi-operator capi-operator/cluster-api-operator \
  --create-namespace -n capi-operator-system --wait

helm install capi-providers capi-operator/cluster-api-operator-providers \
  -n capi-operator-system --set infrastructure.docker.enabled=true
```

Signed-off-by: kahirokunn <[email protected]>
Update hack/chart-update/main.go to process both cluster-api-operator
and cluster-api-operator-providers charts when updating index.yaml.
This ensures all charts are properly registered in the helm repository
index during the release process.

Signed-off-by: kahirokunn <[email protected]>
Add a new GitHub Actions workflow for smoke testing.

Signed-off-by: kahirokunn <[email protected]>
Providers can now define their own configSecret:
  core:
    cluster-api:
      configSecret:
        name: core-secret
        namespace: capi-system

If not specified, providers will use the global configSecret.

Signed-off-by: kahirokunn <[email protected]>
@kahirokunn kahirokunn merged commit eec4281 into main Jun 24, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants