Browse Source
psp, roles and rbs for PodSecurityPolicy when podsecuritypolicy_enabled is true
pull/3102/head
psp, roles and rbs for PodSecurityPolicy when podsecuritypolicy_enabled is true
pull/3102/head
48 changed files with 851 additions and 44 deletions
Split View
Diff Options
-
3inventory/sample/group_vars/k8s-cluster.yml
-
6roles/kubernetes-apps/ansible/defaults/main.yml
-
30roles/kubernetes-apps/ansible/tasks/netchecker.yml
-
6roles/kubernetes-apps/ansible/templates/netchecker-agent-ds.yml.j2
-
14roles/kubernetes-apps/ansible/templates/netchecker-agent-hostnet-clusterrole.yml.j2
-
13roles/kubernetes-apps/ansible/templates/netchecker-agent-hostnet-clusterrolebinding.yml.j2
-
6roles/kubernetes-apps/ansible/templates/netchecker-agent-hostnet-ds.yml.j2
-
45roles/kubernetes-apps/ansible/templates/netchecker-agent-hostnet-psp.yml.j2
-
7roles/kubernetes-apps/ansible/templates/netchecker-agent-sa.yml.j2
-
3roles/kubernetes-apps/ansible/templates/netchecker-server-deployment.yml.j2
-
40roles/kubernetes-apps/cluster_roles/tasks/main.yml
-
35roles/kubernetes-apps/cluster_roles/templates/psp-cr.yml.j2
-
55roles/kubernetes-apps/cluster_roles/templates/psp-crb.yml.j2
-
77roles/kubernetes-apps/cluster_roles/templates/psp.yml.j2
-
33roles/kubernetes-apps/external_provisioner/cephfs_provisioner/tasks/main.yml
-
8roles/kubernetes-apps/external_provisioner/cephfs_provisioner/templates/clusterrole-cephfs-provisioner.yml.j2
-
45roles/kubernetes-apps/external_provisioner/cephfs_provisioner/templates/psp-cephfs-provisioner.yml.j2
-
29roles/kubernetes-apps/external_provisioner/local_volume_provisioner/tasks/main.yml
-
14roles/kubernetes-apps/external_provisioner/local_volume_provisioner/templates/local-volume-provisioner-psp-cr.yml.j2
-
13roles/kubernetes-apps/external_provisioner/local_volume_provisioner/templates/local-volume-provisioner-psp-rb.yml.j2
-
44roles/kubernetes-apps/external_provisioner/local_volume_provisioner/templates/local-volume-provisioner-psp.yml.j2
-
1roles/kubernetes-apps/ingress_controller/cert_manager/defaults/main.yml
-
2roles/kubernetes-apps/ingress_controller/cert_manager/templates/deploy-cert-manager.yml.j2
-
37roles/kubernetes-apps/ingress_controller/ingress_nginx/tasks/main.yml
-
48roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/psp-ingress-nginx.yml.j2
-
8roles/kubernetes-apps/ingress_controller/ingress_nginx/templates/role-ingress-nginx.yml.j2
-
30roles/kubernetes-apps/registry/tasks/main.yml
-
15roles/kubernetes-apps/registry/templates/registry-cr.yml.j2
-
13roles/kubernetes-apps/registry/templates/registry-crb.yml.j2
-
15roles/kubernetes-apps/registry/templates/registry-proxy-cr.yml.j2
-
13roles/kubernetes-apps/registry/templates/registry-proxy-crb.yml.j2
-
3roles/kubernetes-apps/registry/templates/registry-proxy-ds.yml.j2
-
48roles/kubernetes-apps/registry/templates/registry-proxy-psp.yml.j2
-
7roles/kubernetes-apps/registry/templates/registry-proxy-sa.yml.j2
-
45roles/kubernetes-apps/registry/templates/registry-psp.yml.j2
-
3roles/kubernetes-apps/registry/templates/registry-rs.yml.j2
-
7roles/kubernetes-apps/registry/templates/registry-sa.yml.j2
-
2roles/kubernetes/master/defaults/main.yml
-
6roles/kubernetes/master/tasks/main.yml
-
2roles/kubespray-defaults/defaults/main.yaml
-
8roles/network_plugin/calico/templates/calico-cr.yml.j2
-
8roles/network_plugin/canal/templates/canal-cr-calico.yml.j2
-
8roles/network_plugin/canal/templates/canal-cr-flannel.yml.j2
-
8roles/network_plugin/cilium/templates/cilium-cr.yml.j2
-
8roles/network_plugin/contiv/templates/contiv-netmaster-clusterrole.yml.j2
-
8roles/network_plugin/contiv/templates/contiv-netplugin-clusterrole.yml.j2
-
8roles/network_plugin/flannel/templates/cni-flannel-rbac.yml.j2
-
8roles/network_plugin/weave/templates/weave-net.yml.j2
@ -0,0 +1,14 @@ |
|||
kind: ClusterRole |
|||
apiVersion: rbac.authorization.k8s.io/v1beta1 |
|||
metadata: |
|||
name: psp:netchecker-agent-hostnet |
|||
namespace: {{ netcheck_namespace }} |
|||
rules: |
|||
- apiGroups: |
|||
- policy |
|||
resourceNames: |
|||
- netchecker-agent-hostnet |
|||
resources: |
|||
- podsecuritypolicies |
|||
verbs: |
|||
- use |
@ -0,0 +1,13 @@ |
|||
kind: RoleBinding |
|||
apiVersion: rbac.authorization.k8s.io/v1beta1 |
|||
metadata: |
|||
name: psp:netchecker-agent-hostnet |
|||
namespace: {{ netcheck_namespace }} |
|||
subjects: |
|||
- kind: ServiceAccount |
|||
name: netchecker-agent-hostnet |
|||
namespace: {{ netcheck_namespace }} |
|||
roleRef: |
|||
kind: ClusterRole |
|||
name: psp:netchecker-agent-hostnet |
|||
apiGroup: rbac.authorization.k8s.io |
@ -0,0 +1,45 @@ |
|||
--- |
|||
apiVersion: policy/v1beta1 |
|||
kind: PodSecurityPolicy |
|||
metadata: |
|||
name: netchecker-agent-hostnet |
|||
annotations: |
|||
seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default' |
|||
seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default' |
|||
{% if apparmor_enabled %} |
|||
apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default' |
|||
apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default' |
|||
{% endif %} |
|||
labels: |
|||
kubernetes.io/cluster-service: 'true' |
|||
addonmanager.kubernetes.io/mode: Reconcile |
|||
spec: |
|||
privileged: false |
|||
allowPrivilegeEscalation: false |
|||
requiredDropCapabilities: |
|||
- ALL |
|||
volumes: |
|||
- 'configMap' |
|||
- 'emptyDir' |
|||
- 'projected' |
|||
- 'secret' |
|||
- 'downwardAPI' |
|||
- 'persistentVolumeClaim' |
|||
hostNetwork: true |
|||
hostIPC: false |
|||
hostPID: false |
|||
runAsUser: |
|||
rule: 'MustRunAsNonRoot' |
|||
seLinux: |
|||
rule: 'RunAsAny' |
|||
supplementalGroups: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
fsGroup: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
readOnlyRootFilesystem: false |
@ -0,0 +1,7 @@ |
|||
apiVersion: v1 |
|||
kind: ServiceAccount |
|||
metadata: |
|||
name: netchecker-agent |
|||
namespace: {{ netcheck_namespace }} |
|||
labels: |
|||
kubernetes.io/cluster-service: "true" |
@ -0,0 +1,35 @@ |
|||
--- |
|||
apiVersion: rbac.authorization.k8s.io/v1 |
|||
kind: ClusterRole |
|||
metadata: |
|||
name: psp:privileged |
|||
labels: |
|||
kubernetes.io/cluster-service: "true" |
|||
addonmanager.kubernetes.io/mode: Reconcile |
|||
rules: |
|||
- apiGroups: |
|||
- policy |
|||
resourceNames: |
|||
- privileged |
|||
resources: |
|||
- podsecuritypolicies |
|||
verbs: |
|||
- use |
|||
--- |
|||
apiVersion: rbac.authorization.k8s.io/v1 |
|||
kind: ClusterRole |
|||
metadata: |
|||
name: psp:restricted |
|||
namespace: kube-system |
|||
labels: |
|||
kubernetes.io/cluster-service: "true" |
|||
addonmanager.kubernetes.io/mode: Reconcile |
|||
rules: |
|||
- apiGroups: |
|||
- policy |
|||
resourceNames: |
|||
- restricted |
|||
resources: |
|||
- podsecuritypolicies |
|||
verbs: |
|||
- use |
@ -0,0 +1,55 @@ |
|||
--- |
|||
apiVersion: rbac.authorization.k8s.io/v1 |
|||
kind: ClusterRoleBinding |
|||
metadata: |
|||
name: psp:any:restricted |
|||
roleRef: |
|||
apiGroup: rbac.authorization.k8s.io |
|||
kind: ClusterRole |
|||
name: psp:restricted |
|||
subjects: |
|||
- kind: Group |
|||
name: system:authenticated |
|||
apiGroup: rbac.authorization.k8s.io |
|||
--- |
|||
apiVersion: rbac.authorization.k8s.io/v1 |
|||
kind: RoleBinding |
|||
metadata: |
|||
name: psp:kube-system:privileged |
|||
namespace: kube-system |
|||
roleRef: |
|||
apiGroup: rbac.authorization.k8s.io |
|||
kind: ClusterRole |
|||
name: psp:privileged |
|||
subjects: |
|||
- kind: Group |
|||
name: system:masters |
|||
apiGroup: rbac.authorization.k8s.io |
|||
- kind: Group |
|||
name: system:serviceaccounts:kube-system |
|||
apiGroup: rbac.authorization.k8s.io |
|||
--- |
|||
apiVersion: rbac.authorization.k8s.io/v1 |
|||
kind: RoleBinding |
|||
metadata: |
|||
name: psp:nodes:privileged |
|||
namespace: kube-system |
|||
annotations: |
|||
kubernetes.io/description: 'Allow nodes to create privileged pods. Should |
|||
be used in combination with the NodeRestriction admission plugin to limit |
|||
nodes to mirror pods bound to themselves.' |
|||
labels: |
|||
addonmanager.kubernetes.io/mode: Reconcile |
|||
kubernetes.io/cluster-service: 'true' |
|||
roleRef: |
|||
apiGroup: rbac.authorization.k8s.io |
|||
kind: ClusterRole |
|||
name: psp:privileged |
|||
subjects: |
|||
- kind: Group |
|||
apiGroup: rbac.authorization.k8s.io |
|||
name: system:nodes |
|||
- kind: User |
|||
apiGroup: rbac.authorization.k8s.io |
|||
# Legacy node ID |
|||
name: kubelet |
@ -0,0 +1,77 @@ |
|||
--- |
|||
apiVersion: policy/v1beta1 |
|||
kind: PodSecurityPolicy |
|||
metadata: |
|||
name: restricted |
|||
annotations: |
|||
seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default' |
|||
seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default' |
|||
{% if apparmor_enabled %} |
|||
apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default' |
|||
apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default' |
|||
{% endif %} |
|||
labels: |
|||
kubernetes.io/cluster-service: 'true' |
|||
addonmanager.kubernetes.io/mode: Reconcile |
|||
spec: |
|||
privileged: false |
|||
allowPrivilegeEscalation: false |
|||
requiredDropCapabilities: |
|||
- ALL |
|||
volumes: |
|||
- 'configMap' |
|||
- 'emptyDir' |
|||
- 'projected' |
|||
- 'secret' |
|||
- 'downwardAPI' |
|||
- 'persistentVolumeClaim' |
|||
hostNetwork: false |
|||
hostIPC: false |
|||
hostPID: false |
|||
runAsUser: |
|||
rule: 'MustRunAsNonRoot' |
|||
seLinux: |
|||
rule: 'RunAsAny' |
|||
supplementalGroups: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
fsGroup: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
readOnlyRootFilesystem: false |
|||
--- |
|||
apiVersion: policy/v1beta1 |
|||
kind: PodSecurityPolicy |
|||
metadata: |
|||
name: privileged |
|||
annotations: |
|||
seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*' |
|||
labels: |
|||
kubernetes.io/cluster-service: "true" |
|||
addonmanager.kubernetes.io/mode: Reconcile |
|||
spec: |
|||
privileged: true |
|||
allowPrivilegeEscalation: true |
|||
allowedCapabilities: |
|||
- '*' |
|||
volumes: |
|||
- '*' |
|||
hostNetwork: true |
|||
hostPorts: |
|||
- min: 0 |
|||
max: 65535 |
|||
hostIPC: true |
|||
hostPID: true |
|||
runAsUser: |
|||
rule: 'RunAsAny' |
|||
seLinux: |
|||
rule: 'RunAsAny' |
|||
supplementalGroups: |
|||
rule: 'RunAsAny' |
|||
fsGroup: |
|||
rule: 'RunAsAny' |
|||
readOnlyRootFilesystem: false |
@ -0,0 +1,45 @@ |
|||
--- |
|||
apiVersion: policy/v1beta1 |
|||
kind: PodSecurityPolicy |
|||
metadata: |
|||
name: cephfs-provisioner |
|||
annotations: |
|||
seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default' |
|||
seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default' |
|||
{% if apparmor_enabled %} |
|||
apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default' |
|||
apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default' |
|||
{% endif %} |
|||
labels: |
|||
kubernetes.io/cluster-service: 'true' |
|||
addonmanager.kubernetes.io/mode: Reconcile |
|||
spec: |
|||
privileged: false |
|||
allowPrivilegeEscalation: false |
|||
requiredDropCapabilities: |
|||
- ALL |
|||
volumes: |
|||
- 'configMap' |
|||
- 'emptyDir' |
|||
- 'projected' |
|||
- 'secret' |
|||
- 'downwardAPI' |
|||
- 'persistentVolumeClaim' |
|||
hostNetwork: false |
|||
hostIPC: false |
|||
hostPID: false |
|||
runAsUser: |
|||
rule: 'RunAsAny' |
|||
seLinux: |
|||
rule: 'RunAsAny' |
|||
supplementalGroups: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
fsGroup: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
readOnlyRootFilesystem: false |
@ -0,0 +1,14 @@ |
|||
kind: ClusterRole |
|||
apiVersion: rbac.authorization.k8s.io/v1beta1 |
|||
metadata: |
|||
name: psp:local-volume-provisioner |
|||
namespace: {{ local_volume_provisioner_namespace }} |
|||
rules: |
|||
- apiGroups: |
|||
- policy |
|||
resourceNames: |
|||
- local-volume-provisioner |
|||
resources: |
|||
- podsecuritypolicies |
|||
verbs: |
|||
- use |
@ -0,0 +1,13 @@ |
|||
kind: RoleBinding |
|||
apiVersion: rbac.authorization.k8s.io/v1beta1 |
|||
metadata: |
|||
name: psp:local-volume-provisioner |
|||
namespace: {{ local_volume_provisioner_namespace }} |
|||
subjects: |
|||
- kind: ServiceAccount |
|||
name: local-volume-provisioner |
|||
namespace: {{ local_volume_provisioner_namespace }} |
|||
roleRef: |
|||
kind: ClusterRole |
|||
name: psp:local-volume-provisioner |
|||
apiGroup: rbac.authorization.k8s.io |
@ -0,0 +1,44 @@ |
|||
--- |
|||
apiVersion: policy/v1beta1 |
|||
kind: PodSecurityPolicy |
|||
metadata: |
|||
name: local-volume-provisioner |
|||
annotations: |
|||
seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default' |
|||
seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default' |
|||
{% if apparmor_enabled %} |
|||
apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default' |
|||
apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default' |
|||
{% endif %} |
|||
labels: |
|||
kubernetes.io/cluster-service: 'true' |
|||
addonmanager.kubernetes.io/mode: Reconcile |
|||
spec: |
|||
privileged: true |
|||
allowPrivilegeEscalation: true |
|||
requiredDropCapabilities: |
|||
- ALL |
|||
volumes: |
|||
- 'configMap' |
|||
- 'emptyDir' |
|||
- 'secret' |
|||
- 'downwardAPI' |
|||
- 'hostPath' |
|||
allowedHostPaths: |
|||
- pathPrefix: "{{ local_volume_provisioner_base_dir }}" |
|||
readOnly: false |
|||
hostNetwork: false |
|||
hostIPC: false |
|||
hostPID: false |
|||
runAsUser: |
|||
rule: 'RunAsAny' |
|||
seLinux: |
|||
rule: 'RunAsAny' |
|||
supplementalGroups: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
fsGroup: |
|||
rule: 'RunAsAny' |
|||
readOnlyRootFilesystem: false |
@ -1,2 +1,3 @@ |
|||
--- |
|||
cert_manager_namespace: "cert-manager" |
|||
cert_manager_user: 1001 |
@ -0,0 +1,48 @@ |
|||
--- |
|||
apiVersion: policy/v1beta1 |
|||
kind: PodSecurityPolicy |
|||
metadata: |
|||
name: ingress-nginx |
|||
annotations: |
|||
seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default' |
|||
seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default' |
|||
{% if apparmor_enabled %} |
|||
apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default' |
|||
apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default' |
|||
{% endif %} |
|||
labels: |
|||
kubernetes.io/cluster-service: 'true' |
|||
addonmanager.kubernetes.io/mode: Reconcile |
|||
spec: |
|||
privileged: false |
|||
allowPrivilegeEscalation: true |
|||
allowedCapabilities: |
|||
- NET_BIND_SERVICE |
|||
volumes: |
|||
- 'configMap' |
|||
- 'emptyDir' |
|||
- 'projected' |
|||
- 'secret' |
|||
- 'downwardAPI' |
|||
- 'persistentVolumeClaim' |
|||
hostNetwork: {{ ingress_nginx_host_network|bool }} |
|||
hostPorts: |
|||
- min: 0 |
|||
max: 65535 |
|||
hostIPC: false |
|||
hostPID: false |
|||
runAsUser: |
|||
rule: 'MustRunAsNonRoot' |
|||
seLinux: |
|||
rule: 'RunAsAny' |
|||
supplementalGroups: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
fsGroup: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
readOnlyRootFilesystem: false |
@ -0,0 +1,15 @@ |
|||
--- |
|||
apiVersion: rbac.authorization.k8s.io/v1beta1 |
|||
kind: ClusterRole |
|||
metadata: |
|||
name: psp:registry |
|||
namespace: {{ registry_namespace }} |
|||
rules: |
|||
- apiGroups: |
|||
- policy |
|||
resourceNames: |
|||
- registry |
|||
resources: |
|||
- podsecuritypolicies |
|||
verbs: |
|||
- use |
@ -0,0 +1,13 @@ |
|||
kind: RoleBinding |
|||
apiVersion: rbac.authorization.k8s.io/v1beta1 |
|||
metadata: |
|||
name: psp:registry |
|||
namespace: {{ registry_namespace }} |
|||
subjects: |
|||
- kind: ServiceAccount |
|||
name: registry |
|||
namespace: {{ registry_namespace }} |
|||
roleRef: |
|||
kind: ClusterRole |
|||
name: psp:registry |
|||
apiGroup: rbac.authorization.k8s.io |
@ -0,0 +1,15 @@ |
|||
--- |
|||
apiVersion: rbac.authorization.k8s.io/v1beta1 |
|||
kind: ClusterRole |
|||
metadata: |
|||
name: psp:registry-proxy |
|||
namespace: {{ registry_namespace }} |
|||
rules: |
|||
- apiGroups: |
|||
- policy |
|||
resourceNames: |
|||
- registry-proxy |
|||
resources: |
|||
- podsecuritypolicies |
|||
verbs: |
|||
- use |
@ -0,0 +1,13 @@ |
|||
kind: RoleBinding |
|||
apiVersion: rbac.authorization.k8s.io/v1beta1 |
|||
metadata: |
|||
name: psp:registry-proxy |
|||
namespace: {{ registry_namespace }} |
|||
subjects: |
|||
- kind: ServiceAccount |
|||
name: registry-proxy |
|||
namespace: {{ registry_namespace }} |
|||
roleRef: |
|||
kind: ClusterRole |
|||
name: psp:registry-proxy |
|||
apiGroup: rbac.authorization.k8s.io |
@ -0,0 +1,48 @@ |
|||
--- |
|||
apiVersion: policy/v1beta1 |
|||
kind: PodSecurityPolicy |
|||
metadata: |
|||
name: registry-proxy |
|||
annotations: |
|||
seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default' |
|||
seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default' |
|||
{% if apparmor_enabled %} |
|||
apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default' |
|||
apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default' |
|||
{% endif %} |
|||
labels: |
|||
kubernetes.io/cluster-service: 'true' |
|||
addonmanager.kubernetes.io/mode: Reconcile |
|||
spec: |
|||
privileged: false |
|||
allowPrivilegeEscalation: false |
|||
requiredDropCapabilities: |
|||
- ALL |
|||
volumes: |
|||
- 'configMap' |
|||
- 'emptyDir' |
|||
- 'projected' |
|||
- 'secret' |
|||
- 'downwardAPI' |
|||
- 'persistentVolumeClaim' |
|||
hostNetwork: true |
|||
hostPorts: |
|||
- min: 5000 |
|||
max: 5000 |
|||
hostIPC: false |
|||
hostPID: false |
|||
runAsUser: |
|||
rule: 'RunAsAny' |
|||
seLinux: |
|||
rule: 'RunAsAny' |
|||
supplementalGroups: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
fsGroup: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
readOnlyRootFilesystem: false |
@ -0,0 +1,7 @@ |
|||
apiVersion: v1 |
|||
kind: ServiceAccount |
|||
metadata: |
|||
name: registry-proxy |
|||
namespace: {{ registry_namespace }} |
|||
labels: |
|||
kubernetes.io/cluster-service: "true" |
@ -0,0 +1,45 @@ |
|||
--- |
|||
apiVersion: policy/v1beta1 |
|||
kind: PodSecurityPolicy |
|||
metadata: |
|||
name: registry |
|||
annotations: |
|||
seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default' |
|||
seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default' |
|||
{% if apparmor_enabled %} |
|||
apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default' |
|||
apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default' |
|||
{% endif %} |
|||
labels: |
|||
kubernetes.io/cluster-service: 'true' |
|||
addonmanager.kubernetes.io/mode: Reconcile |
|||
spec: |
|||
privileged: false |
|||
allowPrivilegeEscalation: false |
|||
requiredDropCapabilities: |
|||
- ALL |
|||
volumes: |
|||
- 'configMap' |
|||
- 'emptyDir' |
|||
- 'projected' |
|||
- 'secret' |
|||
- 'downwardAPI' |
|||
- 'persistentVolumeClaim' |
|||
hostNetwork: false |
|||
hostIPC: false |
|||
hostPID: false |
|||
runAsUser: |
|||
rule: 'RunAsAny' |
|||
seLinux: |
|||
rule: 'RunAsAny' |
|||
supplementalGroups: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
fsGroup: |
|||
rule: 'MustRunAs' |
|||
ranges: |
|||
- min: 1 |
|||
max: 65535 |
|||
readOnlyRootFilesystem: false |
@ -0,0 +1,7 @@ |
|||
apiVersion: v1 |
|||
kind: ServiceAccount |
|||
metadata: |
|||
name: registry |
|||
namespace: {{ registry_namespace }} |
|||
labels: |
|||
kubernetes.io/cluster-service: "true" |
Write
Preview
Loading…
Cancel
Save