kcp-dev / kcp

Kubernetes-like control planes for form-factors and use-cases beyond Kubernetes and container workloads.
https://kcp.io
Apache License 2.0
2.35k stars 381 forks source link

Support clients for negotiated APIs from multiple compute service workspaces #1334

Closed astefanutti closed 1 year ago

astefanutti commented 2 years ago

Controllers that rely on core Kubernetes APIs, like Deployment, Service, or Ingress, negotiated via workload clusters, now initialize the corresponding clients using the APIExport virtual workspace server URL, from the compute service workspace, where those workload clusters live. That limits these controllers to operating on the set of user workspaces, that have bound that particular APIExport, missing the other workspaces, that have bound some other compute service APIExports.

Describe the solution you'd like

Multi-workspace aware controllers should not be limited to a single compute service workspace "domain".

Additional context

One example of such controller is kcp-glbc, whose architecture is illustrated at https://github.com/Kuadrant/kcp-glbc/blob/main/docs/architecture.md.

maleck13 commented 2 years ago

@ncdc @sttts is support for this planned as part of 0.7 ?

maleck13 commented 2 years ago

@sttts I believe your design https://docs.google.com/drawings/d/1aiX_1xc-dpvYJZBXVhD8g0maKFNFT-M3M31DjFWsZSo/edit for supported APIs is the solution to this issue

sttts commented 2 years ago

It is being worked on. See https://github.com/kcp-dev/kcp/pull/1571 for the API changes.

astefanutti commented 1 year ago

Let's close this as it's been addressed as part of #1895.