chore(clustertool): add more kyverno policies
This commit is contained in:
@@ -0,0 +1,43 @@
|
|||||||
|
apiVersion: kyverno.io/v1
|
||||||
|
kind: ClusterPolicy
|
||||||
|
metadata:
|
||||||
|
name: resolve-image-to-digest
|
||||||
|
annotations:
|
||||||
|
policies.kyverno.io/title: Resolve Image to Digest
|
||||||
|
policies.kyverno.io/category: Other
|
||||||
|
policies.kyverno.io/severity: medium
|
||||||
|
kyverno.io/kyverno-version: 1.6.0
|
||||||
|
policies.kyverno.io/minversion: 1.6.0
|
||||||
|
kyverno.io/kubernetes-version: "1.23"
|
||||||
|
policies.kyverno.io/subject: Pod
|
||||||
|
policies.kyverno.io/description: >-
|
||||||
|
Image tags are mutable and the change of an image can result in the same tag.
|
||||||
|
This policy resolves the image digest of each image in a container and replaces
|
||||||
|
the image with the fully resolved reference which includes the digest rather than tag.
|
||||||
|
spec:
|
||||||
|
background: false
|
||||||
|
rules:
|
||||||
|
- name: resolve-to-digest
|
||||||
|
match:
|
||||||
|
any:
|
||||||
|
- resources:
|
||||||
|
kinds:
|
||||||
|
- Pod
|
||||||
|
preconditions:
|
||||||
|
all:
|
||||||
|
- key: "{{request.operation || 'BACKGROUND'}}"
|
||||||
|
operator: NotEquals
|
||||||
|
value: DELETE
|
||||||
|
mutate:
|
||||||
|
foreach:
|
||||||
|
- list: "request.object.spec.containers"
|
||||||
|
context:
|
||||||
|
- name: resolvedRef
|
||||||
|
imageRegistry:
|
||||||
|
reference: "{{ element.image }}"
|
||||||
|
jmesPath: "resolvedImage"
|
||||||
|
patchStrategicMerge:
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: "{{ element.name }}"
|
||||||
|
image: "{{ resolvedRef }}"
|
||||||
@@ -3,3 +3,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- schematic-to-pod.yaml
|
- schematic-to-pod.yaml
|
||||||
|
- patch-gha.yaml
|
||||||
|
- ensure-digest.yaml
|
||||||
|
- safe-to-evict.yaml
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
apiVersion: kyverno.io/v2beta1
|
||||||
|
kind: ClusterPolicy
|
||||||
|
metadata:
|
||||||
|
name: update-dind-args
|
||||||
|
annotations:
|
||||||
|
pod-policies.kyverno.io/autogen-controllers: none
|
||||||
|
policies.kyverno.io/title: Update dind Container Args
|
||||||
|
policies.kyverno.io/category: Other
|
||||||
|
kyverno.io/kyverno-version: 1.10.0
|
||||||
|
policies.kyverno.io/minversion: 1.10.0
|
||||||
|
kyverno.io/kubernetes-version: "1.30"
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- name: update-dind-args-rule
|
||||||
|
match:
|
||||||
|
any:
|
||||||
|
- resources:
|
||||||
|
kinds:
|
||||||
|
- AutoscalingRunnerSet
|
||||||
|
mutate:
|
||||||
|
patchesJson6902: |
|
||||||
|
- op: replace
|
||||||
|
path: /spec/template/spec/containers/1/args
|
||||||
|
value:
|
||||||
|
- dockerd
|
||||||
|
- --host=unix:///var/run/docker.sock
|
||||||
|
- --group=123
|
||||||
|
- --registry-mirror=http://spegel-registry.kube-system.svc.cluster.local:5000
|
||||||
|
- --insecure-registry=http://spegel-registry.kube-system.svc.cluster.local:5000
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
apiVersion: kyverno.io/v1
|
||||||
|
kind: ClusterPolicy
|
||||||
|
metadata:
|
||||||
|
name: add-safe-to-evict
|
||||||
|
annotations:
|
||||||
|
policies.kyverno.io/title: Add Safe To Evict
|
||||||
|
policies.kyverno.io/category: Other
|
||||||
|
policies.kyverno.io/subject: Pod,Annotation
|
||||||
|
policies.kyverno.io/minversion: 1.6.0
|
||||||
|
policies.kyverno.io/description: >-
|
||||||
|
The Kubernetes cluster autoscaler does not evict pods that
|
||||||
|
use hostPath or emptyDir volumes. To allow eviction of these pods, the annotation
|
||||||
|
cluster-autoscaler.kubernetes.io/safe-to-evict=true must be added to the pods.
|
||||||
|
spec:
|
||||||
|
rules:
|
||||||
|
- name: annotate-empty-dir
|
||||||
|
match:
|
||||||
|
any:
|
||||||
|
- resources:
|
||||||
|
kinds:
|
||||||
|
- Pod
|
||||||
|
mutate:
|
||||||
|
patchStrategicMerge:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
+(cluster-autoscaler.kubernetes.io/safe-to-evict): "true"
|
||||||
|
spec:
|
||||||
|
volumes:
|
||||||
|
- <(emptyDir): {}
|
||||||
Reference in New Issue
Block a user