Adding the controller code. 00/12000/1
authornaman.gupta <naman.gupta@samsung.com>
Thu, 2 Nov 2023 14:08:22 +0000 (19:38 +0530)
committernaman.gupta <naman.gupta@samsung.com>
Thu, 2 Nov 2023 14:08:22 +0000 (19:38 +0530)
Adding the controller code with recouncil function.

Change-Id: I6df92a9a1635f3c760560058d4a2a898621ab1ee
Signed-off-by: naman.gupta <naman.gupta@samsung.com>
xappKubernetesOperator/internal/controller/xappdep_controller.go

index ec9a60c..ec108a3 100644 (file)
@@ -15,3 +15,47 @@ limitations under the License.
 */
 
 package controller
+
+import (
+       "context"
+
+       "k8s.io/apimachinery/pkg/runtime"
+       ctrl "sigs.k8s.io/controller-runtime"
+       "sigs.k8s.io/controller-runtime/pkg/client"
+
+       depxappv1 "depxapp/api/v1"
+)
+
+// XappDepReconciler reconciles a XappDep object
+type XappDepReconciler struct {
+       client.Client
+       Scheme *runtime.Scheme
+}
+
+//+kubebuilder:rbac:groups=depxapp.xapp.com,resources=xappdeps,verbs=get;list;watch;create;update;patch;delete
+//+kubebuilder:rbac:groups=depxapp.xapp.com,resources=xappdeps/status,verbs=get;update;patch
+//+kubebuilder:rbac:groups=depxapp.xapp.com,resources=xappdeps/finalizers,verbs=update
+
+// Reconcile is part of the main kubernetes reconciliation loop which aims to
+// move the current state of the cluster closer to the desired state.
+// TODO(user): Modify the Reconcile function to compare the state specified by
+// the XappDep object against the actual cluster state, and then
+// perform operations to make the cluster state reflect the state specified by
+// the user.
+//
+// For more details, check Reconcile and its Result here:
+// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.15.0/pkg/reconcile
+func (r *XappDepReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
+
+       // TODO(user): your logic here
+
+       return ctrl.Result{}, nil
+
+}
+
+// SetupWithManager sets up the controller with the Manager.
+func (r *XappDepReconciler) SetupWithManager(mgr ctrl.Manager) error {
+       return ctrl.NewControllerManagedBy(mgr).
+               For(&depxappv1.XappDep{}).
+               Complete(r)
+}