Skip to content

Commit 41f7d1a

Browse files
rfranzkeGaurav Gupta
authored andcommitted
Let MCM release the Alicloud machine class secret finalizer (#272)
1 parent c6f78a8 commit 41f7d1a

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

pkg/controller/controller.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,12 @@ func NewController(
178178
DeleteFunc: controller.azureMachineClassToSecretDelete,
179179
})
180180

181+
alicloudMachineClassInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
182+
AddFunc: controller.alicloudMachineClassToSecretAdd,
183+
UpdateFunc: controller.alicloudMachineClassToSecretUpdate,
184+
DeleteFunc: controller.alicloudMachineClassToSecretDelete,
185+
})
186+
181187
awsMachineClassInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
182188
AddFunc: controller.awsMachineClassToSecretAdd,
183189
UpdateFunc: controller.awsMachineClassToSecretUpdate,

pkg/controller/secret.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,35 @@ func (c *controller) azureMachineClassToSecretDelete(obj interface{}) {
228228
c.azureMachineClassToSecretAdd(obj)
229229
}
230230

231+
func (c *controller) alicloudMachineClassToSecretAdd(obj interface{}) {
232+
machineClass, ok := obj.(*v1alpha1.AlicloudMachineClass)
233+
if machineClass == nil || !ok {
234+
return
235+
}
236+
c.secretQueue.Add(machineClass.Spec.SecretRef.Namespace + "/" + machineClass.Spec.SecretRef.Name)
237+
}
238+
239+
func (c *controller) alicloudMachineClassToSecretUpdate(oldObj interface{}, newObj interface{}) {
240+
oldMachineClass, ok := oldObj.(*v1alpha1.AlicloudMachineClass)
241+
if oldMachineClass == nil || !ok {
242+
return
243+
}
244+
newMachineClass, ok := newObj.(*v1alpha1.AlicloudMachineClass)
245+
if newMachineClass == nil || !ok {
246+
return
247+
}
248+
249+
if oldMachineClass.Spec.SecretRef.Name != newMachineClass.Spec.SecretRef.Name ||
250+
oldMachineClass.Spec.SecretRef.Namespace != newMachineClass.Spec.SecretRef.Namespace {
251+
c.secretQueue.Add(oldMachineClass.Spec.SecretRef.Namespace + "/" + oldMachineClass.Spec.SecretRef.Name)
252+
c.secretQueue.Add(newMachineClass.Spec.SecretRef.Namespace + "/" + newMachineClass.Spec.SecretRef.Name)
253+
}
254+
}
255+
256+
func (c *controller) alicloudMachineClassToSecretDelete(obj interface{}) {
257+
c.alicloudMachineClassToSecretAdd(obj)
258+
}
259+
231260
func (c *controller) awsMachineClassToSecretAdd(obj interface{}) {
232261
machineClass, ok := obj.(*v1alpha1.AWSMachineClass)
233262
if machineClass == nil || !ok {

0 commit comments

Comments
 (0)