Skip to content

Commit b0010b0

Browse files
authored
Merge pull request #1070 from fluxcd/deps-api-reader
Allow cross-shard dependency check
2 parents c71258e + 72ec296 commit b0010b0

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

internal/controller/helmrelease_controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ type HelmReleaseReconciler struct {
9191
GetClusterConfig func() (*rest.Config, error)
9292
ClientOpts runtimeClient.Options
9393
KubeConfigOpts runtimeClient.KubeConfigOptions
94+
APIReader client.Reader
9495

9596
FieldManager string
9697
DefaultServiceAccount string
@@ -585,7 +586,7 @@ func (r *HelmReleaseReconciler) checkDependencies(ctx context.Context, obj *v2.H
585586
}
586587

587588
dHr := &v2.HelmRelease{}
588-
if err := r.Get(ctx, ref, dHr); err != nil {
589+
if err := r.APIReader.Get(ctx, ref, dHr); err != nil {
589590
return fmt.Errorf("unable to get '%s' dependency: %w", ref, err)
590591
}
591592

internal/controller/helmrelease_controller_test.go

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ func TestHelmReleaseReconciler_reconcileRelease(t *testing.T) {
111111
EventRecorder: record.NewFakeRecorder(32),
112112
requeueDependency: 5 * time.Second,
113113
}
114+
r.APIReader = r.Client
114115

115116
res, err := r.reconcileRelease(context.TODO(), patch.NewSerialPatcher(obj, r.Client), obj)
116117
g.Expect(err).To(Equal(errWaitForDependency))
@@ -142,6 +143,7 @@ func TestHelmReleaseReconciler_reconcileRelease(t *testing.T) {
142143
WithObjects(obj).
143144
Build(),
144145
}
146+
r.APIReader = r.Client
145147

146148
_, err := r.reconcileRelease(context.TODO(), patch.NewSerialPatcher(obj, r.Client), obj)
147149
g.Expect(err).To(HaveOccurred())
@@ -173,6 +175,7 @@ func TestHelmReleaseReconciler_reconcileRelease(t *testing.T) {
173175
Build(),
174176
EventRecorder: record.NewFakeRecorder(32),
175177
}
178+
r.APIReader = r.Client
176179

177180
res, err := r.reconcileRelease(context.TODO(), patch.NewSerialPatcher(obj, r.Client), obj)
178181
g.Expect(err).To(HaveOccurred())
@@ -286,6 +289,7 @@ func TestHelmReleaseReconciler_reconcileRelease(t *testing.T) {
286289
WithObjects(chart, obj).
287290
Build(),
288291
}
292+
r.APIReader = r.Client
289293

290294
res, err := r.reconcileRelease(context.TODO(), patch.NewSerialPatcher(obj, r.Client), obj)
291295
g.Expect(err).To(Equal(errWaitForChart))
@@ -347,6 +351,7 @@ func TestHelmReleaseReconciler_reconcileRelease(t *testing.T) {
347351
Build(),
348352
EventRecorder: record.NewFakeRecorder(32),
349353
}
354+
r.APIReader = r.Client
350355

351356
_, err := r.reconcileRelease(context.TODO(), patch.NewSerialPatcher(obj, r.Client), obj)
352357
g.Expect(err).To(HaveOccurred())
@@ -398,6 +403,7 @@ func TestHelmReleaseReconciler_reconcileRelease(t *testing.T) {
398403
Build(),
399404
requeueDependency: 10 * time.Second,
400405
}
406+
r.APIReader = r.Client
401407

402408
res, err := r.reconcileRelease(context.TODO(), patch.NewSerialPatcher(obj, r.Client), obj)
403409
g.Expect(err).To(Equal(errWaitForDependency))
@@ -486,6 +492,7 @@ func TestHelmReleaseReconciler_reconcileRelease(t *testing.T) {
486492

487493
r := &HelmReleaseReconciler{
488494
Client: c,
495+
APIReader: c,
489496
GetClusterConfig: GetTestClusterConfig,
490497
EventRecorder: record.NewFakeRecorder(32),
491498
}
@@ -566,6 +573,7 @@ func TestHelmReleaseReconciler_reconcileRelease(t *testing.T) {
566573

567574
r := &HelmReleaseReconciler{
568575
Client: c,
576+
APIReader: c,
569577
GetClusterConfig: GetTestClusterConfig,
570578
EventRecorder: record.NewFakeRecorder(32),
571579
}
@@ -641,6 +649,7 @@ func TestHelmReleaseReconciler_reconcileRelease(t *testing.T) {
641649

642650
r := &HelmReleaseReconciler{
643651
Client: c,
652+
APIReader: c,
644653
GetClusterConfig: GetTestClusterConfig,
645654
EventRecorder: record.NewFakeRecorder(32),
646655
}
@@ -712,6 +721,7 @@ func TestHelmReleaseReconciler_reconcileRelease(t *testing.T) {
712721

713722
r := &HelmReleaseReconciler{
714723
Client: c,
724+
APIReader: c,
715725
GetClusterConfig: GetTestClusterConfig,
716726
EventRecorder: record.NewFakeRecorder(32),
717727
}
@@ -801,6 +811,7 @@ func TestHelmReleaseReconciler_reconcileRelease(t *testing.T) {
801811

802812
r := &HelmReleaseReconciler{
803813
Client: c,
814+
APIReader: c,
804815
GetClusterConfig: GetTestClusterConfig,
805816
EventRecorder: record.NewFakeRecorder(32),
806817
FieldManager: "test",
@@ -2127,6 +2138,7 @@ func TestHelmReleaseReconciler_reconcileDelete(t *testing.T) {
21272138

21282139
r := &HelmReleaseReconciler{
21292140
Client: testEnv.Client,
2141+
APIReader: testEnv.Client,
21302142
GetClusterConfig: GetTestClusterConfig,
21312143
EventRecorder: record.NewFakeRecorder(32),
21322144
}
@@ -2237,6 +2249,7 @@ func TestHelmReleaseReconciler_reconcileReleaseDeletion(t *testing.T) {
22372249

22382250
r := &HelmReleaseReconciler{
22392251
Client: testEnv.Client,
2252+
APIReader: testEnv.Client,
22402253
GetClusterConfig: GetTestClusterConfig,
22412254
EventRecorder: record.NewFakeRecorder(32),
22422255
}
@@ -2299,6 +2312,7 @@ func TestHelmReleaseReconciler_reconcileReleaseDeletion(t *testing.T) {
22992312

23002313
r := &HelmReleaseReconciler{
23012314
Client: testEnv.Client,
2315+
APIReader: testEnv.Client,
23022316
GetClusterConfig: GetTestClusterConfig,
23032317
}
23042318

@@ -2399,6 +2413,7 @@ func TestHelmReleaseReconciler_reconcileReleaseDeletion(t *testing.T) {
23992413

24002414
r := &HelmReleaseReconciler{
24012415
Client: testEnv.Client,
2416+
APIReader: testEnv.Client,
24022417
GetClusterConfig: GetTestClusterConfig,
24032418
}
24042419

@@ -2526,6 +2541,7 @@ func TestHelmReleaseReconciler_reconcileReleaseDeletion(t *testing.T) {
25262541

25272542
r := &HelmReleaseReconciler{
25282543
Client: testEnv.Client,
2544+
APIReader: testEnv.Client,
25292545
GetClusterConfig: GetTestClusterConfig,
25302546
}
25312547

@@ -2668,6 +2684,7 @@ func TestHelmReleaseReconciler_reconcileUninstall(t *testing.T) {
26682684

26692685
r := &HelmReleaseReconciler{
26702686
Client: testEnv.Client,
2687+
APIReader: testEnv.Client,
26712688
GetClusterConfig: GetTestClusterConfig,
26722689
EventRecorder: record.NewFakeRecorder(32),
26732690
}
@@ -2886,7 +2903,8 @@ func TestHelmReleaseReconciler_checkDependencies(t *testing.T) {
28862903
}
28872904

28882905
r := &HelmReleaseReconciler{
2889-
Client: c.Build(),
2906+
Client: c.Build(),
2907+
APIReader: c.Build(),
28902908
}
28912909

28922910
err := r.checkDependencies(context.TODO(), tt.obj)
@@ -3029,6 +3047,7 @@ func TestHelmReleaseReconciler_adoptLegacyRelease(t *testing.T) {
30293047

30303048
r := &HelmReleaseReconciler{
30313049
Client: testEnv.Client,
3050+
APIReader: testEnv.Client,
30323051
GetClusterConfig: GetTestClusterConfig,
30333052
}
30343053

main.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,7 @@ func main() {
270270

271271
if err = (&controller.HelmReleaseReconciler{
272272
Client: mgr.GetClient(),
273+
APIReader: mgr.GetAPIReader(),
273274
EventRecorder: eventRecorder,
274275
Metrics: metricsH,
275276
GetClusterConfig: ctrl.GetConfig,

0 commit comments

Comments
 (0)