Skip to content

Commit fa7fd4f

Browse files
committed
Update test & simplify logic
1 parent 584b545 commit fa7fd4f

6 files changed

Lines changed: 209 additions & 175 deletions

File tree

backend/controllers/clusterbinding/clusterbinding_controller.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,10 @@ func mapAPIResourceSchema(clusterName string, cl cluster.Cluster) handler.TypedE
229229
return []mcreconcile.Request{
230230
{
231231
Request: reconcile.Request{
232-
NamespacedName: client.ObjectKeyFromObject(serviceExport),
232+
NamespacedName: types.NamespacedName{
233+
Namespace: serviceExport.GetNamespace(),
234+
Name: "cluster",
235+
},
233236
},
234237
ClusterName: clusterName,
235238
},

backend/controllers/servicenamespace/servicenamespace_reconcile.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func (c *reconciler) reconcile(ctx context.Context, client client.Client, cache
8383
}
8484

8585
for _, export := range apiServiceExports.Items {
86-
name := fmt.Sprintf("kube-binder-%s-export-%s", sns.Name, export.Name) // per-sns unique name
86+
name := fmt.Sprintf("kube-binder-export-%s-%s", sns.Name, export.Name) // per-sns unique name
8787
permissions := []rbacv1.PolicyRule{}
8888
for _, claim := range export.Spec.PermissionClaims {
8989
permissions = append(permissions, rbacv1.PolicyRule{
@@ -106,7 +106,7 @@ func (c *reconciler) reconcile(ctx context.Context, client client.Client, cache
106106
Rules: permissions,
107107
}
108108
// Create new ClusterRole
109-
if err := client.Create(ctx, role); !errors.IsAlreadyExists(err) {
109+
if err := client.Create(ctx, role); err != nil && !errors.IsAlreadyExists(err) {
110110
return fmt.Errorf("failed to create ClusterRole %s: %w", name, err)
111111
}
112112
} else {

contrib/kcp/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ kubectl kcp bind apiexport root:provider:cowboys-stable
104104
```bash
105105
kubectl get logicalcluster
106106
# NAME PHASE URL AGE
107-
# cluster Ready https://192.168.2.166:6443/clusters/1d5vpxvdpy0opbj1
107+
# cluster Ready https://192.168.2.166:6443/clusters/1f4roigyt6meiaf8
108108
```
109109

110110
## Consumer
@@ -120,7 +120,7 @@ kubectl ws create consumer --enter
120120
10. Bind the thing:
121121

122122
```bash
123-
./bin/kubectl-bind http://127.0.0.1:8080/clusters/1d5vpxvdpy0opbj1/exports --dry-run -o yaml > apiserviceexport.yaml
123+
./bin/kubectl-bind http://127.0.0.1:8080/clusters/1f4roigyt6meiaf8/exports --dry-run -o yaml > apiserviceexport.yaml
124124

125125
# Extract secret for binding process. Note that secret name is not the same as output from command above. Check secret
126126
# name by running `kubectl get secret -n kube-bind`

pkg/konnector/controllers/cluster/serviceexport/spec/spec_controller.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,12 @@ func NewController(
129129
},
130130
createProviderObject: func(ctx context.Context, obj *unstructured.Unstructured) (*unstructured.Unstructured, error) {
131131
if ns := obj.GetNamespace(); ns != "" {
132-
return providerClient.Resource(gvr).Namespace(obj.GetNamespace()).Create(ctx, obj, metav1.CreateOptions{})
132+
copy := obj.DeepCopy()
133+
err := clusterscoped.InjectClusterNs(copy, providerNamespace, providerNamespaceUID)
134+
if err != nil {
135+
return nil, err
136+
}
137+
return providerClient.Resource(gvr).Namespace(copy.GetNamespace()).Create(ctx, copy, metav1.CreateOptions{})
133138
}
134139
err := clusterscoped.TranslateFromDownstream(obj, providerNamespace, providerNamespaceUID)
135140
if err != nil {

0 commit comments

Comments
 (0)