Adding Cluster Role for RIC
[ric-plt/ric-dep.git] / depRicKubernetesOperator / internal / controller / getClusterRole.go
index 31e1bb4..13a8200 100644 (file)
@@ -3,6 +3,7 @@ package controller
 import (\r
        corev1 "k8s.io/api/core/v1"\r
        metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"\r
+       rbacv1 "k8s.io/api/rbac/v1"\r
 )      \r
 \r
 func GetClusterRole() []*rbacv1.ClusterRole {\r
@@ -102,6 +103,273 @@ func GetClusterRole() []*rbacv1.ClusterRole {
                },\r
        }\r
 \r
-       return []*rbacv1.ClusterRole{clusterRole1, clusterRole2}\r
+       clusterRole3 := &rbacv1.ClusterRole{\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Labels: map[string]string{\r
+                               "app.kubernetes.io/version":    "1.4",\r
+                               "helm.sh/chart":                "kong-0.36.6",\r
+                               "app.kubernetes.io/instance":   "release-name",\r
+                               "app.kubernetes.io/managed-by": "Helm",\r
+                               "app.kubernetes.io/name":       "kong",\r
+                       },\r
+                       Name: "release-name-kong",\r
+               },\r
+               Rules: []rbacv1.PolicyRule{\r
+\r
+                       rbacv1.PolicyRule{\r
+                               Resources: []string{\r
+\r
+                                       "endpoints",\r
+                                       "nodes",\r
+                                       "pods",\r
+                                       "secrets",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "list",\r
+                                       "watch",\r
+                               },\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "nodes",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "get",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "services",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "get",\r
+                                       "list",\r
+                                       "watch",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "extensions",\r
+                                       "networking.k8s.io",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "ingresses",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "get",\r
+                                       "list",\r
+                                       "watch",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "events",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "create",\r
+                                       "patch",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "extensions",\r
+                                       "networking.k8s.io",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "ingresses/status",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "update",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               Verbs: []string{\r
+\r
+                                       "get",\r
+                                       "list",\r
+                                       "watch",\r
+                               },\r
+                               APIGroups: []string{\r
+\r
+                                       "configuration.konghq.com",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "kongplugins",\r
+                                       "kongcredentials",\r
+                                       "kongconsumers",\r
+                                       "kongingresses",\r
+                               },\r
+                       },\r
+               },\r
+               TypeMeta: metav1.TypeMeta{\r
+                       APIVersion: "rbac.authorization.k8s.io/v1",\r
+                       Kind:       "ClusterRole",\r
+               },\r
+       }\r
+\r
+       clusterRole4 := &rbacv1.ClusterRole{\r
+               ObjectMeta: metav1.ObjectMeta{\r
+                       Labels: map[string]string{\r
+                               "app.kubernetes.io/managed-by": "Helm",\r
+                               "app.kubernetes.io/name":       "kong",\r
+                               "app.kubernetes.io/version":    "1.4",\r
+                               "helm.sh/chart":                "kong-0.36.6",\r
+                               "app.kubernetes.io/instance":   "release-name",\r
+                       },\r
+                       Name: "release-name-kong",\r
+               },\r
+               Rules: []rbacv1.PolicyRule{\r
+\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "endpoints",\r
+                                       "nodes",\r
+                                       "pods",\r
+                                       "secrets",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "list",\r
+                                       "watch",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               Resources: []string{\r
+\r
+                                       "nodes",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "get",\r
+                               },\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               Verbs: []string{\r
+\r
+                                       "get",\r
+                                       "list",\r
+                                       "watch",\r
+                               },\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "services",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "extensions",\r
+                                       "networking.k8s.io",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "ingresses",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "get",\r
+                                       "list",\r
+                                       "watch",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               Resources: []string{\r
+\r
+                                       "events",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "create",\r
+                                       "patch",\r
+                               },\r
+                               APIGroups: []string{\r
+\r
+                                       "",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "extensions",\r
+                                       "networking.k8s.io",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "ingresses/status",\r
+                               },\r
+                               Verbs: []string{\r
+\r
+                                       "update",\r
+                               },\r
+                       },\r
+                       rbacv1.PolicyRule{\r
+                               APIGroups: []string{\r
+\r
+                                       "configuration.konghq.com",\r
+                               },\r
+                               Resources: []string{\r
+\r
+                                       "kongplugins",\r
+                                       "kongcredentials",\r
+                                       "kongconsumers",\r
+                                       "kongingresses",\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:       "ClusterRole",\r
+               },\r
+       }\r
 \r
+       return []*rbacv1.ClusterRole{clusterRole1, clusterRole2, clusterRole3, clusterRole4}\r
 }
\ No newline at end of file