Skip to content
Snippets Groups Projects
Commit 13720b63 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4453 add helm deployment yaml

parent e67f8d6f
Branches
Tags
No related merge requests found
Showing
with 575 additions and 2 deletions
{{- define "app.matchLabels" }}
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/namespace: {{ .Release.Namespace }}
{{- end -}}
\ No newline at end of file
......@@ -15,7 +15,7 @@ spec:
schema:
openAPIV3Schema:
type: object
description: OzgCloudElasticsearch is the Schema for the keycloaks API
description: OzgCloudElasticsearch is the Schema for the elasticsearch API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
......
#
# Copyright (C) 2023 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.
#
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/namespace: {{ .Release.Namespace }}
app.kubernetes.io/part-of: ozg
app.kubernetes.io/version: {{ .Chart.AppVersion }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
spec:
selector:
matchLabels:
{{- include "app.matchLabels" . | indent 6 }}
template:
metadata:
labels:
{{- include "app.matchLabels" . | indent 8 }}
spec:
serviceAccountName: ozgcloud-elasticsearch-operator-serviceaccount
containers:
- name: ozgcloud-elasticsearch-operator
image: "{{ required "image.repo must be set" (.Values.image).repo }}/{{ required "image.name must be set" (.Values.image).name }}:{{ required "image.tag must be set" (.Values.image).tag }}"
env:
{{- with (.Values.env).customList }}
{{ toYaml . | indent 8 }}
{{- end }}
imagePullPolicy: Always
readinessProbe:
failureThreshold: 3
httpGet:
path: /actuator/health/readiness
port: 8081
scheme: HTTP
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 3
startupProbe:
failureThreshold: 10
httpGet:
path: /actuator/health/readiness
port: 8081
scheme: HTTP
initialDelaySeconds: 30
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 5
resources:
{{- with .Values.resources }}
{{ toYaml . | indent 10 }}
{{- end }}
securityContext:
allowPrivilegeEscalation: false
privileged: false
readOnlyRootFilesystem: false
runAsNonRoot: true
stdin: true
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
tty: true
dnsConfig: {}
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: {{ required "imagePullSecret must be set" .Values.imagePullSecret }}
restartPolicy: Always
image:
repo: docker.ozg-sh.de
......@@ -11,7 +11,7 @@ tests:
asserts:
- equal:
path: spec.versions[0].schema.openAPIV3Schema.description
value: OzgCloudElasticsearch is the Schema for the keycloaks API
value: OzgCloudElasticsearch is the Schema for the elasticsearch API
- it: should have versions schema type
asserts:
- equal:
......
#
# Copyright (C) 2023 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 container test
release:
name: elastic-test-operator
namespace: sh-helm-test
templates:
- deployment.yaml
tests:
- it: validate image type and container image
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- equal:
path: spec.template.spec.containers[0].name
value: ozgcloud-elasticsearch-operator
- equal:
path: spec.template.spec.containers[0].image
value: docker.ozg-sh.de/hase:latest
- equal:
path: spec.template.spec.containers[0].imagePullPolicy
value: Always
- it: validate health checks
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- equal:
path: spec.template.spec.containers[0].readinessProbe
value:
failureThreshold: 3
httpGet:
path: /actuator/health/readiness
port: 8081
scheme: HTTP
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 3
- equal:
path: spec.template.spec.containers[0].startupProbe
value:
failureThreshold: 10
httpGet:
path: /actuator/health/readiness
port: 8081
scheme: HTTP
initialDelaySeconds: 30
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 5
- it: validate security context
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- equal:
path: spec.template.spec.containers[0].securityContext
value:
allowPrivilegeEscalation: false
privileged: false
readOnlyRootFilesystem: false
runAsNonRoot: true
#
# Copyright (C) 2023 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 environments
templates:
- templates/deployment.yaml
tests:
- it: check customList
template: deployment.yaml
set:
env.customList:
- name: my_test_environment_name
value: "A test value"
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: my_test_environment_name
value: "A test value"
#
# Copyright (C) 2023 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 matchlabels
release:
name: ozgcloud-elasticsearch-operator
namespace: sh-helm-test
templates:
- templates/deployment.yaml
tests:
- it: check matchlabels
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- equal:
path: spec.selector.matchLabels.[app.kubernetes.io/name]
value: ozgcloud-elasticsearch-operator
- equal:
path: spec.selector.matchLabels.[app.kubernetes.io/namespace]
value: sh-helm-test
- equal:
path: spec.template.metadata.labels.[app.kubernetes.io/name]
value: ozgcloud-elasticsearch-operator
- equal:
path: spec.template.metadata.labels.[app.kubernetes.io/namespace]
value: sh-helm-test
\ No newline at end of file
#
# Copyright (C) 2023 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 test metadata
release:
name: ozgcloud-elasticsearch-operator
namespace: sh-helm-test
templates:
- templates/deployment.yaml
tests:
- it: check metadata labels
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- equal:
path: metadata.labels.[app.kubernetes.io/instance]
value: ozgcloud-elasticsearch-operator
- equal:
path: metadata.labels.[app.kubernetes.io/name]
value: ozgcloud-elasticsearch-operator
- equal:
path: metadata.labels.[app.kubernetes.io/part-of]
value: ozg
- equal:
path: metadata.labels.[app.kubernetes.io/namespace]
value: sh-helm-test
- it: check metadata name
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- equal:
path: metadata.name
value: ozgcloud-elasticsearch-operator
- it: check metadata namespace
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- equal:
path: metadata.namespace
value: sh-helm-test
#
# Copyright (C) 2023 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 pull secret
release:
name: ozgcloud-keycloak-operator
namespace: sh-helm-test
templates:
- deployment.yaml
tests:
- it: validate image pull secret resource name
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- equal:
path: spec.template.spec.imagePullSecrets[0].name
value: imagePullSecret
#
# Copyright (C) 2023 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 resources test
release:
name: afm-adapter
templates:
- templates/deployment.yaml
tests:
- it: test resources
set:
resources:
limits:
cpu: "11m"
memory: "22Mi"
requests:
cpu: "33m"
memory: "44Mi"
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- equal:
path: spec.template.spec.containers[0].resources.limits.cpu
value: 11m
- equal:
path: spec.template.spec.containers[0].resources.limits.memory
value: 22Mi
- equal:
path: spec.template.spec.containers[0].resources.requests.cpu
value: 33m
- equal:
path: spec.template.spec.containers[0].resources.requests.memory
value: 44Mi
- it: test empty resources
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- isEmpty:
path: spec.template.spec.containers[0].resources
#
# Copyright (C) 2023 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 templace spec test
release:
name: elastic-test-operator
namespace: sh-helm-test
templates:
- deployment.yaml
tests:
- it: validate serviceaccount name
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- equal:
path: spec.template.spec.serviceAccountName
value: ozgcloud-elasticsearch-operator-serviceaccount
- it: validate restartPolicy
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- equal:
path: spec.template.spec.restartPolicy
value: Always
\ No newline at end of file
#
# Copyright (C) 2023 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 type test
release:
name: elastic-test-operator
namespace: sh-helm-test
templates:
- deployment.yaml
tests:
- it: validate template type and api Version
set:
image:
name: hase
tag: latest
imagePullSecret: imagePullSecret
asserts:
- isKind:
of: Deployment
- isAPIVersion:
of: apps/v1
image:
name: test
tag: latest
imagePullSecret: "docker-secret"
\ 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