Über Open CoDE Software Wiki Diskussionen GitLab

Skip to content

Draft: A very simple Helm Chart

Fixes #134

Follow-up to !78 (closed)

Ich hab mal ein (rudimentäres) Helm Chart gebastelt. Ein erster Versuch damit war schon ganz viel versprechend. Basiert noch auf dem aktuellen master-Branch, sollte aber auch relativ einfach anzupassen sein wenn !76 (merged) gemergt ist.

Die Templates habe ich einfach aus den bestehenden Policies abgeleitet:

cd policies
for POLICY in *.yaml
do
    cat $POLICY | sed -e 's/kind: ClusterPolicy/kind: {{ .Values.policyKind }}/' | sed -e 's/validationFailureAction: audit/validationFailureAction: {{ .Values.validationFailureAction }}/' > ../igbvc-bsi-policies/templates/$POLICY
done
cd ..
rm igbvc-bsi-policies/templates/kustomization.yaml

Das hat auch ziemlich gut funktioniert, nur an require-unique-uid-per-workload musste ich nochmal von Hand ran.

Das könnte man natürlich noch ein bisschen ausbauen und zum Beispiel validationFailureAction für jede einzelne Policy überschreibbar machen wie bei den kyverno-policies. Wird dann natürlich irgendwann ziemlich aufwändig, Änderungen an den Policies nochmal in den Templates einzupflegen. Wenn man wirklich ein Helm Chart will, wäre der umgedrehte Weg wahrscheinlich besser. Also nur noch die Templates ändern und daraus die Policies generieren:

#!/bin/bash
MYDIR=$(dirname $0)

TEMPDIR=$(mktemp -d)
trap "rm -rf $TEMPDIR" EXIT

helm template --output-dir "$TEMPDIR" "$MYDIR"/igbvc-bsi-policies
cp "$TEMPDIR"/igbvc-bsi-policies/templates/*.yaml "$MYDIR"/policies

Oder so.

Merge request reports