Added seed code for caas-security.
[ta/caas-security.git] / rbac_manifests / caas-infra-psp.yaml
diff --git a/rbac_manifests/caas-infra-psp.yaml b/rbac_manifests/caas-infra-psp.yaml
new file mode 100644 (file)
index 0000000..8392e87
--- /dev/null
@@ -0,0 +1,77 @@
+---
+# Copyright 2019 Nokia
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: PodSecurityPolicy
+metadata:
+  name: caas-infra
+spec:
+  privileged: true
+  readOnlyRootFilesystem: false
+  hostNetwork: true
+  hostPorts:
+  - min: 0
+    max: 65535
+  volumes:
+    - 'emptyDir'
+    - 'hostPath'
+    - 'persistentVolumeClaim'
+    - 'configMap'
+    - 'secret'
+    - 'rbd'
+  seLinux:
+    rule: RunAsAny
+  supplementalGroups:
+    rule: RunAsAny
+  runAsUser:
+    rule: RunAsAny
+  fsGroup:
+    rule: RunAsAny
+  allowedCapabilities:
+    - NET_BIND_SERVICE
+    - ALL
+    - IPC_LOCK
+    - SYS_RESOURCE
+    - SYS_PTRACE
+    - SYS_ADMIN
+    - NET_ADMIN
+    - NET_RAW
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+  name: caas:infra-psp
+rules:
+- apiGroups:     ['extensions']
+  resources:     ['podsecuritypolicies']
+  verbs:         ['use']
+  resourceNames: ['caas-infra']
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+  name: caas:infra-psp
+roleRef:
+  kind: ClusterRole
+  name: caas:infra-psp
+  apiGroup: rbac.authorization.k8s.io
+subjects:
+# Authorize system:nodes group to be able to create mirror pods
+- kind: Group
+  apiGroup: rbac.authorization.k8s.io
+  name: system:nodes
+- kind: ServiceAccount
+  name: default
+  namespace: kube-system