mirror of
https://github.com/shankar0123/certctl.git
synced 2026-06-10 17:48:52 +00:00
ec21c9bb29
M28: ACME Renewal Information (RFC 9702) — CA-directed renewal timing with cert ID computation, directory endpoint discovery, graceful degradation for non-ARI CAs. 19 tests. M29: Email notifier wiring + scheduled certificate digest — SMTP connector bridged to service layer via NotifierAdapter, DigestService with HTML email template, 7th scheduler loop (24h), digest preview/send API endpoints and GUI card. 21 tests. M30: Production-ready Helm chart — server Deployment, PostgreSQL StatefulSet, agent DaemonSet, ConfigMaps, Secrets, Ingress, security contexts, health probes, example values for dev/prod/ACME scenarios. Also: OpenAPI spec updates, MCP tool additions, CI helm-lint job, documentation updates across 5 doc files and README. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
126 lines
3.1 KiB
Smarty
126 lines
3.1 KiB
Smarty
{{/*
|
|
Expand the name of the chart.
|
|
*/}}
|
|
{{- define "certctl.name" -}}
|
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Create a default fully qualified app name.
|
|
*/}}
|
|
{{- define "certctl.fullname" -}}
|
|
{{- if .Values.fullnameOverride }}
|
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
|
{{- else }}
|
|
{{- $name := default .Chart.Name .Values.nameOverride }}
|
|
{{- if contains $name .Release.Name }}
|
|
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
|
{{- else }}
|
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Create chart name and version as used by the chart label.
|
|
*/}}
|
|
{{- define "certctl.chart" -}}
|
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Common labels
|
|
*/}}
|
|
{{- define "certctl.labels" -}}
|
|
helm.sh/chart: {{ include "certctl.chart" . }}
|
|
{{ include "certctl.selectorLabels" . }}
|
|
{{- if .Chart.AppVersion }}
|
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
{{- end }}
|
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
{{- with .Values.commonLabels }}
|
|
{{ toYaml . }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Selector labels for the main service (server, agent, postgres)
|
|
*/}}
|
|
{{- define "certctl.selectorLabels" -}}
|
|
app.kubernetes.io/name: {{ include "certctl.name" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Server selector labels
|
|
*/}}
|
|
{{- define "certctl.serverSelectorLabels" -}}
|
|
{{ include "certctl.selectorLabels" . }}
|
|
app.kubernetes.io/component: server
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Agent selector labels
|
|
*/}}
|
|
{{- define "certctl.agentSelectorLabels" -}}
|
|
{{ include "certctl.selectorLabels" . }}
|
|
app.kubernetes.io/component: agent
|
|
{{- end }}
|
|
|
|
{{/*
|
|
PostgreSQL selector labels
|
|
*/}}
|
|
{{- define "certctl.postgresSelectorLabels" -}}
|
|
{{ include "certctl.selectorLabels" . }}
|
|
app.kubernetes.io/component: postgres
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Service account name
|
|
*/}}
|
|
{{- define "certctl.serviceAccountName" -}}
|
|
{{- if .Values.serviceAccount.create }}
|
|
{{- default (include "certctl.fullname" .) .Values.serviceAccount.name }}
|
|
{{- else }}
|
|
{{- default "default" .Values.serviceAccount.name }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Server image
|
|
*/}}
|
|
{{- define "certctl.serverImage" -}}
|
|
{{- $image := .Values.server.image }}
|
|
{{- printf "%s:%s" $image.repository (coalesce $image.tag .Chart.AppVersion) }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Agent image
|
|
*/}}
|
|
{{- define "certctl.agentImage" -}}
|
|
{{- $image := .Values.agent.image }}
|
|
{{- printf "%s:%s" $image.repository (coalesce $image.tag .Chart.AppVersion) }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
PostgreSQL image
|
|
*/}}
|
|
{{- define "certctl.postgresImage" -}}
|
|
{{- $image := .Values.postgresql.image }}
|
|
{{- printf "%s:%s" $image.repository $image.tag }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Database connection string
|
|
*/}}
|
|
{{- define "certctl.databaseURL" -}}
|
|
postgres://{{ .Values.postgresql.auth.username }}:$(POSTGRES_PASSWORD)@{{ include "certctl.fullname" . }}-postgres:5432/{{ .Values.postgresql.auth.database }}?sslmode=disable
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Server URL (for agents)
|
|
*/}}
|
|
{{- define "certctl.serverURL" -}}
|
|
http://{{ include "certctl.fullname" . }}-server:{{ .Values.server.service.port }}
|
|
{{- end }}
|