From 2b44187c23796f45a89ee29d0da0a14d9e3c897c Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Wed, 25 Sep 2024 11:45:10 +0300 Subject: [PATCH] Allow cross-shard dependency check Signed-off-by: Stefan Prodan --- internal/controller/kustomization_controller.go | 3 ++- internal/controller/suite_test.go | 1 + main.go | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/controller/kustomization_controller.go b/internal/controller/kustomization_controller.go index 830f4c22..a6c52b5f 100644 --- a/internal/controller/kustomization_controller.go +++ b/internal/controller/kustomization_controller.go @@ -89,6 +89,7 @@ type KustomizationReconciler struct { artifactFetchRetries int requeueDependency time.Duration + APIReader client.Reader StatusPoller *polling.StatusPoller PollingOpts polling.Options ControllerName string @@ -488,7 +489,7 @@ func (r *KustomizationReconciler) checkDependencies(ctx context.Context, Name: d.Name, } var k kustomizev1.Kustomization - err := r.Get(ctx, dName, &k) + err := r.APIReader.Get(ctx, dName, &k) if err != nil { return fmt.Errorf("dependency '%s' not found: %w", dName, err) } diff --git a/internal/controller/suite_test.go b/internal/controller/suite_test.go index f5f8e0f1..a9640b8f 100644 --- a/internal/controller/suite_test.go +++ b/internal/controller/suite_test.go @@ -176,6 +176,7 @@ func TestMain(m *testing.M) { reconciler = &KustomizationReconciler{ ControllerName: controllerName, Client: testEnv, + APIReader: testEnv, EventRecorder: testEnv.GetEventRecorderFor(controllerName), Metrics: testMetricsH, ConcurrentSSA: 4, diff --git a/main.go b/main.go index 4201409f..a04bd5fb 100644 --- a/main.go +++ b/main.go @@ -238,6 +238,7 @@ func main() { ControllerName: controllerName, DefaultServiceAccount: defaultServiceAccount, Client: mgr.GetClient(), + APIReader: mgr.GetAPIReader(), Metrics: metricsH, EventRecorder: eventRecorder, NoCrossNamespaceRefs: aclOptions.NoCrossNamespaceRefs,