add kyverno cluster policy
This commit is contained in:
@@ -0,0 +1,86 @@
|
|||||||
|
apiVersion: kyverno.io/v1
|
||||||
|
kind: ClusterPolicy
|
||||||
|
metadata:
|
||||||
|
name: generate-notebook-resources
|
||||||
|
spec:
|
||||||
|
admission: true
|
||||||
|
background: true
|
||||||
|
emitWarning: false
|
||||||
|
rules:
|
||||||
|
- generate:
|
||||||
|
apiVersion: v1
|
||||||
|
data:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
statefulset: '{{request.object.metadata.name}}'
|
||||||
|
spec:
|
||||||
|
clusterIP: None
|
||||||
|
selector:
|
||||||
|
statefulset: '{{request.object.metadata.name}}'
|
||||||
|
kind: Service
|
||||||
|
name: '{{request.object.metadata.name}}-headless'
|
||||||
|
namespace: '{{request.object.metadata.namespace}}'
|
||||||
|
synchronize: true
|
||||||
|
match:
|
||||||
|
resources:
|
||||||
|
kinds:
|
||||||
|
- Notebook
|
||||||
|
name: generate-notebook-headless-service
|
||||||
|
skipBackgroundRequests: true
|
||||||
|
- generate:
|
||||||
|
apiVersion: networking.istio.io/v1alpha3
|
||||||
|
data:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
statefulset: '{{request.object.metadata.name}}'
|
||||||
|
spec:
|
||||||
|
hosts:
|
||||||
|
- >-
|
||||||
|
{{request.object.metadata.name}}-headless.{{request.object.metadata.namespace}}.svc.cluster.local
|
||||||
|
http:
|
||||||
|
- route:
|
||||||
|
- destination:
|
||||||
|
host: >-
|
||||||
|
{{request.object.metadata.name}}-headless.{{request.object.metadata.namespace}}.svc.cluster.local
|
||||||
|
subset: '{{request.object.metadata.name}}-0'
|
||||||
|
weight: 100
|
||||||
|
kind: VirtualService
|
||||||
|
name: notebook-{{request.object.metadata.name}}-headless-service
|
||||||
|
namespace: '{{request.object.metadata.namespace}}'
|
||||||
|
synchronize: true
|
||||||
|
match:
|
||||||
|
resources:
|
||||||
|
kinds:
|
||||||
|
- Notebook
|
||||||
|
name: generate-notebook-headless-virtualservice
|
||||||
|
skipBackgroundRequests: true
|
||||||
|
- generate:
|
||||||
|
apiVersion: security.istio.io/v1beta1
|
||||||
|
data:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
statefulset: '{{request.object.metadata.name}}'
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- from:
|
||||||
|
- source:
|
||||||
|
principals:
|
||||||
|
- >-
|
||||||
|
cluster.local/ns/{{request.object.metadata.namespace}}/sa/default-editor
|
||||||
|
- to:
|
||||||
|
- operation:
|
||||||
|
ports: []
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
statefulset: '{{request.object.metadata.name}}'
|
||||||
|
kind: AuthorizationPolicy
|
||||||
|
name: '{{request.object.metadata.name}}-spark-communication'
|
||||||
|
namespace: '{{request.object.metadata.namespace}}'
|
||||||
|
synchronize: true
|
||||||
|
match:
|
||||||
|
resources:
|
||||||
|
kinds:
|
||||||
|
- Notebook
|
||||||
|
name: generate-notebook-spark-authpolicy
|
||||||
|
skipBackgroundRequests: true
|
||||||
|
validationFailureAction: Audit
|
||||||
@@ -93,6 +93,9 @@ resources:
|
|||||||
# Ingress
|
# Ingress
|
||||||
- ingress.yaml
|
- ingress.yaml
|
||||||
|
|
||||||
|
# dip
|
||||||
|
- dip/cluster-policy.yaml
|
||||||
|
|
||||||
# Pod Security Standards
|
# Pod Security Standards
|
||||||
# https://kubernetes.io/docs/concepts/security/pod-security-standards/
|
# https://kubernetes.io/docs/concepts/security/pod-security-standards/
|
||||||
# Uncomment to enable baseline level standards
|
# Uncomment to enable baseline level standards
|
||||||
|
|||||||
Reference in New Issue
Block a user