From af6f833cef58f64f3dae994be3ac1343e18b536b Mon Sep 17 00:00:00 2001 From: Alex de Cock Buning <100383348@alumnos.uc3m.es> Date: Thu, 23 May 2024 11:40:36 +0200 Subject: [PATCH] operator: bug fix Fixed replicasets rbac, which in some versions of k8s have to be better specified --- .../mysql/mysql-development.yaml | 5 +--- .../config/manager/manager.yaml | 3 ++ src/kubernetes-api/config/rbac/role.yaml | 24 +++++++++++++++ src/kubernetes-api/dist/install.yaml | 29 ++++++++++++++++++- .../networkedgedevice_controller.go | 8 +++-- 5 files changed, 61 insertions(+), 8 deletions(-) diff --git a/deployments/custom-installation/mysql/mysql-development.yaml b/deployments/custom-installation/mysql/mysql-development.yaml index 461bf30..030042d 100644 --- a/deployments/custom-installation/mysql/mysql-development.yaml +++ b/deployments/custom-installation/mysql/mysql-development.yaml @@ -29,22 +29,19 @@ spec: items: - key: init.sql path: init.sql - nodeName: l2sm1 --- apiVersion: v1 kind: Service metadata: name: mysql-development-service spec: - type: NodePort + type: ClusterIP ports: - port: 3306 targetPort: 3306 - nodePort: 30001 protocol: TCP selector: app: mysql - --- apiVersion: v1 kind: Secret diff --git a/src/kubernetes-api/config/manager/manager.yaml b/src/kubernetes-api/config/manager/manager.yaml index dd28fe9..b7d1c83 100644 --- a/src/kubernetes-api/config/manager/manager.yaml +++ b/src/kubernetes-api/config/manager/manager.yaml @@ -70,6 +70,9 @@ spec: - /manager args: - --leader-elect + env: + - name: CONTROLLER_IP + value: l2sm-controller-service.default.svc.cluster.local image: controller:latest name: manager securityContext: diff --git a/src/kubernetes-api/config/rbac/role.yaml b/src/kubernetes-api/config/rbac/role.yaml index f00ee66..cf91a55 100644 --- a/src/kubernetes-api/config/rbac/role.yaml +++ b/src/kubernetes-api/config/rbac/role.yaml @@ -4,6 +4,18 @@ kind: ClusterRole metadata: name: manager-role rules: +- apiGroups: + - apps + resources: + - replicasets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch - apiGroups: - l2sm.l2sm.k8s.local resources: @@ -82,3 +94,15 @@ rules: - get - patch - update +- apiGroups: + - l2sm.l2sm.k8s.local + resources: + - replicasets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch diff --git a/src/kubernetes-api/dist/install.yaml b/src/kubernetes-api/dist/install.yaml index 10463fb..9f14688 100644 --- a/src/kubernetes-api/dist/install.yaml +++ b/src/kubernetes-api/dist/install.yaml @@ -18638,6 +18638,18 @@ kind: ClusterRole metadata: name: l2sm-manager-role rules: +- apiGroups: + - apps + resources: + - replicasets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch - apiGroups: - l2sm.l2sm.k8s.local resources: @@ -18716,6 +18728,18 @@ rules: - get - patch - update +- apiGroups: + - l2sm.l2sm.k8s.local + resources: + - replicasets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -18897,7 +18921,10 @@ spec: - --leader-elect command: - /manager - image: alexdecb/l2sm-operator:2.4 + env: + - name: CONTROLLER_IP + value: l2sm-controller-service.default.svc.cluster.local + image: alexdecb/l2sm-controller-manager:2.4 livenessProbe: httpGet: path: /healthz diff --git a/src/kubernetes-api/internal/controller/networkedgedevice_controller.go b/src/kubernetes-api/internal/controller/networkedgedevice_controller.go index b5bb29e..a04cc6d 100644 --- a/src/kubernetes-api/internal/controller/networkedgedevice_controller.go +++ b/src/kubernetes-api/internal/controller/networkedgedevice_controller.go @@ -45,9 +45,11 @@ var ( apiGVStr = l2smv1.GroupVersion.String() ) -//+kubebuilder:rbac:groups=l2sm.l2sm.k8s.local,resources=networkedgedevices,verbs=get;list;watch;create;update;patch;delete -//+kubebuilder:rbac:groups=l2sm.l2sm.k8s.local,resources=networkedgedevices/status,verbs=get;update;patch -//+kubebuilder:rbac:groups=l2sm.l2sm.k8s.local,resources=networkedgedevices/finalizers,verbs=update +// +kubebuilder:rbac:groups=l2sm.l2sm.k8s.local,resources=networkedgedevices,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=l2sm.l2sm.k8s.local,resources=networkedgedevices/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=l2sm.l2sm.k8s.local,resources=networkedgedevices/finalizers,verbs=update +// +kubebuilder:rbac:groups=l2sm.l2sm.k8s.local,resources=replicasets,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=apps,resources=replicasets,verbs=get;list;watch;create;update;patch;delete // Reconcile is part of the main kubernetes reconciliation loop which aims to // move the current state of the cluster closer to the desired state. -- GitLab