Skip to content
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

Introduce core.gardener.cloud/v1.ControllerDeployment API #9771

Merged
merged 16 commits into from
May 22, 2024

Conversation

timebertt
Copy link
Member

@timebertt timebertt commented May 16, 2024

How to categorize this PR?

/area dev-productivity usability
/kind enhancement

What this PR does / why we need it:

This PR introduces the new core.gardener.cloud/v1 API version including the ControllerDeployment resource.
The v1 API drops support for custom types and replaces providerConfig with a proper API structure for helm-based ControllerDeployments.
gardener-apiserver stores the ControllerDeployment resource in the v1 version but can perform lossless conversion from and to v1beta1.

The new API version is introduced to support further developments augmenting helm-based ControllerDeployments (e.g., OCI registry support instead of raw charts).
As we move away from the providerConfig approach, we need a new API version.

All other core.gardener.cloud resources are still only available in v1beta1. This PR lays the foundation for graduating other resources to v1 later on as well.

Which issue(s) this PR fixes:
Part of #9773

Special notes for your reviewer:

Co-Authored-By: @maboehm

Release note:

A new `core.gardener.cloud/v1` API version is introduced which only includes the `ControllerDeployment` resource for now. The new version of the `ControllerDeployment` drops the `type` and `providerConfig` fields in favor of a well-structured section for helm-based `ControllerDeployments`.
`ControllerDeployment` objects using a custom type (other than `helm`) are deprecated. Support for custom types will be removed when the `core.gardener.cloud/v1beta1` API version is dropped.
The `hack/generate-controller-registration.sh` script now generates a `ControllerDeployment` object in the `core.gardener.cloud/v1` API version.

@gardener-prow gardener-prow bot added area/dev-productivity Developer productivity related (how to improve development) area/usability Usability related kind/enhancement Enhancement, improvement, extension labels May 16, 2024
@gardener-prow gardener-prow bot requested review from acumino and shafeeqes May 16, 2024 13:31
@gardener-prow gardener-prow bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. labels May 16, 2024
@timebertt
Copy link
Member Author

/retest

@rfranzke
Copy link
Member

/assign

Copy link
Member

@rfranzke rfranzke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love it :) Looking forward. Thank you very much!

pkg/apis/core/types_controllerdeployment.go Outdated Show resolved Hide resolved
pkg/apis/core/types_controllerdeployment.go Outdated Show resolved Hide resolved
@timebertt
Copy link
Member Author

Thanks, done. PTAL :)

@gardener-prow gardener-prow bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 21, 2024
@timebertt
Copy link
Member Author

PR needs rebase.

Done :)

@gardener-prow gardener-prow bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 22, 2024
@timebertt timebertt requested a review from rfranzke May 22, 2024 08:14
@rfranzke
Copy link
Member

I think we are good to go. Let's get this in, especially since it's a prerequisite for other features (cc @maboehm @kon-angelo @vknabel). Thanks for your efforts 🎉

/lgtm
/approve

@gardener-prow gardener-prow bot added the lgtm Indicates that a PR is ready to be merged. label May 22, 2024
Copy link
Contributor

gardener-prow bot commented May 22, 2024

LGTM label has been added.

Git tree hash: 0bf337020733a38ed7a143214c40a5da1af866b8

Copy link
Contributor

gardener-prow bot commented May 22, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rfranzke

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@gardener-prow gardener-prow bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 22, 2024
@timebertt
Copy link
Member Author

/retest

@gardener-prow gardener-prow bot merged commit 68664a3 into gardener:master May 22, 2024
18 checks passed
@timebertt timebertt deleted the controllerdeployment-v1 branch May 22, 2024 13:09
rfranzke added a commit to rfranzke/gardener that referenced this pull request May 31, 2024
rfranzke added a commit to rfranzke/gardener that referenced this pull request May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/dev-productivity Developer productivity related (how to improve development) area/usability Usability related cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. kind/enhancement Enhancement, improvement, extension lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants