@@ -4,10 +4,10 @@ import (
44 "context"
55 "reflect"
66
7- radixutils "github.com/equinor/radix-common/utils"
87 "github.com/equinor/radix-operator/operator/common"
98 "github.com/equinor/radix-operator/pkg/apis/metrics"
109 radixv1 "github.com/equinor/radix-operator/pkg/apis/radix/v1"
10+ "github.com/equinor/radix-operator/pkg/apis/utils/annotations"
1111 radixlabels "github.com/equinor/radix-operator/pkg/apis/utils/labels"
1212 radixclient "github.com/equinor/radix-operator/pkg/client/clientset/versioned"
1313 informers "github.com/equinor/radix-operator/pkg/client/informers/externalversions"
@@ -50,24 +50,21 @@ func NewController(ctx context.Context, kubeClient kubernetes.Interface,
5050 addEventHandlersForRadixDNSAliases (radixDNSAliasInformer , controller , & logger )
5151 addEventHandlersForRadixDeployments (radixInformerFactory , controller , radixClient , & logger )
5252 addEventHandlersForIngresses (ctx , kubeInformerFactory , controller , & logger )
53- addEventHandlersForRadixRegistrations (radixInformerFactory , controller , radixClient , & logger )
53+ addEventHandlersForRadixRegistrations (ctx , radixInformerFactory , controller , radixClient , & logger )
5454 return controller
5555}
5656
57- func addEventHandlersForRadixRegistrations (radixInformerFactory informers.SharedInformerFactory , controller * common.Controller , radixClient radixclient.Interface , logger * zerolog.Logger ) {
57+ func addEventHandlersForRadixRegistrations (ctx context. Context , radixInformerFactory informers.SharedInformerFactory , controller * common.Controller , radixClient radixclient.Interface , logger * zerolog.Logger ) {
5858 radixRegistrationInformer := radixInformerFactory .Radix ().V1 ().RadixRegistrations ()
5959 if _ , err := radixRegistrationInformer .Informer ().AddEventHandler (cache.ResourceEventHandlerFuncs {
6060 UpdateFunc : func (oldObj , newObj interface {}) {
6161 oldRR := oldObj .(* radixv1.RadixRegistration )
6262 newRR := newObj .(* radixv1.RadixRegistration )
63- if oldRR .GetResourceVersion () == newRR .GetResourceVersion () &&
64- radixutils .ArrayEqualElements (oldRR .Spec .AdGroups , newRR .Spec .AdGroups ) &&
65- radixutils .ArrayEqualElements (oldRR .Spec .AdUsers , newRR .Spec .AdUsers ) &&
66- radixutils .ArrayEqualElements (oldRR .Spec .ReaderAdGroups , newRR .Spec .ReaderAdGroups ) &&
67- radixutils .ArrayEqualElements (oldRR .Spec .ReaderAdUsers , newRR .Spec .ReaderAdUsers ) {
63+
64+ if oldRR .Annotations [annotations .PreviewOAuth2ProxyModeAnnotation ] == newRR .Annotations [annotations .PreviewOAuth2ProxyModeAnnotation ] {
6865 return // updating RadixRegistration has the same resource version. Do nothing.
6966 }
70- enqueueRadixDNSAliasesForAppName (controller , radixClient , newRR .GetName (), logger )
67+ enqueueRadixDNSAliasesForAppName (ctx , controller , radixClient , newRR .GetName (), logger )
7168 },
7269 }); err != nil {
7370 panic (err )
@@ -175,23 +172,21 @@ func enqueueRadixDNSAliasesForRadixDeployment(controller *common.Controller, rad
175172 return
176173 }
177174 for _ , radixDNSAlias := range radixDNSAliases {
178- radixDNSAlias := radixDNSAlias
179175 logger .Debug ().Msgf ("re-sync RadixDNSAlias %s" , radixDNSAlias .GetName ())
180176 if err := controller .Enqueue (& radixDNSAlias ); err != nil {
181177 logger .Error ().Err (err ).Msgf ("failed to enqueue RadixDNSAlias %s" , radixDNSAlias .GetName ())
182178 }
183179 }
184180}
185181
186- func enqueueRadixDNSAliasesForAppName (controller * common.Controller , radixClient radixclient.Interface , appName string , logger * zerolog.Logger ) {
182+ func enqueueRadixDNSAliasesForAppName (ctx context. Context , controller * common.Controller , radixClient radixclient.Interface , appName string , logger * zerolog.Logger ) {
187183 logger .Debug ().Msgf ("Added or updated an RadixRegistration %s. Enqueue relevant RadixDNSAliases" , appName )
188- radixDNSAliases , err := getRadixDNSAliasForApp (radixClient , appName )
184+ radixDNSAliases , err := getRadixDNSAliasForApp (ctx , radixClient , appName )
189185 if err != nil {
190186 logger .Error ().Err (err ).Msgf ("failed to get list of RadixDNSAliases for the application %s" , appName )
191187 return
192188 }
193189 for _ , radixDNSAlias := range radixDNSAliases {
194- radixDNSAlias := radixDNSAlias
195190 logger .Debug ().Msgf ("Enqueue RadixDNSAlias %s" , radixDNSAlias .GetName ())
196191 if err := controller .Enqueue (& radixDNSAlias ); err != nil {
197192 logger .Error ().Err (err ).Msgf ("failed to enqueue RadixDNSAlias %s" , radixDNSAlias .GetName ())
@@ -210,8 +205,8 @@ func getRadixDNSAliasForAppAndEnvironment(radixClient radixclient.Interface, app
210205 return radixDNSAliasList .Items , err
211206}
212207
213- func getRadixDNSAliasForApp (radixClient radixclient.Interface , appName string ) ([]radixv1.RadixDNSAlias , error ) {
214- radixDNSAliasList , err := radixClient .RadixV1 ().RadixDNSAliases ().List (context . Background () , metav1.ListOptions {
208+ func getRadixDNSAliasForApp (ctx context. Context , radixClient radixclient.Interface , appName string ) ([]radixv1.RadixDNSAlias , error ) {
209+ radixDNSAliasList , err := radixClient .RadixV1 ().RadixDNSAliases ().List (ctx , metav1.ListOptions {
215210 LabelSelector : radixlabels .ForApplicationName (appName ).String (),
216211 })
217212 if err != nil {
@@ -222,10 +217,7 @@ func getRadixDNSAliasForApp(radixClient radixclient.Interface, appName string) (
222217
223218func deepEqual (old , new * radixv1.RadixDNSAlias ) bool {
224219 return reflect .DeepEqual (new .Spec , old .Spec ) &&
225- reflect .DeepEqual (new .ObjectMeta .Labels , old .ObjectMeta .Labels ) &&
226- reflect .DeepEqual (new .ObjectMeta .Annotations , old .ObjectMeta .Annotations ) &&
227- reflect .DeepEqual (new .ObjectMeta .Finalizers , old .ObjectMeta .Finalizers ) &&
228- reflect .DeepEqual (new .ObjectMeta .DeletionTimestamp , old .ObjectMeta .DeletionTimestamp )
220+ reflect .DeepEqual (new .ObjectMeta .Labels , old .ObjectMeta .Labels )
229221}
230222
231223func getOwner (ctx context.Context , radixClient radixclient.Interface , _ , name string ) (interface {}, error ) {
0 commit comments