165 lines
4.8 KiB
Smarty
165 lines
4.8 KiB
Smarty
{{/*
|
|
Copyright VMware, Inc.
|
|
SPDX-License-Identifier: APACHE-2.0
|
|
*/}}
|
|
|
|
{{/* vim: set filetype=mustache: */}}
|
|
|
|
{{/*
|
|
Create a default fully qualified app name.
|
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
|
*/}}
|
|
{{- define "ghost.mysql.fullname" -}}
|
|
{{- printf "%s-%s" .Release.Name "mysql" | trunc 63 | trimSuffix "-" -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the proper Ghost image name
|
|
*/}}
|
|
{{- define "ghost.image" -}}
|
|
{{ include "common.images.image" (dict "imageRoot" .Values.image "global" .Values.global) }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the proper image name to change the volume permissions
|
|
*/}}
|
|
{{- define "ghost.volumePermissions.image" -}}
|
|
{{ include "common.images.image" (dict "imageRoot" .Values.volumePermissions.image "global" .Values.global) }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the proper Docker Image Registry Secret Names
|
|
*/}}
|
|
{{- define "ghost.imagePullSecrets" -}}
|
|
{{ include "common.images.pullSecrets" (dict "images" (list .Values.image .Values.volumePermissions.image) "global" .Values.global) }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Create the name of the service account to use
|
|
*/}}
|
|
{{- define "ghost.serviceAccountName" -}}
|
|
{{- if .Values.serviceAccount.create -}}
|
|
{{ default (include "common.names.fullname" .) .Values.serviceAccount.name }}
|
|
{{- else -}}
|
|
{{ default "default" .Values.serviceAccount.name }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Get the user defined LoadBalancerIP for this release.
|
|
Note, returns 127.0.0.1 if using ClusterIP.
|
|
*/}}
|
|
{{- define "ghost.serviceIP" -}}
|
|
{{- if eq .Values.service.type "ClusterIP" -}}
|
|
127.0.0.1
|
|
{{- else -}}
|
|
{{- .Values.service.loadBalancerIP | default "" -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Gets the host to be used for this application.
|
|
If not using ClusterIP, or if a host or LoadBalancerIP is not defined, the value will be empty.
|
|
*/}}
|
|
{{- define "ghost.host" -}}
|
|
{{- if .Values.ingress.enabled }}
|
|
{{- printf "%s%s" .Values.ingress.hostname .Values.ingress.path | default "" -}}
|
|
{{- else if .Values.ghostHost -}}
|
|
{{- printf "%s%s" .Values.ghostHost .Values.ghostPath | default "" -}}
|
|
{{- else -}}
|
|
{{- include "ghost.serviceIP" . -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the MySQL Hostname
|
|
*/}}
|
|
{{- define "ghost.databaseHost" -}}
|
|
{{- if .Values.mysql.enabled }}
|
|
{{- if eq .Values.mysql.architecture "replication" }}
|
|
{{- printf "%s-%s" (include "ghost.mysql.fullname" .) "primary" | trunc 63 | trimSuffix "-" -}}
|
|
{{- else -}}
|
|
{{- printf "%s" (include "ghost.mysql.fullname" .) -}}
|
|
{{- end -}}
|
|
{{- else -}}
|
|
{{- printf "%s" .Values.externalDatabase.host -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the MySQL Port
|
|
*/}}
|
|
{{- define "ghost.databasePort" -}}
|
|
{{- if .Values.mysql.enabled }}
|
|
{{- printf "3306" -}}
|
|
{{- else -}}
|
|
{{- printf "%d" (.Values.externalDatabase.port | int ) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the MySQL Database Name
|
|
*/}}
|
|
{{- define "ghost.databaseName" -}}
|
|
{{- if .Values.mysql.enabled }}
|
|
{{- printf "%s" .Values.mysql.auth.database -}}
|
|
{{- else -}}
|
|
{{- printf "%s" .Values.externalDatabase.database -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the MySQL User
|
|
*/}}
|
|
{{- define "ghost.databaseUser" -}}
|
|
{{- if .Values.mysql.enabled }}
|
|
{{- printf "%s" .Values.mysql.auth.username -}}
|
|
{{- else -}}
|
|
{{- printf "%s" .Values.externalDatabase.user -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the MySQL Secret Name
|
|
*/}}
|
|
{{- define "ghost.databaseSecretName" -}}
|
|
{{- if .Values.mysql.enabled }}
|
|
{{- if .Values.mysql.auth.existingSecret -}}
|
|
{{- printf "%s" .Values.mysql.auth.existingSecret -}}
|
|
{{- else -}}
|
|
{{- printf "%s" (include "ghost.mysql.fullname" .) -}}
|
|
{{- end -}}
|
|
{{- else if .Values.externalDatabase.existingSecret -}}
|
|
{{- printf "%s" .Values.externalDatabase.existingSecret -}}
|
|
{{- else -}}
|
|
{{- printf "%s-externaldb" (include "common.names.fullname" .) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Compile all warnings into a single message.
|
|
*/}}
|
|
{{- define "ghost.validateValues" -}}
|
|
{{- $messages := list -}}
|
|
{{- $messages := append $messages (include "ghost.validateValues.database" .) -}}
|
|
{{- $messages := without $messages "" -}}
|
|
{{- $message := join "\n" $messages -}}
|
|
{{- if $message -}}
|
|
{{- printf "\nVALUES VALIDATION:\n%s" $message | fail -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/* Validate values of Ghost - Database */}}
|
|
{{- define "ghost.validateValues.database" -}}
|
|
{{- if and (not .Values.mysql.enabled) (or (empty .Values.externalDatabase.host) (empty .Values.externalDatabase.port) (empty .Values.externalDatabase.database)) -}}
|
|
ghost: database
|
|
You disable the MySQL installation but you did not provide the required parameters
|
|
to use an external database. To use an external database, please ensure you provide
|
|
(at least) the following values:
|
|
|
|
externalDatabase.host=DB_SERVER_HOST
|
|
externalDatabase.database=DB_NAME
|
|
externalDatabase.port=DB_SERVER_PORT
|
|
{{- end -}}
|
|
{{- end -}}
|