Skip to content
Snippets Groups Projects
Commit 8cbca03d authored by OZGCloud's avatar OZGCloud
Browse files

remove ingress

parent c4e56478
No related branches found
No related tags found
No related merge requests found
#
# 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.
#
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
{{- if (.Values.ingress).certManagerAnnotations -}}
{{- range (.Values.ingress).certManagerAnnotations }}
{{ . | indent 4 }}
{{- end }}
{{- else if (.Values.ingress).use_staging_cert }}
cert-manager.io/cluster-issuer: letsencrypt-staging
{{- else }}
cert-manager.io/cluster-issuer: letsencrypt-prod
{{- end }}
nginx.ingress.kubernetes.io/proxy-body-size: 42m
name: {{ .Release.Name }}
namespace: {{ .Release.Namespace }}
spec:
{{- if and (.Values.ingress).className (ne (.Values).cluster_env "dataport") }}
ingressClassName: {{ .Values.ingress.className }}
{{- end }}
rules:
- http:
paths:
- backend:
service:
port:
number: 8080
name: {{ .Release.Name }}
path: ''
pathType: ImplementationSpecific
host: {{ include "app.baseDomain" . }}
tls:
- hosts:
- {{ include "app.baseDomain" . }}
{{- if (.Values.ingress).tlsSecretName }}
secretName: {{ (.Values.ingress).tlsSecretName }}
{{- else if ne (.Values).cluster_env "dataport" }}
secretName: {{ (.Values.ozgcloud).bezeichner }}-{{ .Release.Name }}-tls
{{- end }}
\ 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: ingress
release:
name: administration
templates:
- templates/ingress.yaml
set:
ozgcloud:
environment: default
bezeichner: helmtest
adminDomainSuffix: domainsuffix
tests:
- it: should have metadata values
asserts:
- isKind:
of: Ingress
- equal:
path: metadata.name
value: "administration"
- equal:
path: metadata.namespace
value: "NAMESPACE"
- it: should use default letsencrypt-prod cluster-issuer
asserts:
- equal:
path: metadata.annotations["cert-manager.io/cluster-issuer"]
value: letsencrypt-prod
- it: should use letsencrypt-staging cluster-issuer
set:
ingress.use_staging_cert: true
asserts:
- equal:
path: metadata.annotations["cert-manager.io/cluster-issuer"]
value: letsencrypt-staging
- it: should use letsencrypt-prod cluster-issuer
set:
ingress.use_staging_cert: false
asserts:
- equal:
path: metadata.annotations["cert-manager.io/cluster-issuer"]
value: letsencrypt-prod
- it: should set proxy body size to 42m
asserts:
- equal:
path: metadata.annotations["nginx.ingress.kubernetes.io/proxy-body-size"]
value: 42m
- it: should set backend with port
asserts:
- contains:
path: spec.rules[0].http.paths
content:
backend:
service:
port:
number: 8080
name: administration
path: ""
pathType: ImplementationSpecific
- it: should set host
asserts:
- equal:
path: spec.rules[0].host
value: helmtest-domainsuffix.ozg-sh.de
- it: should configure tls w/o tlsSecretName
asserts:
- contains:
path: spec.tls
content:
hosts:
- helmtest-domainsuffix.ozg-sh.de
secretName: helmtest-administration-tls
- it: should configure tls w/ tlsSecretName
set:
ingress:
tlsSecretName: secret-name
asserts:
- contains:
path: spec.tls
content:
hosts:
- helmtest-domainsuffix.ozg-sh.de
secretName: secret-name
- it: should configure tls for dataport without secretName
set:
cluster_env: dataport
asserts:
- contains:
path: spec.tls
content:
hosts:
- helmtest-domainsuffix.ozg-sh.de
- it: should use ingressClassName
set:
ingress:
className: ingress-class-name
asserts:
- equal:
path: spec.ingressClassName
value: ingress-class-name
- it: should not use ingressClassName if not defined
asserts:
- notExists:
path: spec.ingressClassName
- it: should not use ingressClassName with dataport env
set:
ingress:
className: ingress-class-name
cluster_env: dataport
asserts:
- notExists:
path: spec.ingressClassName
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment