Adding clusterRole for App manager. 48/12148/2
authornaman.gupta <naman.gupta@samsung.com>
Fri, 1 Dec 2023 14:15:42 +0000 (19:45 +0530)
committerThoralf Czichy <thoralf.czichy@nokia.com>
Thu, 7 Dec 2023 09:28:30 +0000 (09:28 +0000)
Adding clusterRole for App manager.

Change-Id: Idb7f7f792a8540dfd4ce745a59eec3ef915b22f2
Signed-off-by: naman.gupta <naman.gupta@samsung.com>
depRicKubernetesOperator/internal/controller/getClusterRole.go [new file with mode: 0644]
depRicKubernetesOperator/internal/controller/getClusterRoleBinding.go [new file with mode: 0644]

diff --git a/depRicKubernetesOperator/internal/controller/getClusterRole.go b/depRicKubernetesOperator/internal/controller/getClusterRole.go
new file mode 100644 (file)
index 0000000..31e1bb4
--- /dev/null
@@ -0,0 +1,107 @@
+package controller\r
+\r
+import (\r
+       corev1 "k8s.io/api/core/v1"\r
+       metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"\r
+)      \r
+\r
+func GetClusterRole() []*rbacv1.ClusterRole {\r
+\r
+       clusterRole1 := &rbacv1.ClusterRole{\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Name: "svcacct-ricplt-appmgr-ricxapp-access",\r
+               },\r
+               Rules: []rbacv1.PolicyRule{\r
+\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "pods/portforward",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "create",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "pods",\r
+                                       "configmaps",\r
+                                       "deployments",\r
+                                       "services",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "get",\r
+                                       "list",\r
+                                       "create",\r
+                                       "delete",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "secrets",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "get",\r
+                                       "list",\r
+                               },\r
+                       },\r
+               },\r
+               TypeMeta: metav1.TypeMeta{\r
+                       Kind:       "ClusterRole",\r
+                       APIVersion: "rbac.authorization.k8s.io/v1",\r
+               },\r
+       }\r
+\r
+       clusterRole2 := &rbacv1.ClusterRole{\r
+               Rules: []rbacv1.PolicyRule{\r
+\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "configmaps",\r
+                                       "endpoints",\r
+                                       "services",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "get",\r
+                                       "list",\r
+                                       "create",\r
+                                       "update",\r
+                                       "delete",\r
+                               },\r
+                       },\r
+               },\r
+               TypeMeta: metav1.TypeMeta{\r
+                       APIVersion: "rbac.authorization.k8s.io/v1",\r
+                       Kind:       "ClusterRole",\r
+               },\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Name: "svcacct-ricplt-appmgr-ricxapp-getappconfig",\r
+               },\r
+       }\r
+\r
+       return []*rbacv1.ClusterRole{clusterRole1, clusterRole2}\r
+\r
+}
\ No newline at end of file
diff --git a/depRicKubernetesOperator/internal/controller/getClusterRoleBinding.go b/depRicKubernetesOperator/internal/controller/getClusterRoleBinding.go
new file mode 100644 (file)
index 0000000..5412f74
--- /dev/null
@@ -0,0 +1,58 @@
+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 GetClusterRoleBinding() []*rbacv1.ClusterRoleBinding {\r
+       clusterRoleBinding1 := &rbacv1.ClusterRoleBinding{\r
+               TypeMeta: metav1.TypeMeta{\r
+                       APIVersion: "rbac.authorization.k8s.io/v1",\r
+                       Kind:       "ClusterRoleBinding",\r
+               },\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Name:      "svcacct-ricplt-appmgr-ricxapp-access",\r
+                       Namespace: "ricplt",\r
+               },\r
+               RoleRef: rbacv1.RoleRef{\r
+                       Kind:     "ClusterRole",\r
+                       Name:     "svcacct-ricplt-appmgr-ricxapp-access",\r
+                       APIGroup: "rbac.authorization.k8s.io",\r
+               },\r
+               Subjects: []rbacv1.Subject{\r
+\r
+                       rbacv1.Subject{\r
+                               Namespace: "ricplt",\r
+                               Kind:      "ServiceAccount",\r
+                               Name:      "svcacct-ricplt-appmgr",\r
+                       },\r
+               },\r
+       }\r
+\r
+       clusterRoleBinding2 := &rbacv1.ClusterRoleBinding{\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Name:      "svcacct-ricplt-appmgr-ricxapp-getappconfig",\r
+                       Namespace: "ricxapp",\r
+               },\r
+               RoleRef: rbacv1.RoleRef{\r
+                       APIGroup: "rbac.authorization.k8s.io",\r
+                       Kind:     "ClusterRole",\r
+                       Name:     "svcacct-ricplt-appmgr-ricxapp-getappconfig",\r
+               },\r
+               Subjects: []rbacv1.Subject{\r
+\r
+                       rbacv1.Subject{\r
+                               Namespace: "ricplt",\r
+                               Kind:      "ServiceAccount",\r
+                               Name:      "svcacct-ricplt-appmgr",\r
+                       },\r
+               },\r
+               TypeMeta: metav1.TypeMeta{\r
+                       APIVersion: "rbac.authorization.k8s.io/v1",\r
+                       Kind:       "ClusterRoleBinding",\r
+               },\r
+       }\r
+       return []*rbacv1.ClusterRoleBinding{clusterRoleBinding1, clusterRoleBinding2}\r
+}\r