### 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"
|