style(cozy-lib-tls): fix comment formatting and add secretName helper validation

Add missing space in renewBefore parameter description and add fail guards
for missing Release and suffix in the cozy-lib.tls.secretName helper.

Signed-off-by: Arsolitt <arsolitt@gmail.com>
This commit is contained in:
Arsolitt 2026-04-24 15:43:23 +03:00
parent 6dca3f52b6
commit cdc0e21831
No known key found for this signature in database
GPG key ID: 4D8302CE6A9247C4
5 changed files with 63 additions and 1 deletions

View file

@ -22,7 +22,7 @@ Parameters:
- dnsNames (required) - list of DNS SANs
- issuerRef (required) - dict with "name" and "kind" (e.g. ClusterIssuer, Issuer)
- duration (optional) - certificate duration, defaults to 8760h (1 year); empty strings are treated as unset
- renewBefore(optional) - renewal window, defaults to 720h (30 days)
- renewBefore (optional) - renewal window, defaults to 720h (30 days)
- usages (optional) - list of key usages, defaults to ["server auth"] (not cert-manager's default of "digital signature, key encipherment"; this is a deliberate choice for TLS server certificates)
*/}}
{{- define "cozy-lib.tls.certificate" -}}
@ -96,6 +96,12 @@ Parameters:
- secretName (optional) - user-provided secret name; if set, returned as-is
*/}}
{{- define "cozy-lib.tls.secretName" -}}
{{- if not .Release -}}
{{- fail "ERROR: \"Release\" is required for cozy-lib.tls.secretName. Pass the Helm release object via the context dict." -}}
{{- end -}}
{{- if not .suffix -}}
{{- fail "ERROR: \"suffix\" is required for cozy-lib.tls.secretName. Provide a suffix for the generated secret name (e.g. \"tls\", \"server-tls\")." -}}
{{- end -}}
{{- if not (empty .secretName) -}}
{{- .secretName -}}
{{- else -}}

View file

@ -0,0 +1,11 @@
{{/*
Test-only template: calls cozy-lib.tls.secretName without Release
to verify the validation guard triggers.
*/}}
{{- $secretName := include "cozy-lib.tls.secretName" (dict "suffix" "tls" "secretName" .Values.tlsSecretName) -}}
apiVersion: v1
kind: ConfigMap
metadata:
name: test-secretname-missing-release
data:
secretName: {{ $secretName | quote }}

View file

@ -0,0 +1,11 @@
{{/*
Test-only template: calls cozy-lib.tls.secretName without suffix
to verify the validation guard triggers.
*/}}
{{- $secretName := include "cozy-lib.tls.secretName" (dict "Release" .Release "secretName" .Values.tlsSecretName) -}}
apiVersion: v1
kind: ConfigMap
metadata:
name: test-secretname-missing-suffix
data:
secretName: {{ $secretName | quote }}

View file

@ -0,0 +1,17 @@
suite: TLS secretName helper - Release validation
templates:
- templates/tests/tls-secretname-missing-release.yaml
tests:
- it: errors when Release is not provided
release:
name: my-app
namespace: tenant-test
set:
_cluster: {}
_namespace: {}
tlsSecretName: my-custom-tls-secret
asserts:
- failedTemplate:
errorMessage: 'ERROR: "Release" is required for cozy-lib.tls.secretName. Pass the Helm release object via the context dict.'

View file

@ -0,0 +1,17 @@
suite: TLS secretName helper - suffix validation
templates:
- templates/tests/tls-secretname-missing-suffix.yaml
tests:
- it: errors when suffix is not provided
release:
name: my-app
namespace: tenant-test
set:
_cluster: {}
_namespace: {}
tlsSecretName: ""
asserts:
- failedTemplate:
errorMessage: 'ERROR: "suffix" is required for cozy-lib.tls.secretName. Provide a suffix for the generated secret name (e.g. "tls", "server-tls").'