@@ -116,6 +116,7 @@ type DesignateReconciler struct {
116116// +kubebuilder:rbac:groups=rabbitmq.openstack.org,resources=transporturls,verbs=get;list;watch;create;update;patch;delete
117117// +kubebuilder:rbac:groups=k8s.cni.cncf.io,resources=network-attachment-definitions,verbs=get;list;watch
118118// +kubebuilder:rbac:groups="",resources=nodes,verbs=get;list
119+ // +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=get;list;create;update;patch;delete;watch
119120
120121// service account, role, rolebinding
121122// +kubebuilder:rbac:groups="",resources=serviceaccounts,verbs=get;list;watch;create;update;patch
@@ -986,7 +987,7 @@ func (r *DesignateReconciler) reconcileNormal(ctx context.Context, instance *des
986987 Log .Info ("Deployment Producer task reconciled" )
987988
988989 // deploy designate-backendbind9
989- designateBackendbind9 , op , err := r .backendbind9DeploymentCreateOrUpdate (ctx , instance )
990+ designateBackendbind9 , op , err := r .backendbind9StatefulSetCreateOrUpdate (ctx , instance )
990991 if err != nil {
991992 instance .Status .Conditions .Set (condition .FalseCondition (
992993 designatev1beta1 .DesignateBackendbind9ReadyCondition ,
@@ -1503,37 +1504,35 @@ func (r *DesignateReconciler) producerDeploymentCreateOrUpdate(ctx context.Conte
15031504 return deployment , op , err
15041505}
15051506
1506- func (r * DesignateReconciler ) backendbind9DeploymentCreateOrUpdate (ctx context.Context , instance * designatev1beta1.Designate ) (* designatev1beta1.DesignateBackendbind9 , controllerutil.OperationResult , error ) {
1507- deployment := & designatev1beta1.DesignateBackendbind9 {
1507+ func (r * DesignateReconciler ) backendbind9StatefulSetCreateOrUpdate (ctx context.Context , instance * designatev1beta1.Designate ) (* designatev1beta1.DesignateBackendbind9 , controllerutil.OperationResult , error ) {
1508+ statefulSet := & designatev1beta1.DesignateBackendbind9 {
15081509 ObjectMeta : metav1.ObjectMeta {
15091510 Name : fmt .Sprintf ("%s-backendbind9" , instance .Name ),
15101511 Namespace : instance .Namespace ,
15111512 },
15121513 }
15131514
1514- op , err := controllerutil .CreateOrUpdate (ctx , r .Client , deployment , func () error {
1515- deployment .Spec = instance .Spec .DesignateBackendbind9
1515+ op , err := controllerutil .CreateOrUpdate (ctx , r .Client , statefulSet , func () error {
1516+ statefulSet .Spec = instance .Spec .DesignateBackendbind9
15161517 // Add in transfers from umbrella Designate CR (this instance) spec
15171518 // TODO: Add logic to determine when to set/overwrite, etc
1518- deployment .Spec .ServiceUser = instance .Spec .ServiceUser
1519- deployment .Spec .DatabaseHostname = instance .Status .DatabaseHostname
1520- deployment .Spec .DatabaseAccount = instance .Spec .DatabaseAccount
1521- deployment .Spec .Secret = instance .Spec .Secret
1522- deployment .Spec .TransportURLSecret = instance .Status .TransportURLSecret
1523- deployment .Spec .ServiceAccount = instance .RbacResourceName ()
1524- if len (deployment .Spec .NodeSelector ) == 0 {
1525- deployment .Spec .NodeSelector = instance .Spec .NodeSelector
1519+ statefulSet .Spec .ServiceUser = instance .Spec .ServiceUser
1520+ statefulSet .Spec .Secret = instance .Spec .Secret
1521+ statefulSet .Spec .PasswordSelectors = instance .Spec .PasswordSelectors
1522+ statefulSet .Spec .ServiceAccount = instance .RbacResourceName ()
1523+ if len (statefulSet .Spec .NodeSelector ) == 0 {
1524+ statefulSet .Spec .NodeSelector = instance .Spec .NodeSelector
15261525 }
15271526
1528- err := controllerutil .SetControllerReference (instance , deployment , r .Scheme )
1527+ err := controllerutil .SetControllerReference (instance , statefulSet , r .Scheme )
15291528 if err != nil {
15301529 return err
15311530 }
15321531
15331532 return nil
15341533 })
15351534
1536- return deployment , op , err
1535+ return statefulSet , op , err
15371536}
15381537
15391538func (r * DesignateReconciler ) unboundDeploymentCreateOrUpdate (
0 commit comments