diff --git a/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml b/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml index 4cab0e827ff784fb33648f1f161ea64d1644651e..e9ad18bad9b39e010625ea7a5cd744e1a0bbac7b 100644 --- a/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml +++ b/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml @@ -46,7 +46,7 @@ spec: restartPolicy: Never containers: - name: xta-adapter - image: "{{ .Values.image.repo }}/{{ .Values.image.name }}:{{ coalesce (.Values.image).tag "latest" }}" + image: "{{ .Values.image.repo }}/{{ .Values.image.name }}:{{ (.Values.image).tag }}" imagePullPolicy: Always env: - name: spring_profiles_active @@ -94,6 +94,50 @@ spec: mountPath: "/workspace/keystore/xta-keystore.p12" subPath: file readOnly: true + securityContext: + allowPrivilegeEscalation: false + privileged: false + readOnlyRootFilesystem: false + runAsNonRoot: false + resources: + {{- with .Values.resources }} +{{ toYaml . | indent 16 }} + {{- end }} + + {{- if (.Values.dummyProbesEnabled) }} + livenessProbe: + exec: + command: + - echo + - '>' + - /dev/null + failureThreshold: 3 + periodSeconds: 1 + successThreshold: 1 + timeoutSeconds: 1 + readinessProbe: + exec: + command: + - echo + - "" + - '>' + - /dev/null + failureThreshold: 3 + periodSeconds: 1 + successThreshold: 1 + timeoutSeconds: 1 + startupProbe: + exec: + command: + - echo + - '>' + - /dev/null + failureThreshold: 3 + periodSeconds: 1 + successThreshold: 1 + timeoutSeconds: 1 + {{- end }} + volumes: - name: bindings configMap: diff --git a/xta-adapter/src/main/helm/test-values.yaml b/xta-adapter/src/main/helm/test-values.yaml index 85c754359e8097fd26883cba7d3659fdf1dfccc2..c16404271ba0d573a4094dd66530d13737a6eee9 100644 --- a/xta-adapter/src/main/helm/test-values.yaml +++ b/xta-adapter/src/main/helm/test-values.yaml @@ -25,4 +25,4 @@ kop: environment: test bezeichner: helm - bundesland: by \ No newline at end of file + bundesland: by diff --git a/xta-adapter/src/main/helm/values.yaml b/xta-adapter/src/main/helm/values.yaml index e81c67a09d248c7658ebc9db4914967e3c6a5421..c889a8f60634cc866653024f6e8f071b7e8e7e94 100644 --- a/xta-adapter/src/main/helm/values.yaml +++ b/xta-adapter/src/main/helm/values.yaml @@ -25,7 +25,7 @@ image: repo: docker.ozg-sh.de name: xta-adapter - tag: latest + tag: 9.9.99 # env: # overrideSpringProfiles: "oc,prod" diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml index 9138881c06f9d7f20f41f9eb5eff70523abedca7..3e0ec759c0446fb34062e1934d8dc7bd775225e9 100644 --- a/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml +++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml @@ -74,4 +74,29 @@ tests: asserts: - equal: path: spec.schedule - value: "*/15 * * * *" \ No newline at end of file + value: "*/15 * * * *" + - it: check container image + template: xta_adapter_cronjob.yaml + set: + image.name: xta-adapter + kop.environment: dev + asserts: + - equal: + path: spec.jobTemplate.spec.template.spec.containers[0].image + value: "docker.ozg-sh.de/xta-adapter:9.9.99" + + - it: check securityContext + template: xta_adapter_cronjob.yaml + asserts: + - equal: + path: spec.jobTemplate.spec.template.spec.containers[0].securityContext.allowPrivilegeEscalation + value: false + - equal: + path: spec.jobTemplate.spec.template.spec.containers[0].securityContext.privileged + value: false + - equal: + path: spec.jobTemplate.spec.template.spec.containers[0].securityContext.readOnlyRootFilesystem + value: false + - equal: + path: spec.jobTemplate.spec.template.spec.containers[0].securityContext.runAsNonRoot + value: false \ No newline at end of file diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_dummy_probes_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_dummy_probes_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e34455f65790222cf1b174fd0f21b92a4a62418e --- /dev/null +++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_dummy_probes_test.yaml @@ -0,0 +1,91 @@ +# +# Copyright (C) 2022 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 xta adapter cronjob +templates: + - templates/xta_adapter_cronjob.yaml +release: + name: xta-adapter + namespace: helm-test +tests: + - it: check dummy livenessProbe default disabled + template: xta_adapter_cronjob.yaml + asserts: + - isEmpty: + path: spec.jobTemplate.spec.template.spec.containers[0].livenessProbe + - it: check dummy startupProbe default disabled + template: xta_adapter_cronjob.yaml + asserts: + - isEmpty: + path: spec.jobTemplate.spec.template.spec.containers[0].startupProbe + - it: check dummy readynessProbe default disabled + template: xta_adapter_cronjob.yaml + asserts: + - isEmpty: + path: spec.jobTemplate.spec.template.spec.containers[0].readinessProbe + + - it: check dummy livenessProbe disabled + template: xta_adapter_cronjob.yaml + set: + dummyProbesEnabled: false + asserts: + - isEmpty: + path: spec.jobTemplate.spec.template.spec.containers[0].livenessProbe + - it: check dummy startupProbe disabled + template: xta_adapter_cronjob.yaml + set: + dummyProbesEnabled: false + asserts: + - isEmpty: + path: spec.jobTemplate.spec.template.spec.containers[0].startupProbe + - it: check dummy readynessProbe disabled + template: xta_adapter_cronjob.yaml + set: + dummyProbesEnabled: false + asserts: + - isEmpty: + path: spec.jobTemplate.spec.template.spec.containers[0].readinessProbe + + + - it: check dummy livenessProbe enabled + template: xta_adapter_cronjob.yaml + set: + dummyProbesEnabled: true + asserts: + - isNotEmpty: + path: spec.jobTemplate.spec.template.spec.containers[0].livenessProbe + - it: check dummy startupProbe enabled + template: xta_adapter_cronjob.yaml + set: + dummyProbesEnabled: true + asserts: + - isNotEmpty: + path: spec.jobTemplate.spec.template.spec.containers[0].startupProbe + - it: check dummy readynessProbe enabled + template: xta_adapter_cronjob.yaml + set: + dummyProbesEnabled: true + asserts: + - isNotEmpty: + path: spec.jobTemplate.spec.template.spec.containers[0].readinessProbe diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_resources_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_resources_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..198021ea113204629eca21b78cc1b6fa373a28c9 --- /dev/null +++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_resources_test.yaml @@ -0,0 +1,54 @@ +# +# Copyright (C) 2022 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 xta adapter cronjob +templates: + - templates/xta_adapter_cronjob.yaml +release: + name: xta-adapter + namespace: helm-test +tests: + - it: check resources + template: xta_adapter_cronjob.yaml + set: + resources: + limits: + cpu: "11m" + memory: "22Mi" + requests: + cpu: "33m" + memory: "44Mi" + asserts: + - equal: + path: spec.jobTemplate.spec.template.spec.containers[0].resources.limits.cpu + value: "11m" + - equal: + path: spec.jobTemplate.spec.template.spec.containers[0].resources.limits.memory + value: "22Mi" + - equal: + path: spec.jobTemplate.spec.template.spec.containers[0].resources.requests.cpu + value: "33m" + - equal: + path: spec.jobTemplate.spec.template.spec.containers[0].resources.requests.memory + value: "44Mi"