b7b60dd51f
### Description of the change Adding support for DRY principle (via use of the TPL function) to the PVC storage class and the ingress class ### Benefits It allows to reference a variable into another one to avoid duplicating them (or using YAML anchors). It is useful and valuable when including Gitea into an umbrella chart with multiple components and to have a single variable while the components variable only refer to that single one. Example 1 ``` global: persistence: storageClass: "storage-class" persistence: storageClass: "{{ .Values.global.persistence.storageClass }}" ``` This results in having `spec.storageClassName` equal to `storage-class` in the PVC object Example 2 ``` global: ingress: className: "ingress-class" ingress: className: "{{ .Values.global.ingress.className}}" ``` This results in having `spec.ingressClassName` equal to `ingress-class` in the Ingress object ### Possible drawbacks N/A ### Checklist - [X] Templating unittests are added Co-authored-by: 212597596 <cedric.henry@ge.com> Co-authored-by: pat-s <pat-s@noreply.gitea.com> Co-authored-by: justusbunsi <justusbunsi@noreply.gitea.com> Reviewed-on: https://gitea.com/gitea/helm-chart/pulls/664 Reviewed-by: pat-s <pat-s@noreply.gitea.com> Co-authored-by: Ceddaerrix <ceddaerrix@noreply.gitea.com> Co-committed-by: Ceddaerrix <ceddaerrix@noreply.gitea.com>
48 lines
1.2 KiB
YAML
48 lines
1.2 KiB
YAML
suite: ingress template
|
|
release:
|
|
name: gitea-unittests
|
|
namespace: testing
|
|
templates:
|
|
- templates/gitea/ingress.yaml
|
|
tests:
|
|
- it: hostname using TPL
|
|
set:
|
|
global.giteaHostName: "gitea.example.com"
|
|
ingress.enabled: true
|
|
ingress.hosts[0].host: "{{ .Values.global.giteaHostName }}"
|
|
ingress.tls:
|
|
- secretName: gitea-tls
|
|
hosts:
|
|
- "{{ .Values.global.giteaHostName }}"
|
|
asserts:
|
|
- isKind:
|
|
of: Ingress
|
|
- equal:
|
|
path: spec.tls[0].hosts[0]
|
|
value: "gitea.example.com"
|
|
- equal:
|
|
path: spec.rules[0].host
|
|
value: "gitea.example.com"
|
|
- it: Ingress Class using TPL
|
|
set:
|
|
global.ingress.className: "ingress-class"
|
|
ingress.className: "{{ .Values.global.ingress.className }}"
|
|
ingress.enabled: true
|
|
ingress.hosts[0].host: "some-host"
|
|
ingress.tls:
|
|
- secretName: gitea-tls
|
|
hosts:
|
|
- "some-host"
|
|
asserts:
|
|
- isKind:
|
|
of: Ingress
|
|
- equal:
|
|
path: spec.tls[0].hosts[0]
|
|
value: "some-host"
|
|
- equal:
|
|
path: spec.rules[0].host
|
|
value: "some-host"
|
|
- equal:
|
|
path: spec.ingressClassName
|
|
value: "ingress-class"
|