From c61a555d8a775cbeebc43f4a3763cc20d61cbb2c Mon Sep 17 00:00:00 2001 From: Vegard Engen Date: Mon, 14 Apr 2025 13:58:49 +0200 Subject: [PATCH] Add OperatorConfig to all controllers --- internal/controller/firewallgroup_controller.go | 2 ++ internal/controller/firewallrule_controller.go | 4 ++++ internal/controller/firewallzone_controller.go | 2 ++ internal/controller/networkconfiguration_controller.go | 10 ++++++++++ 4 files changed, 18 insertions(+) diff --git a/internal/controller/firewallgroup_controller.go b/internal/controller/firewallgroup_controller.go index b17e603..2105f10 100644 --- a/internal/controller/firewallgroup_controller.go +++ b/internal/controller/firewallgroup_controller.go @@ -40,6 +40,7 @@ import ( goUnifi "github.com/vegardengen/go-unifi/unifi" unifiv1beta1 "github.com/vegardengen/unifi-network-operator/api/v1beta1" "github.com/vegardengen/unifi-network-operator/internal/unifi" + "github.com/vegardengen/unifi-network-operator/internal/config" ) // FirewallGroupReconciler reconciles a FirewallGroup object @@ -47,6 +48,7 @@ type FirewallGroupReconciler struct { client.Client Scheme *runtime.Scheme UnifiClient *unifi.UnifiClient + OperatorConfig *config.OperatorConfig } // +kubebuilder:rbac:groups=unifi.engen.priv.no,resources=firewallgroups,verbs=get;list;watch;create;update;patch;delete diff --git a/internal/controller/firewallrule_controller.go b/internal/controller/firewallrule_controller.go index 77886d1..02f8efb 100644 --- a/internal/controller/firewallrule_controller.go +++ b/internal/controller/firewallrule_controller.go @@ -25,12 +25,16 @@ import ( "sigs.k8s.io/controller-runtime/pkg/log" unifiv1beta1 "github.com/vegardengen/unifi-network-operator/api/v1beta1" + "github.com/vegardengen/unifi-network-operator/internal/unifi" + "github.com/vegardengen/unifi-network-operator/internal/config" ) // FirewallRuleReconciler reconciles a FirewallRule object type FirewallRuleReconciler struct { client.Client Scheme *runtime.Scheme + UnifiClient *unifi.UnifiClient + OperatorConfig *config.OperatorConfig } // +kubebuilder:rbac:groups=unifi.engen.priv.no,resources=firewallrules,verbs=get;list;watch;create;update;patch;delete diff --git a/internal/controller/firewallzone_controller.go b/internal/controller/firewallzone_controller.go index 826df26..47a3418 100644 --- a/internal/controller/firewallzone_controller.go +++ b/internal/controller/firewallzone_controller.go @@ -30,6 +30,7 @@ import ( unifiv1beta1 "github.com/vegardengen/unifi-network-operator/api/v1beta1" "github.com/vegardengen/unifi-network-operator/internal/unifi" + "github.com/vegardengen/unifi-network-operator/internal/config" ) // FirewallZoneReconciler reconciles a FirewallZone object @@ -37,6 +38,7 @@ type FirewallZoneReconciler struct { client.Client Scheme *runtime.Scheme UnifiClient *unifi.UnifiClient + OperatorConfig *config.OperatorConfig } func toKubeName(input string) string { diff --git a/internal/controller/networkconfiguration_controller.go b/internal/controller/networkconfiguration_controller.go index e8f346b..d73ad52 100644 --- a/internal/controller/networkconfiguration_controller.go +++ b/internal/controller/networkconfiguration_controller.go @@ -27,6 +27,7 @@ import ( unifiv1 "github.com/vegardengen/unifi-network-operator/api/v1beta1" "github.com/vegardengen/unifi-network-operator/internal/unifi" + "github.com/vegardengen/unifi-network-operator/internal/config" ) // NetworkconfigurationReconciler reconciles a Networkconfiguration object @@ -34,6 +35,7 @@ type NetworkconfigurationReconciler struct { client.Client Scheme *runtime.Scheme UnifiClient *unifi.UnifiClient + OperatorConfig *config.OperatorConfig } // +kubebuilder:rbac:groups=unifi.engen.priv.no,resources=networkconfigurations,verbs=get;list;watch;create;update;patch;delete @@ -103,6 +105,14 @@ func (r *NetworkconfigurationReconciler) Reconcile(ctx context.Context, req ctrl // SetupWithManager sets up the controller with the Manager. func (r *NetworkconfigurationReconciler) SetupWithManager(mgr ctrl.Manager) error { + ctx := context.Background() + cfgLoader := config.New(mgr.GetClient(), "unifi-operator-config", "unifi-network-operator-system") + + cfg, err := cfgLoader.Load(ctx) + if err != nil { + return err + } + r.OperatorConfig = cfg return ctrl.NewControllerManagedBy(mgr). For(&unifiv1.Networkconfiguration{}). Named("networkconfiguration").