Ablageort im Repository (GitLab): Projekt39-Konformitätstest
Diskussionsforum (Discourse): Projekt39-Konformitätstest
Readme: Projekt39-Konformitätstest
Beschreibung des Projektes: Testet Cluster auf Konformität mit den Vorgaben der IG BvC
PublicCode.YML: anzeigen
OSS Compliance: anzeigen
Der Konformitätstest testet Cluster auf Konformität mit den Richtlinien der IG BvC, die wiederum auf dem IT-Grundschutz Modul SYS.1.6 Containerisierung basieren.
Dieser Konformitätstest prüft Richtlinien, aber setzt keine um.
Die Umsetzung der Konformität kann über das Projekt Richtlinien (Kyverno) oder mit entsprechenden Tools umgesetzt werden.
Die Kubernetes-Testobjekte werden aus gitlab.opencode.de/ig-bvc/ig-bvc-poc-2/ig-bvc-poc-ii-ap-4.1-ff-policy-entwicklung/rl-kyverno/ (z.B. disallow-priviliged-containers) direkt in das Dockerfile eingebunden.
Diese beinhalten:
Die Konfiguration kann man in k8s-manifests/.env setzen:
Der Konformitätstest kann als Kubernetes Job in einem Pod ausgeführt werden.
Dazu wird der ServiceAccount `igbvc-conformance-tester`, der alle Rechte auf nur auf Pods hat, applied.
Außerdem ist ein Zugriff auf die gitlab.opencode.de container_registry notwendig.
```
kubectl apply -k k8s-manifests/
```
OpenShift:
```
oc kustomize k8s-manifests/ | oc apply -f -
```
Der Konformitätstest kann auch, mit den Rechten des am Cluster angemeldeten Users, im aktuellen Namespace, ausgeführt werden:
```
python3 source/conformance-test.py
```
Dazu muss python3 lokal installiert sein.
Das Ergebis erhält man auf `STDOUT`, auf der CLI oder im Container aus den logs
Beispiel:
```
$ oc logs igbvc-conformance-test-j6rfx
conform:
must:
Um den Test erneut auszuführen, ist der angelegte Job `igbvc-conformance-test` zu löschen und neu anzulegen.