genpolicy: check requested devices

CreateContainerRequest objects can specify devices to be created inside
the guest VM. This change ensures that requested devices have a
corresponding entry in the PodSpec.

Devices that are added to the pod dynamically, for example via the
Device Plugin architecture, can be allowlisted globally by adding their
definition to the settings file.

Fixes: #9651
Signed-off-by: Markus Rudy <mr@edgeless.systems>
This commit is contained in:
Markus Rudy
2024-05-24 12:29:27 +02:00
parent ea578f0a80
commit 13310587ed
7 changed files with 169 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
#
# Copyright (c) 2024 Edgeless Systems GmbH
#
# SPDX-License-Identifier: Apache-2.0
#
apiVersion: v1
kind: Pod
metadata:
name: policy-pod-pvc
spec:
terminationGracePeriodSeconds: 0
runtimeClassName: kata
containers:
- name: busybox
image: "quay.io/prometheus/busybox:latest"
volumeDevices:
- name: dev
devicePath: /dev/csi0
volumes:
- name: dev
persistentVolumeClaim:
claimName: policy-dev

View File

@@ -0,0 +1,16 @@
#
# Copyright (c) 2024 Edgeless Systems GmbH
#
# SPDX-License-Identifier: Apache-2.0
#
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: policy-dev
spec:
accessModes:
- ReadWriteOnce
volumeMode: Block
resources:
requests:
storage: 1Mi