Skip to content

Commit d185333

Browse files
authored
Merge pull request #88 from Ajpantuso/apantuso/refactor_controllers
refactor: independent controllers packages
2 parents a444ffc + 081e9ed commit d185333

15 files changed

Lines changed: 285 additions & 286 deletions

cmd/reference-addon-manager/main.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313

1414
"github.com/go-logr/logr"
1515
refapis "github.com/openshift/reference-addon/apis"
16-
"github.com/openshift/reference-addon/internal/controllers"
16+
ractrl "github.com/openshift/reference-addon/internal/controllers/referenceaddon"
1717
"github.com/openshift/reference-addon/internal/metrics"
1818
"github.com/openshift/reference-addon/internal/pprof"
1919
opsv1alpha1 "github.com/operator-framework/api/pkg/operators/v1alpha1"
@@ -109,18 +109,18 @@ func setupManager(log logr.Logger, opts options) (ctrl.Manager, error) {
109109

110110
client := mgr.GetClient()
111111

112-
r, err := controllers.NewReferenceAddonReconciler(
112+
r, err := ractrl.NewReferenceAddonReconciler(
113113
client,
114-
controllers.NewSecretParameterGetter(
114+
ractrl.NewSecretParameterGetter(
115115
client,
116-
controllers.WithNamespace(opts.Namespace),
117-
controllers.WithName(opts.ParameterSecretname),
116+
ractrl.WithNamespace(opts.Namespace),
117+
ractrl.WithName(opts.ParameterSecretname),
118118
),
119-
controllers.WithLog{Log: ctrl.Log.WithName("controller").WithName("referenceaddon")},
120-
controllers.WithAddonNamespace(opts.Namespace),
121-
controllers.WithAddonParameterSecretName(opts.ParameterSecretname),
122-
controllers.WithOperatorName(opts.OperatorName),
123-
controllers.WithDeleteLabel(opts.DeleteLabel),
119+
ractrl.WithLog{Log: ctrl.Log.WithName("controller").WithName("referenceaddon")},
120+
ractrl.WithAddonNamespace(opts.Namespace),
121+
ractrl.WithAddonParameterSecretName(opts.ParameterSecretname),
122+
ractrl.WithOperatorName(opts.OperatorName),
123+
ractrl.WithDeleteLabel(opts.DeleteLabel),
124124
)
125125
if err != nil {
126126
return nil, fmt.Errorf("initializing reference addon controller: %w", err)

internal/controllers/helpers.go

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,8 @@ package controllers
33
import (
44
"context"
55
"errors"
6-
"fmt"
76
"strings"
87

9-
refv1alpha1 "github.com/openshift/reference-addon/apis/reference/v1alpha1"
10-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
118
"k8s.io/apimachinery/pkg/types"
129
"k8s.io/client-go/util/workqueue"
1310
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -19,37 +16,23 @@ import (
1916

2017
var ErrEmptyOptionValue = errors.New("empty option value")
2118

22-
func validateOptionValue(val string) error {
19+
func ValidateOptionValue(val string) error {
2320
if val != "" {
2421
return nil
2522
}
2623

2724
return ErrEmptyOptionValue
2825
}
2926

30-
func generateIngressPolicyName(prefix string) string {
31-
return fmt.Sprintf("%s-ingress", prefix)
32-
}
33-
34-
func boolPtr(b bool) *bool {
27+
func BoolPtr(b bool) *bool {
3528
return &b
3629
}
3730

38-
func stringPtr(s string) *string {
31+
func StringPtr(s string) *string {
3932
return &s
4033
}
4134

42-
func newAvailableCondition(reason refv1alpha1.ReferenceAddonAvailableReason, msg string) metav1.Condition {
43-
return metav1.Condition{
44-
Type: refv1alpha1.ReferenceAddonConditionAvailable.String(),
45-
Status: reason.Status(),
46-
Reason: reason.String(),
47-
Message: msg,
48-
LastTransitionTime: metav1.Now(),
49-
}
50-
}
51-
52-
func enqueueObject(obj types.NamespacedName) source.Func {
35+
func EnqueueObject(obj types.NamespacedName) source.Func {
5336
return func(_ context.Context, _ handler.EventHandler, q workqueue.RateLimitingInterface, _ ...predicate.Predicate) error {
5437
q.Add(reconcile.Request{
5538
NamespacedName: obj,
@@ -59,15 +42,15 @@ func enqueueObject(obj types.NamespacedName) source.Func {
5942
}
6043
}
6144

62-
func hasNamePrefix(pfx string) predicate.Funcs {
45+
func HasNamePrefix(pfx string) predicate.Funcs {
6346
return predicate.NewPredicateFuncs(
6447
func(obj client.Object) bool {
6548
return strings.HasPrefix(obj.GetName(), pfx)
6649
},
6750
)
6851
}
6952

70-
func hasName(name string) predicate.Funcs {
53+
func HasName(name string) predicate.Funcs {
7154
return predicate.NewPredicateFuncs(
7255
func(obj client.Object) bool {
7356
return obj.GetName() == name

internal/controllers/phase/phase.go

Lines changed: 0 additions & 178 deletions
This file was deleted.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package referenceaddon
2+
3+
import (
4+
"fmt"
5+
6+
refv1alpha1 "github.com/openshift/reference-addon/apis/reference/v1alpha1"
7+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
8+
)
9+
10+
func generateIngressPolicyName(prefix string) string {
11+
return fmt.Sprintf("%s-ingress", prefix)
12+
}
13+
14+
func newAvailableCondition(reason refv1alpha1.ReferenceAddonAvailableReason, msg string) metav1.Condition {
15+
return metav1.Condition{
16+
Type: refv1alpha1.ReferenceAddonConditionAvailable.String(),
17+
Status: reason.Status(),
18+
Reason: reason.String(),
19+
Message: msg,
20+
LastTransitionTime: metav1.Now(),
21+
}
22+
}

internal/controllers/options.go renamed to internal/controllers/referenceaddon/options.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package controllers
1+
package referenceaddon
22

33
import (
44
"github.com/go-logr/logr"

internal/controllers/parameter_getter.go renamed to internal/controllers/referenceaddon/parameter_getter.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
1-
package controllers
1+
package referenceaddon
22

33
import (
44
"context"
55
"errors"
66
"fmt"
77
"strings"
88

9-
"github.com/openshift/reference-addon/internal/controllers/phase"
109
corev1 "k8s.io/api/core/v1"
1110
"sigs.k8s.io/controller-runtime/pkg/client"
1211
)
1312

1413
type ParameterGetter interface {
15-
GetParameters(ctx context.Context) (phase.RequestParameters, error)
14+
GetParameters(ctx context.Context) (PhaseRequestParameters, error)
1615
}
1716

1817
func NewSecretParameterGetter(client client.Client, opts ...SecretParameteterGetterOption) *SecretParameterGetter {
@@ -38,7 +37,7 @@ const (
3837
sizeParameterID = "size"
3938
)
4039

41-
func (s *SecretParameterGetter) GetParameters(ctx context.Context) (phase.RequestParameters, error) {
40+
func (s *SecretParameterGetter) GetParameters(ctx context.Context) (PhaseRequestParameters, error) {
4241
ctx, cancel := context.WithCancel(ctx)
4342
defer cancel()
4443

@@ -50,27 +49,27 @@ func (s *SecretParameterGetter) GetParameters(ctx context.Context) (phase.Reques
5049
var secret corev1.Secret
5150

5251
if err := s.client.Get(ctx, key, &secret); err != nil {
53-
return phase.NewRequestParameters(), fmt.Errorf("retrieving addon parameters secret: %w", err)
52+
return NewPhaseRequestParameters(), fmt.Errorf("retrieving addon parameters secret: %w", err)
5453
}
5554

56-
var opts []phase.RequestParametersOption
55+
var opts []PhaseRequestParametersOption
5756

5857
if val, ok := secret.Data[applyNetworkPoliciesID]; ok {
5958
b, err := parseBool(string(val))
6059
if err != nil {
61-
return phase.NewRequestParameters(), fmt.Errorf("parsing 'ApplyNetworkPolicies' value: %w", err)
60+
return NewPhaseRequestParameters(), fmt.Errorf("parsing 'ApplyNetworkPolicies' value: %w", err)
6261
}
6362

64-
opts = append(opts, phase.WithApplyNetworkPolicies{Value: &b})
63+
opts = append(opts, WithApplyNetworkPolicies{Value: &b})
6564
}
6665

6766
if val, ok := secret.Data[sizeParameterID]; ok {
6867
s := string(val)
6968

70-
opts = append(opts, phase.WithSize{Value: &s})
69+
opts = append(opts, WithSize{Value: &s})
7170
}
7271

73-
return phase.NewRequestParameters(opts...), nil
72+
return NewPhaseRequestParameters(opts...), nil
7473
}
7574

7675
type SecretParameterGetterConfig struct {

0 commit comments

Comments
 (0)