| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Want to see what CI will tell for now |
Sorry, something went wrong.
Signed-off-by: Mangirdas Judeikis <mangirdas@judeikis.lt> On-behalf-of: SAP <mangirdas.judeikis@sap.com>
|
@mjudeikis-bot review this please |
Sorry, something went wrong.
|
Review submitted — see the PR review above. One potential blocker flagged (the getTemplateMapper type question); the rest are code-quality suggestions. Happy to re-review once those are addressed. |
Sorry, something went wrong.
|
@mjudeikis-bot, which of the code review questions are not yet addressed, as now it's a bit chaotic. Give clear bullet points and what needs to be changed and where. |
Sorry, something went wrong.
| GOTESTSUM_VERSION := 1.8.1 | ||
| HELM_VERSION := 3.18.6 | ||
| KCP_VERSION := 0.29.0 | ||
| # unlreleased kcp version with vw code for schemas |
There was a problem hiding this comment.
| # unlreleased kcp version with vw code for schemas | |
| # unreleased kcp version with vw code for schemas |
Sorry, something went wrong.
| # unlreleased kcp version with vw code for schemas | ||
| KCP_VERSION := 301a8f749e7b99a0c81f43b37aa5b5e5ff0fc0b4 |
There was a problem hiding this comment.
trailing ws
Sorry, something went wrong.
| ``` | ||
|
|
||
| 7. Get LogicalCluster: | ||
| 9. Get the LogicalCluster identity (needed for consumer binding): |
There was a problem hiding this comment.
nit: 8.
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Summary
Enables kube-bind to serve resources in a 3-tier kcp topology where the backend workspace has no APIExport of its own — only an APIBinding that binds from an upstream provider workspace.
Problem
Standard kube-bind + kcp is 2-tier: :root:provider owns the APIExport, consumer binds via kube-bind. This PR adds a 3-tier model:
:root:provider — owns APIResourceSchema + APIExport | (APIBinding) v :root:backend — binds from provider; kube-bind backend runs here | (kube-bind serving) v consumer — binds resources via kube-bindThe backend has no APIExport — previously, this made it impossible to serve resources since kube-bind needs local APIServiceExportTemplate and APIResourceSchema copies.
What this adds
Two new kcp-specific controllers (only active with --provider=kcp):
apibindingtemplate controller — watches APIBinding objects; when Bound, auto-creates APIServiceExportTemplate objects (one per scope) derived from the bound resources; binding is owner so templates GC on removal
apiresourceschema controller — watches APIServiceExportTemplate; copies APIResourceSchema definitions from the bound APIBinding into the backend workspace labeled kube-bind.io/exported=true for ServiceExportRequest discovery
Bootstrap also gains apibindings + subjectaccessreviews permission claims required by the new controllers.
Tests
kcp_3tier_test.go — two e2e tests covering cluster-scoped and namespaced resources through the full provider → backend → consumer chain.
What Type of PR Is This?
/kind feature
Related Issue(s)
Fixes #
Release Notes