Metainformationen (Label/Annotations)
in !65 (merged) waren erstmalig (?) zwei unterschiedliche Anforderungen vom BSI referenziert.
Bei der Implementierung von Labeln hierfür, war unklar, wie man die Anforderungen im label voneinander separiert:
apiVersion: v1
kind: Pod
metadata:
name: require-health-and-liveness-check-bad-1
labels:
policies.opencode.de/bsi-protection-requirement: basic
policies.opencode.de/category: must
policies.opencode.de/bsi-requirement: SYS.1.6.A3,APP.4.4.A11
spec:
containers:
- name: require-health-and-liveness-check-bad-1
image: nginxinc/nginx-unprivileged
funktionierte nicht, da ein "," als Trennzeichen nicht zulässig ist.
The Pod "require-health-and-liveness-check-bad-1" is invalid: metadata.labels: Invalid value: "SYS.1.6.A3,APP.4.4.A11": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue', or 'my_value', or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')
Aktuell ist die Trennung mit _
implementiert, wir sollte das aber definieren.
Alternativ könnten auch annotations verwendet werden, die das grundsätzlich erlauben würden:
apiVersion: v1
kind: Pod
metadata:
name: require-health-and-liveness-check-bad-1
annotation:
policies.opencode.de/bsi-protection-requirement: basic
policies.opencode.de/category: must
policies.opencode.de/bsi-requirement: SYS.1.6.A3,APP.4.4.A11
spec:
containers:
- name: require-health-and-liveness-check-bad-1
image: nginxinc/nginx-unprivileged
dies hätte aber den Nachteil, dass man Annotations nicht als selector verwenden kann. Hierbei ist die Frage, ob das BSI-Requirement tatsächlich ein Selector wäre, oder eher die cateory und das protection requirement.
Edited by Steffen Lützenkirchen