Skip to content

Commit 8ff657f

Browse files
authored
Merge pull request #7446 from chrischdi/pr-pss-capd-tests
🌱 CAPD: enable baseline pod security admission for clusterclass tests
2 parents 783f195 + 778236b commit 8ff657f

File tree

4 files changed

+53
-3
lines changed

4 files changed

+53
-3
lines changed

docs/book/src/security/pod-security-standards.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ spec:
9898
plugins:
9999
- name: PodSecurity
100100
configuration:
101-
apiVersion: pod-security.admission.config.k8s.io/v1beta1
101+
apiVersion: pod-security.admission.config.k8s.io/v1{{ if semverCompare "< v1.25" .builtin.controlPlane.version }}beta1{{ end }}
102102
kind: PodSecurityConfiguration
103103
defaults:
104104
enforce: "{{ .podSecurity.enforce }}"
@@ -164,7 +164,7 @@ spec:
164164
plugins:
165165
- name: PodSecurity
166166
configuration:
167-
apiVersion: pod-security.admission.config.k8s.io/v1beta1
167+
apiVersion: pod-security.admission.config.k8s.io/v1{{ if semverCompare "< v1.25" .builtin.controlPlane.version }}beta1{{ end }}
168168
kind: PodSecurityConfiguration
169169
defaults:
170170
enforce: "{{ .podSecurity.enforce }}"

test/e2e/data/infrastructure-docker/v1beta1/main/clusterclass-quick-start.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,52 @@ spec:
246246
- op: add
247247
path: "/spec/template/spec/kubeadmConfigSpec/joinConfiguration/nodeRegistration/taints"
248248
value: []
249+
- name: podSecurityStandard
250+
description: "Adds an admission configuration for PodSecurity to the kube-apiserver."
251+
definitions:
252+
- selector:
253+
apiVersion: controlplane.cluster.x-k8s.io/v1beta1
254+
kind: KubeadmControlPlaneTemplate
255+
matchResources:
256+
controlPlane: true
257+
jsonPatches:
258+
- op: add
259+
path: "/spec/template/spec/kubeadmConfigSpec/clusterConfiguration/apiServer/extraArgs"
260+
value:
261+
admission-control-config-file: "/etc/kubernetes/kube-apiserver-admission-pss.yaml"
262+
- op: add
263+
path: "/spec/template/spec/kubeadmConfigSpec/clusterConfiguration/apiServer/extraVolumes"
264+
value:
265+
- name: admission-pss
266+
hostPath: /etc/kubernetes/kube-apiserver-admission-pss.yaml
267+
mountPath: /etc/kubernetes/kube-apiserver-admission-pss.yaml
268+
readOnly: true
269+
pathType: "File"
270+
- op: add
271+
path: "/spec/template/spec/kubeadmConfigSpec/files"
272+
valueFrom:
273+
template: |
274+
- content: |
275+
apiVersion: apiserver.config.k8s.io/v1
276+
kind: AdmissionConfiguration
277+
plugins:
278+
- name: PodSecurity
279+
configuration:
280+
apiVersion: pod-security.admission.config.k8s.io/v1{{ if semverCompare "< v1.25" .builtin.controlPlane.version }}beta1{{ end }}
281+
kind: PodSecurityConfiguration
282+
defaults:
283+
enforce: "baseline"
284+
enforce-version: "latest"
285+
audit: "baseline"
286+
audit-version: "latest"
287+
warn: "baseline"
288+
warn-version: "latest"
289+
exemptions:
290+
usernames: []
291+
runtimeClasses: []
292+
namespaces: [kube-system]
293+
path: /etc/kubernetes/kube-apiserver-admission-pss.yaml
294+
enabledIf: '{{ semverCompare ">= v1.24" .builtin.controlPlane.version }}'
249295
---
250296
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
251297
kind: DockerClusterTemplate

test/infrastructure/docker/config/default/namespace.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,8 @@ kind: Namespace
33
metadata:
44
labels:
55
control-plane: controller-manager
6+
# CAPD requires the privileged policy because it needs to mount the docker socket using a hostPath.
7+
pod-security.kubernetes.io/enforce: privileged
8+
pod-security.kubernetes.io/warn: privileged
9+
pod-security.kubernetes.io/audit: privileged
610
name: system

test/infrastructure/docker/templates/clusterclass-quick-start.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ spec:
219219
plugins:
220220
- name: PodSecurity
221221
configuration:
222-
apiVersion: pod-security.admission.config.k8s.io/v1beta1
222+
apiVersion: pod-security.admission.config.k8s.io/v1{{ if semverCompare "< v1.25" .builtin.controlPlane.version }}beta1{{ end }}
223223
kind: PodSecurityConfiguration
224224
defaults:
225225
enforce: "{{ .podSecurityStandard.enforce }}"

0 commit comments

Comments
 (0)