Adding Role and Role Binding for Alarm Manager. 36/12136/5
authornaman.gupta <naman.gupta@samsung.com>
Wed, 29 Nov 2023 08:05:14 +0000 (13:35 +0530)
committerThoralf Czichy <thoralf.czichy@nokia.com>
Thu, 7 Dec 2023 09:25:43 +0000 (09:25 +0000)
Adding Role and Role Binding and Service Account for Alarm Manager.

Change-Id: I1938bed89cd6427284f75a255f9bb201fa22d52c
Signed-off-by: naman.gupta <naman.gupta@samsung.com>
depRicKubernetesOperator/internal/controller/getRole.go [new file with mode: 0644]
depRicKubernetesOperator/internal/controller/getRoleBinding.go [new file with mode: 0644]
depRicKubernetesOperator/internal/controller/getServiceAccount.go [new file with mode: 0644]

diff --git a/depRicKubernetesOperator/internal/controller/getRole.go b/depRicKubernetesOperator/internal/controller/getRole.go
new file mode 100644 (file)
index 0000000..e43a0ba
--- /dev/null
@@ -0,0 +1,39 @@
+package controller\r
+\r
+import (\r
+       metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"\r
+)\r
+\r
+func GetRole() []*rbacv1.Role {\r
+\r
+       role1 := &rbacv1.Role{\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Name:      "svcacct-ricplt-alarmmanager-ricxapp-podreader",\r
+                       Namespace: "ricxapp",\r
+               },\r
+               Rules: []rbacv1.PolicyRule{\r
+\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "pods",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "get",\r
+                                       "list",\r
+                                       "watch",\r
+                               },\r
+                       },\r
+               },\r
+               TypeMeta: metav1.TypeMeta{\r
+                       APIVersion: "rbac.authorization.k8s.io/v1",\r
+                       Kind:       "Role",\r
+               },\r
+       }\r
+       return []*rbacv1.Role{role1}\r
+}\r
diff --git a/depRicKubernetesOperator/internal/controller/getRoleBinding.go b/depRicKubernetesOperator/internal/controller/getRoleBinding.go
new file mode 100644 (file)
index 0000000..ca6a093
--- /dev/null
@@ -0,0 +1,34 @@
+package controller\r
+\r
+import (\r
+       metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"\r
+)\r
+\r
+func GetRoleBinding() []*rbacv1.RoleBinding {\r
+\r
+       roleBinding1 := &rbacv1.RoleBinding{\r
+               Subjects: []rbacv1.Subject{\r
+\r
+                       rbacv1.Subject{\r
+                               Kind:      "ServiceAccount",\r
+                               Name:      "svcacct-ricplt-alarmmanager",\r
+                               Namespace: "ricplt",\r
+                       },\r
+               },\r
+               TypeMeta: metav1.TypeMeta{\r
+                       APIVersion: "rbac.authorization.k8s.io/v1",\r
+                       Kind:       "RoleBinding",\r
+               },\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Name:      "svcacct-ricplt-alarmmanager-ricxapp-podreader",\r
+                       Namespace: "ricxapp",\r
+               },\r
+               RoleRef: rbacv1.RoleRef{\r
+                       APIGroup: "rbac.authorization.k8s.io",\r
+                       Kind:     "Role",\r
+                       Name:     "svcacct-ricplt-alarmmanager-ricxapp-podreader",\r
+               },\r
+       }\r
+\r
+       return []*rbacv1.RoleBinding{roleBinding1}\r
+}\r
diff --git a/depRicKubernetesOperator/internal/controller/getServiceAccount.go b/depRicKubernetesOperator/internal/controller/getServiceAccount.go
new file mode 100644 (file)
index 0000000..366405b
--- /dev/null
@@ -0,0 +1,22 @@
+package controller\r
+\r
+import (\r
+       corev1 "k8s.io/api/core/v1"\r
+       metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"\r
+       "k8s.io/apimachinery/pkg/util/intstr"\r
+)\r
+\r
+func GetServiceAccount() []*corev1.ServiceAccount {\r
+\r
+       serviceAccount1 := &corev1.ServiceAccount{\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Name:      "svcacct-ricplt-alarmmanager",\r
+                       Namespace: "ricplt",\r
+               },\r
+               TypeMeta: metav1.TypeMeta{\r
+                       APIVersion: "v1",\r
+                       Kind:       "ServiceAccount",\r
+               },\r
+       }\r
+       return []*corev1.ServiceAccount{serviceAccount1}\r
+}
\ No newline at end of file