You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The kube-bind backend provides service export and binding capabilities for single Kubernetes clusters acting as backend or many clusters with support for multiple cluster providers through the multicluster-runtime architecture.
4
+
5
+
## Architecture
6
+
7
+
Starting with v0.5.0, the backend leverages `sigs.k8s.io/multicluster-runtime` for enhanced cluster management capabilities.
8
+
9
+
### Key Components
10
+
11
+
-**MultiCluster Runtime Integration**: Built on `sigs.k8s.io/multicluster-runtime` for provider-agnostic cluster operations
12
+
-**Provider Support**: Extensible provider system supporting different backend implementations
13
+
-**Manager Architecture**: Uses `mcmanager.Manager` for cluster-aware resource management
14
+
15
+
### Supported Providers
16
+
17
+
-**Default Provider**: Standard Kubernetes cluster support
18
+
-**KCP Provider**: Integration with [kcp](https://github.com/kcp-dev/kcp) through `github.com/kcp-dev/multicluster-provider`
19
+
20
+
## Configuration
21
+
22
+
The backend can be configured to use different providers:
23
+
24
+
```bash
25
+
./bin/backend \
26
+
--multicluster-runtime-provider kcp \
27
+
--server-url=$(kubectl get apiexportendpointslice kube-bind.io -o jsonpath="{.status.endpoints[0].url}") \
28
+
# ... other options
29
+
```
30
+
31
+
### Provider Configuration
32
+
33
+
#### KCP Provider
34
+
35
+
When using the KCP provider (`--multicluster-runtime-provider kcp`), the backend:
36
+
37
+
- Connects to kcp workspaces through APIExports
38
+
- Manages resources across logical clusters
39
+
- Supports advanced multi-tenancy features
40
+
- Enables workspace-based isolation
41
+
42
+
#### Default Provider
43
+
44
+
The default provider works with standard Kubernetes clusters and provides:
45
+
46
+
- Direct cluster connectivity
47
+
- Namespace-based isolation
48
+
- Standard RBAC integration
49
+
50
+
## API Changes
51
+
52
+
The backend now supports the v1alpha2 API with significant architectural improvements:
53
+
54
+
-**Resource-Based Exports**: APIServiceExport now uses resource references instead of embedded CRDs
55
+
-**BoundSchema Support**: Integration with BoundSchema resources for better schema management
56
+
-**Multi-Resource Support**: Single exports can reference multiple CRDs efficiently
57
+
58
+
## Controllers
59
+
60
+
The backend includes several controllers for managing the export/binding lifecycle:
0 commit comments