Skip to content
Snippets Groups Projects
Commit e12ac2e6 authored by Stefan Voshage's avatar Stefan Voshage
Browse files

Merge pull request 'Dataport: Anpassung der Helm-Charts gemäß den Kyverno...

Merge pull request 'Dataport: Anpassung der Helm-Charts gemäß den Kyverno Richtlinien bei Dataport' (#57) from dataport-admin-helm-anpassung into master

Reviewed-on: https://git.ozg-sh.de/ozgcloud-app/administration/pulls/57


Reviewed-by: default avatarOZGCloud <ozgcloud@mgm-tp.com>
parents 1254e5ec 4525f3a7
No related branches found
No related tags found
No related merge requests found
...@@ -48,6 +48,9 @@ spec: ...@@ -48,6 +48,9 @@ spec:
{{- include "app.defaultLabels" . | indent 8 }} {{- include "app.defaultLabels" . | indent 8 }}
component: {{ .Release.Name }} component: {{ .Release.Name }}
spec: spec:
{{- if (.Values.serviceAccount).create }}
serviceAccountName: {{ include "app.serviceAccountName" . }}
{{- end }}
topologySpreadConstraints: topologySpreadConstraints:
- maxSkew: 1 - maxSkew: 1
topologyKey: kubernetes.io/hostname topologyKey: kubernetes.io/hostname
...@@ -142,6 +145,17 @@ spec: ...@@ -142,6 +145,17 @@ spec:
periodSeconds: 10 periodSeconds: 10
successThreshold: 1 successThreshold: 1
timeoutSeconds: 5 timeoutSeconds: 5
{{- if .Values.enableLivenessProbe }}
livenessProbe:
failureThreshold: 3
httpGet:
path: /actuator/health/liveness
port: 8081
scheme: HTTP
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 3
{{- end }}
resources: resources:
{{- with .Values.resources }} {{- with .Values.resources }}
{{ toYaml . | indent 10 }} {{ toYaml . | indent 10 }}
...@@ -151,6 +165,16 @@ spec: ...@@ -151,6 +165,16 @@ spec:
privileged: false privileged: false
readOnlyRootFilesystem: false readOnlyRootFilesystem: false
runAsNonRoot: true runAsNonRoot: true
{{- with (.Values.securityContext).runAsUser }}
runAsUser: {{ . }}
{{- end }}
{{- with (.Values.securityContext).runAsGroup }}
runAsGroup: {{ . }}
{{- end }}
{{- with (.Values.securityContext).capabilities }}
capabilities:
{{ toYaml . | indent 12 }}
{{- end }}
stdin: true stdin: true
terminationMessagePath: /dev/termination-log terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File terminationMessagePolicy: File
...@@ -178,5 +202,8 @@ spec: ...@@ -178,5 +202,8 @@ spec:
- name: {{ required "image-pull-secret must be set" .Values.imagePullSecret }} - name: {{ required "image-pull-secret must be set" .Values.imagePullSecret }}
restartPolicy: Always restartPolicy: Always
schedulerName: default-scheduler schedulerName: default-scheduler
securityContext: {} {{- with .Values.podSecurityContext }}
terminationGracePeriodSeconds: 300000000 securityContext:
\ No newline at end of file {{ toYaml . | indent 8 }}
{{- end }}
terminationGracePeriodSeconds: 30
#
# Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
# Ministerpräsidenten des Landes Schleswig-Holstein
# Staatskanzlei
# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
#
# Lizenziert unter der EUPL, Version 1.2 oder - sobald
# diese von der Europäischen Kommission genehmigt wurden -
# Folgeversionen der EUPL ("Lizenz");
# Sie dürfen dieses Werk ausschließlich gemäß
# dieser Lizenz nutzen.
# Eine Kopie der Lizenz finden Sie hier:
#
# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
#
# Sofern nicht durch anwendbare Rechtsvorschriften
# gefordert oder in schriftlicher Form vereinbart, wird
# die unter der Lizenz verbreitete Software "so wie sie
# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
# ausdrücklich oder stillschweigend - verbreitet.
# Die sprachspezifischen Genehmigungen und Beschränkungen
# unter der Lizenz sind dem Lizenztext zu entnehmen.
#
suite: deployment image pull secret
templates:
- templates/deployment.yaml
release:
name: administration
namespace: helm-test
set:
ozgcloud:
bundesland: sh
bezeichner: helm
sso:
serverUrl: https://sso.company.local
imagePullSecret: image-pull-secret
tests:
- it: check default values
asserts:
- equal:
path: spec.template.spec.containers[0].securityContext.allowPrivilegeEscalation
value: false
- equal:
path: spec.template.spec.containers[0].securityContext.privileged
value: false
- equal:
path: spec.template.spec.containers[0].securityContext.readOnlyRootFilesystem
value: false
- equal:
path: spec.template.spec.containers[0].securityContext.runAsNonRoot
value: true
- isNull:
path: spec.template.spec.containers[0].securityContext.runAsUser
- isNull:
path: spec.template.spec.containers[0].securityContext.runAsGroup
- isNull:
path: spec.template.spec.containers[0].securityContext.capabilities
- isNull:
path: spec.template.spec.securityContext.fsGroup
- it: check runAsUser
set:
securityContext.runAsUser: 1000
asserts:
- equal:
path: spec.template.spec.containers[0].securityContext.runAsUser
value: 1000
- it: check runAsGroup
set:
securityContext.runAsGroup: 1000
asserts:
- equal:
path: spec.template.spec.containers[0].securityContext.runAsGroup
value: 1000
- it: check fsGroup
set:
podSecurityContext.fsGroup: 1000
asserts:
- equal:
path: spec.template.spec.securityContext.fsGroup
value: 1000
- it: check capabilities
set:
securityContext:
capabilities:
drop:
- ALL
asserts:
- equal:
path: spec.template.spec.containers[0].securityContext.capabilities
value:
drop:
- ALL
\ No newline at end of file
#
# Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
# Ministerpräsidenten des Landes Schleswig-Holstein
# Staatskanzlei
# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
#
# Lizenziert unter der EUPL, Version 1.2 oder - sobald
# diese von der Europäischen Kommission genehmigt wurden -
# Folgeversionen der EUPL ("Lizenz");
# Sie dürfen dieses Werk ausschließlich gemäß
# dieser Lizenz nutzen.
# Eine Kopie der Lizenz finden Sie hier:
#
# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
#
# Sofern nicht durch anwendbare Rechtsvorschriften
# gefordert oder in schriftlicher Form vereinbart, wird
# die unter der Lizenz verbreitete Software "so wie sie
# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
# ausdrücklich oder stillschweigend - verbreitet.
# Die sprachspezifischen Genehmigungen und Beschränkungen
# unter der Lizenz sind dem Lizenztext zu entnehmen.
#
suite: deployment service account
templates:
- templates/deployment.yaml
release:
name: administration
namespace: helm-test
set:
ozgcloud:
bundesland: sh
bezeichner: helm
sso:
serverUrl: https://sso.company.local
imagePullSecret: image-pull-secret
tests:
- it: should use service account with default name
set:
serviceAccount:
create: true
asserts:
- equal:
path: spec.template.spec.serviceAccountName
value: administration-service-account
- it: should use service account with name
set:
serviceAccount:
create: true
name: helm-service-account
asserts:
- equal:
path: spec.template.spec.serviceAccountName
value: helm-service-account
- it: should use default service account
asserts:
- isNull:
path: spec.template.spec.serviceAccountName
\ No newline at end of file
...@@ -112,11 +112,9 @@ tests: ...@@ -112,11 +112,9 @@ tests:
- equal: - equal:
path: spec.template.spec.schedulerName path: spec.template.spec.schedulerName
value: "default-scheduler" value: "default-scheduler"
- isEmpty:
path: spec.template.spec.securityContext
- equal: - equal:
path: spec.template.spec.terminationGracePeriodSeconds path: spec.template.spec.terminationGracePeriodSeconds
value: 300000000 value: 30
- it: should have correct container configuration - it: should have correct container configuration
asserts: asserts:
- equal: - equal:
......
#
# Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
# Ministerpräsidenten des Landes Schleswig-Holstein
# Staatskanzlei
# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
#
# Lizenziert unter der EUPL, Version 1.2 oder - sobald
# diese von der Europäischen Kommission genehmigt wurden -
# Folgeversionen der EUPL ("Lizenz");
# Sie dürfen dieses Werk ausschließlich gemäß
# dieser Lizenz nutzen.
# Eine Kopie der Lizenz finden Sie hier:
#
# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
#
# Sofern nicht durch anwendbare Rechtsvorschriften
# gefordert oder in schriftlicher Form vereinbart, wird
# die unter der Lizenz verbreitete Software "so wie sie
# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
# ausdrücklich oder stillschweigend - verbreitet.
# Die sprachspezifischen Genehmigungen und Beschränkungen
# unter der Lizenz sind dem Lizenztext zu entnehmen.
#
suite: test service account
release:
name: vorgang-manager
namespace: sh-helm-test
templates:
- templates/service_account.yaml
tests:
- it: should create service account with default name
set:
serviceAccount:
create: true
asserts:
- isKind:
of: ServiceAccount
- isAPIVersion:
of: v1
- equal:
path: metadata.name
value: administration-service-account
- equal:
path: metadata.namespace
value: sh-helm-test
- it: should create service account with name
set:
serviceAccount:
create: true
name: helm-service-account
asserts:
- isKind:
of: ServiceAccount
- equal:
path: metadata.name
value: helm-service-account
- equal:
path: metadata.namespace
value: sh-helm-test
- it: should not create service account
asserts:
- hasDocuments:
count: 0
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment