@@ -372,7 +372,7 @@ func (r *MySQLClusterReconciler) reconcileUserSecret(ctx context.Context, req ct
372372 WithLabels (labelSet (cluster , false )).
373373 WithData (newSecret .Data )
374374
375- if err := setControllerReferenceWithSecret (cluster , secret , r .Scheme ); err != nil {
375+ if err := setControllerReference (cluster , secret , r .Scheme ); err != nil {
376376 return fmt .Errorf ("failed to set ownerReference to Secret %s/%s: %w" , cluster .Namespace , name , err )
377377 }
378378
@@ -408,7 +408,7 @@ func (r *MySQLClusterReconciler) reconcileMyCnfSecret(ctx context.Context, req c
408408 WithLabels (labelSet (cluster , false )).
409409 WithData (mycnfSecret .Data )
410410
411- if err := setControllerReferenceWithSecret (cluster , secret , r .Scheme ); err != nil {
411+ if err := setControllerReference (cluster , secret , r .Scheme ); err != nil {
412412 return fmt .Errorf ("failed to set ownerReference to Secret %s/%s: %w" , cluster .Namespace , name , err )
413413 }
414414
@@ -483,7 +483,7 @@ func (r *MySQLClusterReconciler) reconcileV1MyCnf(ctx context.Context, req ctrl.
483483 WithLabels (labelSet (cluster , false )).
484484 WithData (cmData )
485485
486- if err := setControllerReferenceWithConfigMap (cluster , cm , r .Scheme ); err != nil {
486+ if err := setControllerReference (cluster , cm , r .Scheme ); err != nil {
487487 return nil , fmt .Errorf ("failed to set ownerReference to ConfigMap %s/%s: %w" , cluster .Namespace , cmName , err )
488488 }
489489
@@ -553,7 +553,7 @@ func (r *MySQLClusterReconciler) reconcileV1FluentBitConfigMap(ctx context.Conte
553553 WithLabels (labelSet (cluster , false )).
554554 WithData (data )
555555
556- if err := setControllerReferenceWithConfigMap (cluster , cm , r .Scheme ); err != nil {
556+ if err := setControllerReference (cluster , cm , r .Scheme ); err != nil {
557557 return nil , fmt .Errorf ("failed to set ownerReference to ConfigMap %s/%s: %w" , cluster .Namespace , cmName , err )
558558 }
559559
@@ -625,7 +625,7 @@ func (r *MySQLClusterReconciler) reconcileV1ServiceAccount(ctx context.Context,
625625 sa := corev1ac .ServiceAccount (name , cluster .Namespace ).
626626 WithLabels (labelSet (cluster , false ))
627627
628- if err := setControllerReferenceWithServiceAccount (cluster , sa , r .Scheme ); err != nil {
628+ if err := setControllerReference (cluster , sa , r .Scheme ); err != nil {
629629 return fmt .Errorf ("failed to set ownerReference to Service %s/%s: %w" , cluster .Namespace , name , err )
630630 }
631631
@@ -736,7 +736,7 @@ func (r *MySQLClusterReconciler) reconcileV1Service1(ctx context.Context, cluste
736736 )
737737 }
738738
739- if err := setControllerReferenceWithService (cluster , svc , r .Scheme ); err != nil {
739+ if err := setControllerReference (cluster , svc , r .Scheme ); err != nil {
740740 return fmt .Errorf ("failed to set ownerReference to Service %s/%s: %w" , cluster .Namespace , name , err )
741741 }
742742
@@ -957,7 +957,7 @@ func (r *MySQLClusterReconciler) reconcileV1StatefulSet(ctx context.Context, req
957957
958958 sts .Spec .Template .WithSpec (& podSpec )
959959
960- if err := setControllerReferenceWithStatefulSet (cluster , sts , r .Scheme ); err != nil {
960+ if err := setControllerReference (cluster , sts , r .Scheme ); err != nil {
961961 return fmt .Errorf ("failed to set ownerReference to StatefulSet %s/%s: %w" , cluster .Namespace , cluster .PrefixedName (), err )
962962 }
963963
@@ -1080,7 +1080,7 @@ func (r *MySQLClusterReconciler) reconcileV1PDB(ctx context.Context, req ctrl.Re
10801080 ),
10811081 )
10821082
1083- if err := setControllerReferenceWithPDB (cluster , pdbApplyConfig , r .Scheme ); err != nil {
1083+ if err := setControllerReference (cluster , pdbApplyConfig , r .Scheme ); err != nil {
10841084 return fmt .Errorf ("failed to set ownerReference to PDB %s/%s: %w" , pdb .Namespace , pdb .Name , err )
10851085 }
10861086
@@ -1332,7 +1332,7 @@ func (r *MySQLClusterReconciler) reconcileV1BackupJob(ctx context.Context, req c
13321332 )
13331333 }
13341334
1335- if err := setControllerReferenceWithCronJob (cluster , cronJob , r .Scheme ); err != nil {
1335+ if err := setControllerReference (cluster , cronJob , r .Scheme ); err != nil {
13361336 return fmt .Errorf ("failed to set ownerReference to CronJob %s/%s: %w" , cluster .Namespace , cronJobName , err )
13371337 }
13381338
@@ -1392,7 +1392,7 @@ func (r *MySQLClusterReconciler) reconcileV1BackupJobRole(ctx context.Context, r
13921392 WithVerbs ("create" , "update" , "patch" ),
13931393 )
13941394
1395- if err := setControllerReferenceWithRole (cluster , role , r .Scheme ); err != nil {
1395+ if err := setControllerReference (cluster , role , r .Scheme ); err != nil {
13961396 return fmt .Errorf ("failed to set ownerReference to Role %s/%s: %w" , cluster .Namespace , name , err )
13971397 }
13981398
@@ -1437,7 +1437,7 @@ func (r *MySQLClusterReconciler) reconcileV1BackupJobRoleBinding(ctx context.Con
14371437 WithName (bp .Spec .JobConfig .ServiceAccountName ).
14381438 WithNamespace (cluster .Namespace ))
14391439
1440- if err := setControllerReferenceWithRoleBinding (cluster , roleBinding , r .Scheme ); err != nil {
1440+ if err := setControllerReference (cluster , roleBinding , r .Scheme ); err != nil {
14411441 return fmt .Errorf ("failed to set ownerReference to RoleBinding %s/%s: %w" , cluster .Namespace , name , err )
14421442 }
14431443
@@ -1594,7 +1594,7 @@ func (r *MySQLClusterReconciler) reconcileV1RestoreJob(ctx context.Context, req
15941594 ),
15951595 )
15961596
1597- if err := setControllerReferenceWithJob (cluster , job , r .Scheme ); err != nil {
1597+ if err := setControllerReference (cluster , job , r .Scheme ); err != nil {
15981598 return fmt .Errorf ("failed to set ownerReference to Job %s/%s: %w" , cluster .Namespace , jobName , err )
15991599 }
16001600
@@ -1655,7 +1655,7 @@ func (r *MySQLClusterReconciler) reconcileV1RestoreJobRole(ctx context.Context,
16551655 WithVerbs ("create" ),
16561656 )
16571657
1658- if err := setControllerReferenceWithRole (cluster , role , r .Scheme ); err != nil {
1658+ if err := setControllerReference (cluster , role , r .Scheme ); err != nil {
16591659 return fmt .Errorf ("failed to set ownerReference to Role %s/%s: %w" , cluster .Namespace , name , err )
16601660 }
16611661
@@ -1700,7 +1700,7 @@ func (r *MySQLClusterReconciler) reconcileV1RestoreJobRoleBinding(ctx context.Co
17001700 WithName (cluster .Spec .Restore .JobConfig .ServiceAccountName ).
17011701 WithNamespace (cluster .Namespace ))
17021702
1703- if err := setControllerReferenceWithRoleBinding (cluster , roleBinding , r .Scheme ); err != nil {
1703+ if err := setControllerReference (cluster , roleBinding , r .Scheme ); err != nil {
17041704 return fmt .Errorf ("failed to set ownerReference to RoleBinding %s/%s: %w" , cluster .Namespace , name , err )
17051705 }
17061706
@@ -1909,57 +1909,16 @@ func isForceRollingUpdate(cluster *mocov1beta2.MySQLCluster) bool {
19091909 return cluster .Annotations [constants .AnnForceRollingUpdate ] == "true"
19101910}
19111911
1912- func setControllerReferenceWithConfigMap (cluster * mocov1beta2.MySQLCluster , cm * corev1ac.ConfigMapApplyConfiguration , scheme * runtime.Scheme ) error {
1913- gvk , err := apiutil .GVKForObject (cluster , scheme )
1914- if err != nil {
1915- return err
1916- }
1917- cm .WithOwnerReferences (metav1ac .OwnerReference ().
1918- WithAPIVersion (gvk .GroupVersion ().String ()).
1919- WithKind (gvk .Kind ).
1920- WithName (cluster .Name ).
1921- WithUID (cluster .GetUID ()).
1922- WithBlockOwnerDeletion (true ).
1923- WithController (true ))
1924- return nil
1925- }
1926-
1927- func setControllerReferenceWithSecret (cluster * mocov1beta2.MySQLCluster , secret * corev1ac.SecretApplyConfiguration , scheme * runtime.Scheme ) error {
1928- gvk , err := apiutil .GVKForObject (cluster , scheme )
1929- if err != nil {
1930- return err
1931- }
1932- secret .WithOwnerReferences (metav1ac .OwnerReference ().
1933- WithAPIVersion (gvk .GroupVersion ().String ()).
1934- WithKind (gvk .Kind ).
1935- WithName (cluster .Name ).
1936- WithUID (cluster .GetUID ()).
1937- WithBlockOwnerDeletion (true ).
1938- WithController (true ))
1939- return nil
1940- }
1941-
1942- func setControllerReferenceWithService (cluster * mocov1beta2.MySQLCluster , svc * corev1ac.ServiceApplyConfiguration , scheme * runtime.Scheme ) error {
1943- gvk , err := apiutil .GVKForObject (cluster , scheme )
1944- if err != nil {
1945- return err
1946- }
1947- svc .WithOwnerReferences (metav1ac .OwnerReference ().
1948- WithAPIVersion (gvk .GroupVersion ().String ()).
1949- WithKind (gvk .Kind ).
1950- WithName (cluster .Name ).
1951- WithUID (cluster .GetUID ()).
1952- WithBlockOwnerDeletion (true ).
1953- WithController (true ))
1954- return nil
1912+ type ownerRefSetter [T any ] interface {
1913+ WithOwnerReferences (... * metav1ac.OwnerReferenceApplyConfiguration ) T
19551914}
19561915
1957- func setControllerReferenceWithStatefulSet (cluster * mocov1beta2.MySQLCluster , sts * appsv1ac. StatefulSetApplyConfiguration , scheme * runtime.Scheme ) error {
1916+ func setControllerReference [ T ownerRefSetter [ T ]] (cluster * mocov1beta2.MySQLCluster , obj T , scheme * runtime.Scheme ) error {
19581917 gvk , err := apiutil .GVKForObject (cluster , scheme )
19591918 if err != nil {
19601919 return err
19611920 }
1962- sts .WithOwnerReferences (metav1ac .OwnerReference ().
1921+ obj .WithOwnerReferences (metav1ac .OwnerReference ().
19631922 WithAPIVersion (gvk .GroupVersion ().String ()).
19641923 WithKind (gvk .Kind ).
19651924 WithName (cluster .Name ).
@@ -1998,96 +1957,6 @@ func setControllerReferenceWithPVC(cluster *mocov1beta2.MySQLCluster, pvc *corev
19981957 return nil
19991958}
20001959
2001- func setControllerReferenceWithServiceAccount (cluster * mocov1beta2.MySQLCluster , sa * corev1ac.ServiceAccountApplyConfiguration , scheme * runtime.Scheme ) error {
2002- gvk , err := apiutil .GVKForObject (cluster , scheme )
2003- if err != nil {
2004- return err
2005- }
2006- sa .WithOwnerReferences (metav1ac .OwnerReference ().
2007- WithAPIVersion (gvk .GroupVersion ().String ()).
2008- WithKind (gvk .Kind ).
2009- WithName (cluster .Name ).
2010- WithUID (cluster .GetUID ()).
2011- WithBlockOwnerDeletion (true ).
2012- WithController (true ))
2013- return nil
2014- }
2015-
2016- func setControllerReferenceWithPDB (cluster * mocov1beta2.MySQLCluster , pdb * policyv1ac.PodDisruptionBudgetApplyConfiguration , scheme * runtime.Scheme ) error {
2017- gvk , err := apiutil .GVKForObject (cluster , scheme )
2018- if err != nil {
2019- return err
2020- }
2021- pdb .WithOwnerReferences (metav1ac .OwnerReference ().
2022- WithAPIVersion (gvk .GroupVersion ().String ()).
2023- WithKind (gvk .Kind ).
2024- WithName (cluster .Name ).
2025- WithUID (cluster .GetUID ()).
2026- WithBlockOwnerDeletion (true ).
2027- WithController (true ))
2028- return nil
2029- }
2030-
2031- func setControllerReferenceWithRole (cluster * mocov1beta2.MySQLCluster , role * rbacv1ac.RoleApplyConfiguration , scheme * runtime.Scheme ) error {
2032- gvk , err := apiutil .GVKForObject (cluster , scheme )
2033- if err != nil {
2034- return err
2035- }
2036- role .WithOwnerReferences (metav1ac .OwnerReference ().
2037- WithAPIVersion (gvk .GroupVersion ().String ()).
2038- WithKind (gvk .Kind ).
2039- WithName (cluster .Name ).
2040- WithUID (cluster .GetUID ()).
2041- WithBlockOwnerDeletion (true ).
2042- WithController (true ))
2043- return nil
2044- }
2045-
2046- func setControllerReferenceWithRoleBinding (cluster * mocov1beta2.MySQLCluster , roleBinding * rbacv1ac.RoleBindingApplyConfiguration , scheme * runtime.Scheme ) error {
2047- gvk , err := apiutil .GVKForObject (cluster , scheme )
2048- if err != nil {
2049- return err
2050- }
2051- roleBinding .WithOwnerReferences (metav1ac .OwnerReference ().
2052- WithAPIVersion (gvk .GroupVersion ().String ()).
2053- WithKind (gvk .Kind ).
2054- WithName (cluster .Name ).
2055- WithUID (cluster .GetUID ()).
2056- WithBlockOwnerDeletion (true ).
2057- WithController (true ))
2058- return nil
2059- }
2060-
2061- func setControllerReferenceWithJob (cluster * mocov1beta2.MySQLCluster , job * batchv1ac.JobApplyConfiguration , scheme * runtime.Scheme ) error {
2062- gvk , err := apiutil .GVKForObject (cluster , scheme )
2063- if err != nil {
2064- return err
2065- }
2066- job .WithOwnerReferences (metav1ac .OwnerReference ().
2067- WithAPIVersion (gvk .GroupVersion ().String ()).
2068- WithKind (gvk .Kind ).
2069- WithName (cluster .Name ).
2070- WithUID (cluster .GetUID ()).
2071- WithBlockOwnerDeletion (true ).
2072- WithController (true ))
2073- return nil
2074- }
2075-
2076- func setControllerReferenceWithCronJob (cluster * mocov1beta2.MySQLCluster , cronJob * batchv1ac.CronJobApplyConfiguration , scheme * runtime.Scheme ) error {
2077- gvk , err := apiutil .GVKForObject (cluster , scheme )
2078- if err != nil {
2079- return err
2080- }
2081- cronJob .WithOwnerReferences (metav1ac .OwnerReference ().
2082- WithAPIVersion (gvk .GroupVersion ().String ()).
2083- WithKind (gvk .Kind ).
2084- WithName (cluster .Name ).
2085- WithUID (cluster .GetUID ()).
2086- WithBlockOwnerDeletion (true ).
2087- WithController (true ))
2088- return nil
2089- }
2090-
20911960// SetupWithManager sets up the controller with the Manager.
20921961func (r * MySQLClusterReconciler ) SetupWithManager (mgr ctrl.Manager ) error {
20931962 certHandler := handler .EnqueueRequestsFromMapFunc (func (ctx context.Context , a client.Object ) []reconcile.Request {
0 commit comments