Skip to content

Conversation

@embik
Copy link
Member

@embik embik commented Oct 27, 2025

Summary

This updates the apiexport provider with a breaking change: It no longer requires a REST config pointing to a virtual workspace endpoint for an APIExport, instead it now requires an APIExportEndpointSlice name passed as a mandatory parameter for apiexport.New.

The new version of the provider watches all URLs in the endpoint slice status and automatically starts and stops an internal provider implementation (which is actually the previous provider implementation) through @ntnn's multi provider.

The provider stops when the APIExportEndpointSlice gets deleted, since that didn't seem like an event to handle gracefully in another way. Stopping it should have it covered by automatic restarts for self-healing (if the endpoint slice object gets put back).

What Type of PR Is This?

/kind feature
/kind api-change

Related Issue(s)

Fixes #48

Release Notes

BREAKING: `apiexport` provider now takes an `APIExportEndpointSlice` name and dynamically watches it for URLs to connect to

@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 Denotes a PR that will be considered when it comes time to generate release notes. kind/feature Categorizes issue or PR as related to a new feature. 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 labels Oct 27, 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 ask for approval from embik. 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 the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Oct 27, 2025
@embik embik changed the title WIP: apiexport: watch APIExportEndpointSllice dynamically WIP: apiexport: watch APIExportEndpointSlice dynamically Oct 27, 2025
@embik embik force-pushed the apiexport-provider-endpointslice branch from 551c506 to 2aa121e Compare October 27, 2025 15:23
embik added 2 commits November 6, 2025 14:08
On-behalf-of: SAP <[email protected]>
Signed-off-by: Marvin Beckers <[email protected]>
On-behalf-of: SAP <[email protected]>
Signed-off-by: Marvin Beckers <[email protected]>
@embik embik changed the title WIP: apiexport: watch APIExportEndpointSlice dynamically apiexport: watch APIExportEndpointSlice dynamically Nov 6, 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 Nov 6, 2025
@embik embik requested review from mjudeikis and xrstf November 7, 2025 08:34
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 kind/feature Categorizes issue or PR as related to a new feature. 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.

feature: dynamic support for multiple shards in APIExportEndpointSlice

2 participants