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

DRAFT: ✨ default apibinding lifecycle controller (WorkspaceType Day2 Ops) #3279

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

blut
Copy link

@blut blut commented Jan 30, 2025

Summary

Added defaultAPIBinding lifecycle controller to maintain and update
APIBindings declared in WorkspaceTypes.

A user can declare a defaultAPIBindingLifecycle mode as Maintain or
InitializeOnly (default) on their Workspace.
This mode is synced to the LogicalCluster as annotation.

From there, a controller maintains the APIBindings on the LogicalCluster
in sync with the WorkspaceType (and dependencies thereof).
Any newly added defaultAPIBindings are added as APIBinding and newly
declared permission claims are accepted automatically.

Changes by the users (e.g. deleting a maintained APIBinding) are
reconciled by recreating the binding.

Related issue(s)

#3248

Fixes #

Release Notes

added a spec field to workspaces: defaultAPIBindingLifecycle which can be specified as InitializeOnly (default) or Maintain, which enables automatic creation and acceptance of APIBindings and their permission claims based on the WorkspaceType (and dependencies). 

blut added 5 commits January 30, 2025 16:01
…inding lifecycle controller

on-behalf-of: @eon-se [email protected]
Signed-off-by: Hannes Blut <[email protected]>
Added defaultAPIBinding lifecycle controller to maintain and update
APIBindings declared in WorkspaceTypes.

A user can declare a defaultAPIBindingLifecycle mode as Maintain or
InitializeOnly (default) on their Workspace.
This mode is synced to the LogicalCluster as annotation.

From there, a controller maintains the APIBindings on the LogicalCluster
in sync with the WorkspaceType (and dependencies thereof).
Any newly added defaultAPIBindings are added as APIBinding and newly
declared permission claims are accepted automatically.

Changes by the users (e.g. deleting a maintained APIBinding) are
reconciled by recreating the binding.

on-behalf-of: @eon-se [email protected]
Signed-off-by: Hannes Blut <[email protected]>
@kcp-ci-bot kcp-ci-bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. dco-signoff: yes Indicates the PR's author has signed the DCO. labels Jan 30, 2025
@kcp-ci-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign xrstf for approval. For more information see the Kubernetes Code Review Process.

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kcp-ci-bot kcp-ci-bot added kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jan 30, 2025
@kcp-ci-bot
Copy link
Contributor

Hi @blut. Thanks for your PR.

I'm waiting for a kcp-dev member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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/test-infra repository.

@kcp-ci-bot kcp-ci-bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jan 30, 2025
@blut blut changed the title Feat/default apibinding lifecycle controller ✨ default apibinding lifecycle controller (WorkspaceType Day2 Ops) Jan 30, 2025
@blut blut changed the title ✨ default apibinding lifecycle controller (WorkspaceType Day2 Ops) DRAFT: ✨ default apibinding lifecycle controller (WorkspaceType Day2 Ops) Jan 30, 2025
@embik embik self-requested a review February 5, 2025 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dco-signoff: yes Indicates the PR's author has signed the DCO. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants