Skip to content

Conversation

@cnvergence
Copy link
Member

@cnvergence cnvergence commented Jun 12, 2025

Summary

Adding the provider for initializingworkspaces, sharing the code with apiexport provider.
Added example of controller and e2e test.

What Type of PR Is This?

/kind feature

Related Issue(s)

Fixes #17

Release Notes

Added initializingworkspaces virtual workspace provider

@kcp-ci-bot kcp-ci-bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. release-note-none Denotes a PR that doesn't merit a release note. labels Jun 12, 2025
@kcp-ci-bot
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@kcp-ci-bot kcp-ci-bot added dco-signoff: yes Indicates the PR's author has signed the DCO. do-not-merge/needs-kind Indicates a PR lacks a `kind/foo` label and requires one. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jun 12, 2025
@kcp-ci-bot kcp-ci-bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jun 25, 2025
@kcp-ci-bot kcp-ci-bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jun 25, 2025
@cnvergence cnvergence marked this pull request as ready for review June 26, 2025 15:00
@cnvergence cnvergence changed the title wip: add initializing virtual workspace provider Add initializing virtual workspace provider Jun 26, 2025
@kcp-ci-bot kcp-ci-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 26, 2025
Copy link
Member

@embik embik left a comment

Choose a reason for hiding this comment

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

Haven't done a deep dive into the code, just some changes regarding code structure.

@kcp-ci-bot kcp-ci-bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note-none Denotes a PR that doesn't merit a release note. labels Jun 26, 2025
@cnvergence cnvergence added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 2, 2025
@cnvergence cnvergence marked this pull request as draft July 2, 2025 14:23
@kcp-ci-bot kcp-ci-bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jul 2, 2025
Copy link
Member

@embik embik left a comment

Choose a reason for hiding this comment

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

Some notes.

@cnvergence cnvergence requested a review from Copilot July 31, 2025 12:14
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds a new initializingworkspaces virtual workspace provider for KCP, allowing controllers to reconcile workspaces in the initializing phase. The provider shares common functionality with the existing apiexport provider by refactoring cache implementation into a shared internal/cache package.

Key changes:

  • Extracts cache implementation from apiexport package to internal/cache for reuse
  • Adds new initializingworkspaces provider implementation
  • Updates function visibility to support shared usage across packages

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
initializingworkspaces/provider.go Core provider implementation for initializing workspaces
internal/cache/*.go Refactored cache implementation moved from apiexport package
test/e2e/initializingworkspaces_test.go E2E test for the new provider
examples/initializingworkspaces/ Example controller and documentation
apiexport/provider.go Updated imports to use refactored cache package

@cnvergence cnvergence force-pushed the init-vw-provider branch 4 times, most recently from c085cfa to 65e9d46 Compare August 1, 2025 16:44
@cnvergence cnvergence requested a review from embik August 1, 2025 16:46
@cnvergence cnvergence force-pushed the init-vw-provider branch 2 times, most recently from 133ed03 to 569f3e1 Compare August 1, 2025 16:51
@kcp-ci-bot kcp-ci-bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 4, 2025
Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]

add example on initializing workspaces

Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]

add initvw example controller

Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]
Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]

update code structure and fix linters

Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]
Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]

add specific cluster and start individual cache

Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]

intercept clusterName with event handler

Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]
Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]

implement routed client to use wildcard cache fetching LogicalClusters

Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]
…pedCluster func

Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]

Address review comments and clean up old code

Signed-off-by: Karol Szwaj <[email protected]>

On-behalf-of: @SAP [email protected]
@kcp-ci-bot kcp-ci-bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 4, 2025
Copy link
Member

@embik embik left a comment

Choose a reason for hiding this comment

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

/approve

@kcp-ci-bot kcp-ci-bot added the lgtm Indicates that a PR is ready to be merged. label Aug 4, 2025
@kcp-ci-bot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 7eb240d1dc12301d87d16a6966c505621a60f57a

@kcp-ci-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: embik

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

@kcp-ci-bot kcp-ci-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 4, 2025
@kcp-ci-bot kcp-ci-bot merged commit d9753ed into kcp-dev:main Aug 4, 2025
5 checks passed
@cnvergence cnvergence deleted the init-vw-provider branch August 4, 2025 10:13
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. dco-signoff: yes Indicates the PR's author has signed the DCO. kind/feature Categorizes issue or PR as related to a new feature. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. 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.

feature: Add initializingworkspaces virtual workspace provider

3 participants