Skip to content

Commit cb23876

Browse files
committed
improve import aliases and grouping
On-behalf-of: @SAP [email protected]
1 parent 4555e2f commit cb23876

File tree

23 files changed

+104
-117
lines changed

23 files changed

+104
-117
lines changed

.gimps.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,14 @@ sets:
2121
- 'k8s.io/**'
2222
- 'sigs.k8s.io/controller-runtime/**'
2323
- 'sigs.k8s.io/controller-tools/**'
24+
- 'sigs.k8s.io/multicluster-runtime/**'
2425
- 'sigs.k8s.io/yaml/**'
2526
- 'github.com/kcp-dev/client-go/**'
2627
- 'github.com/kcp-dev/kubernetes/**'
2728
- name: kcp
2829
patterns:
2930
- 'github.com/kcp-dev/kcp/**'
30-
- 'github.com/kcp-dev/multicluster-provider/**'
31+
- 'github.com/kcp-dev/sdk/**'
32+
- 'github.com/kcp-dev/logicalcluster/**'
3133
- 'github.com/kcp-dev/code-generator/**'
32-
- 'sigs.k8s.io/multicluster-runtime/**'
34+
- 'github.com/kcp-dev/multicluster-provider/**'

.golangci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ linters:
7474
# Controller Runtime
7575
- pkg: sigs.k8s.io/controller-runtime/pkg/client
7676
alias: ctrlruntimeclient
77+
# kcp APIs
78+
- pkg: github.com/kcp-dev/sdk/apis/(\w+)/(v[\w\d]+)
79+
alias: kcp$1$2
7780
no-unaliased: true
7881
exclusions:
7982
generated: lax

cmd/api-syncagent/kcp.go

Lines changed: 44 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,12 @@ import (
2222
"fmt"
2323
"regexp"
2424

25-
"github.com/kcp-dev/logicalcluster/v3"
26-
2725
"github.com/kcp-dev/api-syncagent/internal/kcp"
2826

29-
kcpdevv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1"
30-
kcpdevcore "github.com/kcp-dev/sdk/apis/core"
31-
kcpdevcorev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1"
27+
"github.com/kcp-dev/logicalcluster/v3"
28+
kcpapisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1"
29+
kcpcore "github.com/kcp-dev/sdk/apis/core"
30+
kcpcorev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1"
3231

3332
"k8s.io/apimachinery/pkg/fields"
3433
"k8s.io/apimachinery/pkg/runtime"
@@ -60,18 +59,18 @@ func setupEndpointKcpCluster(endpoint *syncEndpoint) (cluster.Cluster, error) {
6059

6160
scheme := runtime.NewScheme()
6261

63-
if err := kcpdevv1alpha1.AddToScheme(scheme); err != nil {
64-
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpdevv1alpha1.SchemeGroupVersion, err)
62+
if err := kcpapisv1alpha1.AddToScheme(scheme); err != nil {
63+
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpapisv1alpha1.SchemeGroupVersion, err)
6564
}
6665

67-
if err := kcpdevcorev1alpha1.AddToScheme(scheme); err != nil {
68-
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpdevcorev1alpha1.SchemeGroupVersion, err)
66+
if err := kcpcorev1alpha1.AddToScheme(scheme); err != nil {
67+
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpcorev1alpha1.SchemeGroupVersion, err)
6968
}
7069

7170
// RBAC in kcp might be very tight and might not allow to list/watch all objects;
7271
// restrict the cache's selectors accordingly so we can still make use of caching.
7372
byObject := map[ctrlruntimeclient.Object]cache.ByObject{
74-
&kcpdevv1alpha1.APIExportEndpointSlice{}: {
73+
&kcpapisv1alpha1.APIExportEndpointSlice{}: {
7574
Field: fields.SelectorFromSet(fields.Set{"metadata.name": endpoint.EndpointSlice.Name}),
7675
},
7776
}
@@ -90,18 +89,18 @@ func setupEndpointKcpCluster(endpoint *syncEndpoint) (cluster.Cluster, error) {
9089
func setupManagedKcpCluster(endpoint *syncEndpoint) (cluster.Cluster, error) {
9190
scheme := runtime.NewScheme()
9291

93-
if err := kcpdevv1alpha1.AddToScheme(scheme); err != nil {
94-
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpdevv1alpha1.SchemeGroupVersion, err)
92+
if err := kcpapisv1alpha1.AddToScheme(scheme); err != nil {
93+
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpapisv1alpha1.SchemeGroupVersion, err)
9594
}
9695

97-
if err := kcpdevcorev1alpha1.AddToScheme(scheme); err != nil {
98-
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpdevcorev1alpha1.SchemeGroupVersion, err)
96+
if err := kcpcorev1alpha1.AddToScheme(scheme); err != nil {
97+
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpcorev1alpha1.SchemeGroupVersion, err)
9998
}
10099

101100
// RBAC in kcp might be very tight and might not allow to list/watch all objects;
102101
// restrict the cache's selectors accordingly so we can still make use of caching.
103102
byObject := map[ctrlruntimeclient.Object]cache.ByObject{
104-
&kcpdevv1alpha1.APIExport{}: {
103+
&kcpapisv1alpha1.APIExport{}: {
105104
Field: fields.SelectorFromSet(fields.Set{"metadata.name": endpoint.APIExport.Name}),
106105
},
107106
}
@@ -145,11 +144,11 @@ type syncEndpoint struct {
145144
func resolveSyncEndpoint(ctx context.Context, initialRestConfig *rest.Config, endpointSliceRef string, apiExportRef string) (*syncEndpoint, error) {
146145
// construct temporary, uncached client
147146
scheme := runtime.NewScheme()
148-
if err := kcpdevcorev1alpha1.AddToScheme(scheme); err != nil {
149-
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpdevcorev1alpha1.SchemeGroupVersion, err)
147+
if err := kcpcorev1alpha1.AddToScheme(scheme); err != nil {
148+
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpcorev1alpha1.SchemeGroupVersion, err)
150149
}
151-
if err := kcpdevv1alpha1.AddToScheme(scheme); err != nil {
152-
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpdevv1alpha1.SchemeGroupVersion, err)
150+
if err := kcpapisv1alpha1.AddToScheme(scheme); err != nil {
151+
return nil, fmt.Errorf("failed to register scheme %s: %w", kcpapisv1alpha1.SchemeGroupVersion, err)
153152
}
154153

155154
clientOpts := ctrlruntimeclient.Options{Scheme: scheme}
@@ -160,58 +159,38 @@ func resolveSyncEndpoint(ctx context.Context, initialRestConfig *rest.Config, en
160159

161160
se := &syncEndpoint{}
162161

163-
// When an endpoint ref is given, both the APIExportEndpointSlice and the APIExport must exist.
164-
if endpointSliceRef != "" {
165-
endpointSlice, err := resolveAPIExportEndpointSlice(ctx, client, endpointSliceRef)
166-
if err != nil {
167-
return nil, fmt.Errorf("failed to resolve APIExportEndpointSlice: %w", err)
168-
}
169-
endpointSlice.Config = initialRestConfig
170-
171-
// find the APIExport referenced not by the user (can't: both ref parameters to this function
172-
// are mutually exclusive), but in the APIExportEndpointSlice.
173-
restConfig, err := retargetRestConfig(initialRestConfig, endpointSlice.Spec.APIExport.Path)
174-
if err != nil {
175-
return nil, fmt.Errorf("failed to re-target the given kubeconfig to cluster %q: %w", endpointSlice.Spec.APIExport.Path, err)
176-
}
177-
178-
client, err := ctrlruntimeclient.New(restConfig, clientOpts)
179-
if err != nil {
180-
return nil, fmt.Errorf("failed to create service reader: %w", err)
181-
}
162+
// First we find the APIExportEndpointSlice.
163+
endpointSlice, err := resolveAPIExportEndpointSlice(ctx, client, endpointSliceRef)
164+
if err != nil {
165+
return nil, fmt.Errorf("failed to resolve APIExportEndpointSlice: %w", err)
166+
}
167+
endpointSlice.Config = initialRestConfig
182168

183-
apiExport, err := resolveAPIExport(ctx, client, endpointSlice.Spec.APIExport.Name)
184-
if err != nil {
185-
return nil, fmt.Errorf("failed to resolve APIExport: %w", err)
186-
}
187-
apiExport.Config = restConfig
188-
189-
se.APIExport = apiExport
190-
se.EndpointSlice = &endpointSlice
191-
} else { // if an export ref is given, the endpoint slice is optional (for compat with kcp <0.28)
192-
apiExport, err := resolveAPIExport(ctx, client, apiExportRef)
193-
if err != nil {
194-
return nil, fmt.Errorf("failed to resolve APIExport: %w", err)
195-
}
196-
apiExport.Config = initialRestConfig
169+
// Now we find the APIExport referenced in the APIExportEndpointSlice.
170+
restConfig, err := retargetRestConfig(initialRestConfig, endpointSlice.Spec.APIExport.Path)
171+
if err != nil {
172+
return nil, fmt.Errorf("failed to re-target the given kubeconfig to cluster %q: %w", endpointSlice.Spec.APIExport.Path, err)
173+
}
197174

198-
se.APIExport = apiExport
175+
client, err = ctrlruntimeclient.New(restConfig, clientOpts)
176+
if err != nil {
177+
return nil, fmt.Errorf("failed to create service reader: %w", err)
178+
}
199179

200-
// try to find an endpoint slice in the same workspace with the same name as the APIExport
201-
endpointSlice, err := resolveAPIExportEndpointSlice(ctx, client, apiExportRef)
202-
if ctrlruntimeclient.IgnoreNotFound(err) != nil {
203-
return nil, fmt.Errorf("failed to resolve APIExportEndpointSlice: %w", err)
204-
} else if err == nil {
205-
apiExport.Config = initialRestConfig
206-
se.EndpointSlice = &endpointSlice
207-
}
180+
apiExport, err := resolveAPIExport(ctx, client, endpointSlice.Spec.APIExport.Name)
181+
if err != nil {
182+
return nil, fmt.Errorf("failed to resolve APIExport: %w", err)
208183
}
184+
apiExport.Config = restConfig
185+
186+
se.APIExport = apiExport
187+
se.EndpointSlice = endpointSlice
209188

210189
return se, nil
211190
}
212191

213192
func resolveAPIExportEndpointSlice(ctx context.Context, client ctrlruntimeclient.Client, ref string) (qualifiedAPIExportEndpointSlice, error) {
214-
endpointSlice := &kcpdevv1alpha1.APIExportEndpointSlice{}
193+
endpointSlice := &kcpapisv1alpha1.APIExportEndpointSlice{}
215194
key := types.NamespacedName{Name: ref}
216195
if err := client.Get(ctx, key, endpointSlice); err != nil {
217196
return qualifiedAPIExportEndpointSlice{}, fmt.Errorf("failed to get APIExportEndpointSlice %q: %w", ref, err)
@@ -232,7 +211,7 @@ func resolveAPIExportEndpointSlice(ctx context.Context, client ctrlruntimeclient
232211
}
233212

234213
func resolveAPIExport(ctx context.Context, client ctrlruntimeclient.Client, ref string) (qualifiedAPIExport, error) {
235-
apiExport := &kcpdevv1alpha1.APIExport{}
214+
apiExport := &kcpapisv1alpha1.APIExport{}
236215
key := types.NamespacedName{Name: ref}
237216
if err := client.Get(ctx, key, apiExport); err != nil {
238217
return qualifiedAPIExport{}, fmt.Errorf("failed to get APIExport %q: %w", ref, err)
@@ -253,13 +232,13 @@ func resolveAPIExport(ctx context.Context, client ctrlruntimeclient.Client, ref
253232
}
254233

255234
func resolveCurrentCluster(ctx context.Context, client ctrlruntimeclient.Client) (logicalcluster.Name, logicalcluster.Path, error) {
256-
lc := &kcpdevcorev1alpha1.LogicalCluster{}
235+
lc := &kcpcorev1alpha1.LogicalCluster{}
257236
if err := client.Get(ctx, types.NamespacedName{Name: kcp.IdentityClusterName}, lc); err != nil {
258237
return "", logicalcluster.None, fmt.Errorf("failed to resolve current workspace: %w", err)
259238
}
260239

261240
lcName := logicalcluster.From(lc)
262-
lcPath := logicalcluster.NewPath(lc.Annotations[kcpdevcore.LogicalClusterPathAnnotationKey])
241+
lcPath := logicalcluster.NewPath(lc.Annotations[kcpcore.LogicalClusterPathAnnotationKey])
263242

264243
return lcName, lcPath, nil
265244
}

cmd/api-syncagent/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import (
3636
"github.com/kcp-dev/api-syncagent/internal/version"
3737
syncagentv1alpha1 "github.com/kcp-dev/api-syncagent/sdk/apis/syncagent/v1alpha1"
3838

39-
kcpdevv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1"
39+
kcpapisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1"
4040

4141
corev1 "k8s.io/api/core/v1"
4242
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"

internal/controller/apiexport/controller.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
"context"
2121
"fmt"
2222

23-
"github.com/kcp-dev/logicalcluster/v3"
2423
"go.uber.org/zap"
2524

2625
"github.com/kcp-dev/api-syncagent/internal/controllerutil"
@@ -31,7 +30,8 @@ import (
3130
"github.com/kcp-dev/api-syncagent/internal/resources/reconciling"
3231
syncagentv1alpha1 "github.com/kcp-dev/api-syncagent/sdk/apis/syncagent/v1alpha1"
3332

34-
kcpdevv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1"
33+
"github.com/kcp-dev/logicalcluster/v3"
34+
kcpapisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1"
3535

3636
"k8s.io/apimachinery/pkg/labels"
3737
"k8s.io/apimachinery/pkg/runtime/schema"
@@ -109,7 +109,7 @@ func Add(
109109
// Watch for changes to APIExport on the kcp side to start/restart the actual syncing controllers;
110110
// the cache is already restricted by a fieldSelector in the main.go to respect the RBC restrictions,
111111
// so there is no need here to add an additional filter.
112-
WatchesRawSource(source.Kind(kcpCluster.GetCache(), &kcpdevv1alpha1.APIExport{}, controllerutil.EnqueueConst[*kcpdevv1alpha1.APIExport]("dummy"))).
112+
WatchesRawSource(source.Kind(kcpCluster.GetCache(), &kcpapisv1alpha1.APIExport{}, controllerutil.EnqueueConst[*kcpapisv1alpha1.APIExport]("dummy"))).
113113
// Watch for changes to PublishedResources on the local service cluster
114114
Watches(&syncagentv1alpha1.PublishedResource{}, controllerutil.EnqueueConst[ctrlruntimeclient.Object]("dummy"), builder.WithPredicates(predicateutil.ByLabels(prFilter), hasARS)).
115115
Build(reconciler)
@@ -120,15 +120,15 @@ func Add(
120120
func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
121121
r.log.Debug("Processing")
122122

123-
apiExport := &kcpdevv1alpha1.APIExport{}
123+
apiExport := &kcpapisv1alpha1.APIExport{}
124124
if err := r.kcpClient.Get(ctx, types.NamespacedName{Name: r.apiExportName}, apiExport); err != nil {
125125
return reconcile.Result{}, ctrlruntimeclient.IgnoreNotFound(err)
126126
}
127127

128128
return reconcile.Result{}, r.reconcile(ctx, apiExport)
129129
}
130130

131-
func (r *Reconciler) reconcile(ctx context.Context, apiExport *kcpdevv1alpha1.APIExport) error {
131+
func (r *Reconciler) reconcile(ctx context.Context, apiExport *kcpapisv1alpha1.APIExport) error {
132132
// find all PublishedResources; we keep those that are not yet converted into ARS,
133133
// just to reduce the amount of re-reconciles when the agent processes a number of PRs in a row
134134
// and would constantly update the APIExport; instead we rely on kcp to handle the eventual

internal/controller/apiexport/reconciler.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
"github.com/kcp-dev/api-syncagent/internal/resources/reconciling"
2525
syncagentv1alpha1 "github.com/kcp-dev/api-syncagent/sdk/apis/syncagent/v1alpha1"
2626

27-
kcpdevv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1"
27+
kcpapisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1"
2828

2929
corev1 "k8s.io/api/core/v1"
3030
"k8s.io/apimachinery/pkg/runtime"
@@ -61,7 +61,7 @@ func (r *Reconciler) createAPIExportReconciler(
6161
recorder record.EventRecorder,
6262
) reconciling.NamedAPIExportReconcilerFactory {
6363
return func() (string, reconciling.APIExportReconciler) {
64-
return apiExportName, func(existing *kcpdevv1alpha1.APIExport) (*kcpdevv1alpha1.APIExport, error) {
64+
return apiExportName, func(existing *kcpapisv1alpha1.APIExport) (*kcpapisv1alpha1.APIExport, error) {
6565
if existing.Annotations == nil {
6666
existing.Annotations = map[string]string{}
6767
}
@@ -102,8 +102,8 @@ func (r *Reconciler) createAPIExportReconciler(
102102

103103
// add our missing claims
104104
for _, claimed := range claimsToAdd {
105-
existing.Spec.PermissionClaims = append(existing.Spec.PermissionClaims, kcpdevv1alpha1.PermissionClaim{
106-
GroupResource: kcpdevv1alpha1.GroupResource{
105+
existing.Spec.PermissionClaims = append(existing.Spec.PermissionClaims, kcpapisv1alpha1.PermissionClaim{
106+
GroupResource: kcpapisv1alpha1.GroupResource{
107107
Group: claimed.Group,
108108
Resource: claimed.Resource,
109109
},
@@ -121,7 +121,7 @@ func (r *Reconciler) createAPIExportReconciler(
121121
}
122122

123123
// prevent reconcile loops by ensuring a stable order
124-
slices.SortFunc(existing.Spec.PermissionClaims, func(a, b kcpdevv1alpha1.PermissionClaim) int {
124+
slices.SortFunc(existing.Spec.PermissionClaims, func(a, b kcpapisv1alpha1.PermissionClaim) int {
125125
if a.Group != b.Group {
126126
return strings.Compare(a.Group, b.Group)
127127
}

internal/controller/apiresourceschema/controller.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"fmt"
2222
"reflect"
2323

24-
"github.com/kcp-dev/logicalcluster/v3"
2524
"go.uber.org/zap"
2625

2726
"github.com/kcp-dev/api-syncagent/internal/controllerutil/predicate"
@@ -30,7 +29,8 @@ import (
3029
"github.com/kcp-dev/api-syncagent/internal/projection"
3130
syncagentv1alpha1 "github.com/kcp-dev/api-syncagent/sdk/apis/syncagent/v1alpha1"
3231

33-
kcpdevv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1"
32+
"github.com/kcp-dev/logicalcluster/v3"
33+
kcpapisv1alpha1 "github.com/kcp-dev/sdk/apis/apis/v1alpha1"
3434

3535
corev1 "k8s.io/api/core/v1"
3636
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
@@ -159,7 +159,7 @@ func (r *Reconciler) reconcile(ctx context.Context, log *zap.SugaredLogger, pubR
159159
arsName := kcp.GetAPIResourceSchemaName(projectedCRD)
160160

161161
// ensure ARS exists (don't try to reconcile it, it's basically entirely immutable)
162-
ars := &kcpdevv1alpha1.APIResourceSchema{}
162+
ars := &kcpapisv1alpha1.APIResourceSchema{}
163163
err = r.kcpClient.Get(ctx, types.NamespacedName{Name: arsName}, ars, &ctrlruntimeclient.GetOptions{})
164164

165165
if apierrors.IsNotFound(err) {

internal/controller/sync/controller.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
"time"
2323

2424
"github.com/go-logr/zapr"
25-
"github.com/kcp-dev/logicalcluster/v3"
2625
"go.uber.org/zap"
2726

2827
"github.com/kcp-dev/api-syncagent/internal/discovery"
@@ -31,13 +30,9 @@ import (
3130
"github.com/kcp-dev/api-syncagent/internal/sync"
3231
syncagentv1alpha1 "github.com/kcp-dev/api-syncagent/sdk/apis/syncagent/v1alpha1"
3332

33+
"github.com/kcp-dev/logicalcluster/v3"
3434
kcpcore "github.com/kcp-dev/sdk/apis/core"
35-
kcpdevcorev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1"
36-
mccontroller "sigs.k8s.io/multicluster-runtime/pkg/controller"
37-
mchandler "sigs.k8s.io/multicluster-runtime/pkg/handler"
38-
mcmanager "sigs.k8s.io/multicluster-runtime/pkg/manager"
39-
mcreconcile "sigs.k8s.io/multicluster-runtime/pkg/reconcile"
40-
mcsource "sigs.k8s.io/multicluster-runtime/pkg/source"
35+
kcpcorev1alpha1 "github.com/kcp-dev/sdk/apis/core/v1alpha1"
4136

4237
corev1 "k8s.io/api/core/v1"
4338
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
@@ -52,6 +47,11 @@ import (
5247
"sigs.k8s.io/controller-runtime/pkg/predicate"
5348
"sigs.k8s.io/controller-runtime/pkg/reconcile"
5449
"sigs.k8s.io/controller-runtime/pkg/source"
50+
mccontroller "sigs.k8s.io/multicluster-runtime/pkg/controller"
51+
mchandler "sigs.k8s.io/multicluster-runtime/pkg/handler"
52+
mcmanager "sigs.k8s.io/multicluster-runtime/pkg/manager"
53+
mcreconcile "sigs.k8s.io/multicluster-runtime/pkg/reconcile"
54+
mcsource "sigs.k8s.io/multicluster-runtime/pkg/source"
5555
)
5656

5757
const (
@@ -215,8 +215,8 @@ func (r *Reconciler) Reconcile(ctx context.Context, request mcreconcile.Request)
215215
// if desired, fetch the workspace path as well (some downstream service providers might make use of it,
216216
// but since it requires an additional permission claim, it's optional)
217217
if r.pubRes.Spec.EnableWorkspacePaths {
218-
lc := &kcpdevcorev1alpha1.LogicalCluster{}
219-
if err := vwClient.Get(ctx, types.NamespacedName{Name: kcpdevcorev1alpha1.LogicalClusterName}, lc); err != nil {
218+
lc := &kcpcorev1alpha1.LogicalCluster{}
219+
if err := vwClient.Get(ctx, types.NamespacedName{Name: kcpcorev1alpha1.LogicalClusterName}, lc); err != nil {
220220
recorder.Event(remoteObj, corev1.EventTypeWarning, "ReconcilingError", "Failed to retrieve workspace path, cannot process object.")
221221
return reconcile.Result{}, fmt.Errorf("failed to retrieve remote logicalcluster: %w", err)
222222
}

0 commit comments

Comments
 (0)