https://github.com/kcp-dev/multicluster-provider
A kcp provider for multicluster-runtime
https://github.com/kcp-dev/multicluster-provider
Last synced: 4 months ago
JSON representation
A kcp provider for multicluster-runtime
- Host: GitHub
- URL: https://github.com/kcp-dev/multicluster-provider
- Owner: kcp-dev
- License: apache-2.0
- Created: 2025-03-06T18:43:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-02-03T16:18:23.000Z (4 months ago)
- Last Synced: 2026-02-04T06:06:36.667Z (4 months ago)
- Language: Go
- Homepage: https://pkg.go.dev/github.com/kcp-dev/multicluster-provider
- Size: 405 KB
- Stars: 20
- Watchers: 16
- Forks: 11
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Dco: DCO
Awesome Lists containing this project
README
# kcp-dev/multicluster-provider
This repository contains an **experimental** provider implementation for [multicluster-runtime](https://github.com/multicluster-runtime/multicluster-runtime), a new [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) "addon" that allows writing uniform multi-cluster-aware Kubernetes controllers.
## Providers
This repository is expected to contain multiple [`Provider`](https://github.com/multicluster-runtime/multicluster-runtime/blob/223b19b990050e373880d57211c90ce86c53fd80/pkg/multicluster/multicluster.go#L52) implementations depending on how your controllers are supposed to interact with kcp.
Currently available are:
- [apiexport](https://pkg.go.dev/github.com/kcp-dev/multicluster-provider/apiexport): for interacting with the [`APIExport` virtual workspace](https://docs.kcp.io/kcp/latest/concepts/apis/exporting-apis/#build-your-controller) (or virtual workspaces with the same semantics).
- [path-aware](https://github.com/kcp-dev/multicluster-provider/blob/main/path-aware): A superset of the apiexport provider that provides path-awareness.
- [initializingworkspaces](https://pkg.go.dev/github.com/kcp-dev/multicluster-provider/initializingworkspaces): for interacting with logical clusters that are currently being [initialized](https://docs.kcp.io/kcp/latest/concepts/workspaces/workspace-initialization/) and wait for an initializer created by a `WorkspaceType` to be removed.
## Examples
See [examples](./examples/) for sample code. All providers in this repository come with an example.
## Contributing
Thanks for taking the time to start contributing!
### Before you start
* Please familiarize yourself with the [Code of Conduct](./CODE_OF_CONDUCT.md) before contributing.
* See [CONTRIBUTING.md](./CONTRIBUTING.md) for instructions on the developer certificate of origin that we require.
### Pull requests
* We welcome pull requests. Feel free to dig through existing [issues](https://github.com/kcp-dev/multicluster-provider/issues) and jump in.
## License
This project is licensed under [Apache-2.0](./LICENSE).