9937ee457d
- Add helm/kubectl binaries and chart directory to backend Dockerfile - Extend Helm templates for MongoDB/MariaDB database support (env vars, probes, ports) - Add Redis and RabbitMQ Helm templates (deployment, service, secret, PVC) - Add generic app-storage PVC and Fluent Bit sidecar with ES authentication - Fix imagePullSecrets in K8s API fallback, prevent secret regeneration on redeploy - Clean up Redis/RabbitMQ/FluentBit resources on app deletion without removing shared secrets - Fix HelmService chartPath resolution for production Docker builds Co-authored-by: Cursor <cursoragent@cursor.com>
114 lines
3.0 KiB
Smarty
114 lines
3.0 KiB
Smarty
{{/*
|
|
CloudHost App — template helpers
|
|
*/}}
|
|
|
|
{{/*
|
|
Expand the name of the chart.
|
|
*/}}
|
|
{{- define "cloudhost-app.name" -}}
|
|
{{- .Values.app.name | trunc 63 | trimSuffix "-" }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Namespace for the release.
|
|
*/}}
|
|
{{- define "cloudhost-app.namespace" -}}
|
|
{{- .Values.app.namespace }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Common labels
|
|
*/}}
|
|
{{- define "cloudhost-app.labels" -}}
|
|
app: {{ include "cloudhost-app.name" . }}
|
|
app.kubernetes.io/managed-by: cloudhost-helm
|
|
runtime: {{ .Values.app.runtime }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Selector labels
|
|
*/}}
|
|
{{- define "cloudhost-app.selectorLabels" -}}
|
|
app: {{ include "cloudhost-app.name" . }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Database name (app name with dashes replaced by underscores)
|
|
*/}}
|
|
{{- define "cloudhost-app.dbName" -}}
|
|
{{- .Values.app.name | replace "-" "_" }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Database deployment name
|
|
*/}}
|
|
{{- define "cloudhost-app.dbDeploymentName" -}}
|
|
{{- printf "%s-db" .Values.app.name }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Database image — auto-computed from type + version if not explicitly set
|
|
*/}}
|
|
{{- define "cloudhost-app.dbImage" -}}
|
|
{{- if .Values.database.image }}
|
|
{{- .Values.database.image }}
|
|
{{- else if eq .Values.database.type "postgresql" }}
|
|
{{- printf "postgres:%s-alpine" .Values.database.version }}
|
|
{{- else if eq .Values.database.type "mariadb" }}
|
|
{{- printf "mariadb:%s" .Values.database.version }}
|
|
{{- else if eq .Values.database.type "mongodb" }}
|
|
{{- printf "mongo:%s" .Values.database.version }}
|
|
{{- else }}
|
|
{{- printf "mysql:%s" .Values.database.version }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Database port
|
|
*/}}
|
|
{{- define "cloudhost-app.dbPort" -}}
|
|
{{- if eq .Values.database.type "postgresql" }}5432
|
|
{{- else if eq .Values.database.type "mongodb" }}27017
|
|
{{- else }}3306
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Database data mount path (volume mount target)
|
|
*/}}
|
|
{{- define "cloudhost-app.dbDataPath" -}}
|
|
{{- if eq .Values.database.type "postgresql" }}/var/lib/postgresql/data
|
|
{{- else if eq .Values.database.type "mongodb" }}/data/db
|
|
{{- else }}/var/lib/mysql
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
PostgreSQL PGDATA path — must be a subdirectory of the mount to avoid "initdb: directory not empty" errors
|
|
*/}}
|
|
{{- define "cloudhost-app.pgDataDir" -}}
|
|
/var/lib/postgresql/data/pgdata
|
|
{{- end }}
|
|
|
|
{{/*
|
|
App storage mount path based on runtime
|
|
*/}}
|
|
{{- define "cloudhost-app.storageMountPath" -}}
|
|
{{- if eq .Values.app.runtime "wordpress" }}/var/www/html/wp-content
|
|
{{- else if or (eq .Values.app.runtime "laravel") (eq .Values.app.runtime "php") }}/var/www/html/storage
|
|
{{- else if eq .Values.app.runtime "django" }}/app/media
|
|
{{- else }}/app/data
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Default log paths based on runtime
|
|
*/}}
|
|
{{- define "cloudhost-app.defaultLogPaths" -}}
|
|
{{- if eq .Values.app.runtime "wordpress" }}/var/www/html/wp-content/debug.log,/var/log/app/*.log
|
|
{{- else if eq .Values.app.runtime "laravel" }}/var/www/html/storage/logs/*.log,/var/log/app/*.log
|
|
{{- else if or (eq .Values.app.runtime "php") }}/var/www/html/storage/logs/*.log,/var/log/php/*.log,/var/log/app/*.log
|
|
{{- else }}/var/log/app/*.log
|
|
{{- end }}
|
|
{{- end }}
|