fix(gatewayAPI): add backendTLSConfig

This commit is contained in:
2026-05-29 22:26:04 +02:00
parent f5de20f34a
commit ad93efc510
3 changed files with 168 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
{{/* vim: set filetype=mustache: */}}
{{/* annotations */}}
{{- define "reposilite.backendTLSConfig.annotations" -}}
{{ include "reposilite.annotations" . }}
{{- if .Values.gatewayAPI.core.backendTLSConfig.annotations }}
{{ toYaml .Values.gatewayAPI.core.backendTLSConfig.annotations }}
{{- end }}
{{- end }}
{{/* enabled */}}
{{- define "reposilite.backendTLSConfig.enabled" -}}
{{- if and .Values.gatewayAPI.enabled
.Values.gatewayAPI.core.backendTLSConfig.enabled
.Values.service.enabled
-}}
true
{{- else -}}
false
{{- end -}}
{{- end }}
{{/* labels */}}
{{- define "reposilite.backendTLSConfig.labels" -}}
{{ include "reposilite.labels" . }}
{{- if .Values.gatewayAPI.core.backendTLSConfig.labels }}
{{ toYaml .Values.gatewayAPI.core.backendTLSConfig.labels }}
{{- end }}
{{- end }}
+25
View File
@@ -0,0 +1,25 @@
{{- if eq (include "reposilite.backendTLSConfig.enabled" $) "true" }}
---
apiVersion: gateway.networking.k8s.io/v1
kind: BackendTLSPolicy
metadata:
{{- with (include "reposilite.backendTLSConfig.annotations" . | fromYaml) }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with (include "reposilite.backendTLSConfig.labels" . | fromYaml) }}
labels:
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ include "reposilite.fullname" . }}
namespace: {{ .Release.Namespace }}
spec:
targetRefs:
- group: ""
kind: Service
name: {{ include "reposilite.service.name" . }}
{{- with .Values.gatewayAPI.core.backendTLSConfig.validation }}
validation:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end -}}
@@ -0,0 +1,111 @@
chart:
appVersion: 0.1.0
version: 0.1.0
suite: BackendTLSConfig template
release:
name: reposilite-unittest
namespace: testing
templates:
- templates/backendTLSConfig.yaml
tests:
- it: Skip rendering when disabled 1/6
set:
gatewayAPI.enabled: false
gatewayAPI.core.backendTLSConfig.enabled: false
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 2/6
set:
gatewayAPI.enabled: true
gatewayAPI.core.backendTLSConfig.enabled: false
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 3/6
set:
gatewayAPI.enabled: false
gatewayAPI.core.backendTLSConfig.enabled: true
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 4/6
set:
gatewayAPI.enabled: false
gatewayAPI.core.backendTLSConfig.enabled: false
service.enabled: true
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 5/6
set:
gatewayAPI.enabled: true
gatewayAPI.core.backendTLSConfig.enabled: false
service.enabled: true
asserts:
- hasDocuments:
count: 0
- it: Skip rendering when disabled 6/6
set:
gatewayAPI.enabled: true
gatewayAPI.core.backendTLSConfig.enabled: true
service.enabled: false
asserts:
- hasDocuments:
count: 0
- it: Render default values
set:
gatewayAPI.enabled: true
gatewayAPI.core.backendTLSConfig.enabled: true
# gatewayAPI.core.backendTLSConfig.validation:
# caCertificateRefs:
# - group: ""
# kind: Secret
# name: reposilite-ca
# hostname: reposilite.svc.cluster.local
service.enabled: true
asserts:
- hasDocuments:
count: 1
- containsDocument:
apiVersion: gateway.networking.k8s.io/v1
kind: BackendTLSPolicy
name: reposilite-unittest
namespace: testing
- contains:
path: spec.targetRefs
content:
group: ""
kind: Service
name: reposilite-unittest
- notExists:
path: spec.validation.caCertificateRefs
- it: Render with custom validation
set:
gatewayAPI.enabled: true
gatewayAPI.core.backendTLSConfig.enabled: true
gatewayAPI.core.backendTLSConfig.validation:
caCertificateRefs:
- group: ""
kind: Secret
name: reposilite-ca
hostname: reposilite.svc.cluster.local
service.enabled: true
asserts:
- isSubset:
path: spec.validation
content:
caCertificateRefs:
- group: ""
kind: Secret
name: reposilite-ca