## Description
Exposes a value under the `persistence` key to allow the PV name to be
overridden. This was requested by a customer that does multiple deploys
of Appsmith per cluster in different namespaces with the same Helm
release name. Since PV's are not namespaced, the deploy was failing.
Fixes #`Issue Number`
_or_
Fixes `Issue URL`
> [!WARNING]
> _If no issue exists, please create an issue first, and check with the
maintainers if the issue is valid._
## Automation
/ok-to-test tags=""
### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results -->
> [!WARNING]
> Tests have not run on the HEAD
8a0e2ba2354c9a6742ca5d1a31d87559408325ec yet
> <hr>Thu, 23 Jan 2025 14:35:55 UTC
<!-- end of auto-generated comment: Cypress test results -->
## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added ability to override Persistent Volume (PV) name in Helm chart.
- Enhanced configuration options for multi-namespace deployments.
- **Improvements**
- Introduced more flexible naming strategy for Persistent Volume
resources.
- Updated PersistentVolume and PersistentVolumeClaim resources to
utilize the new naming convention.
- Updated application version from 3.6.0 to 3.6.1.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
140 lines
3.7 KiB
Smarty
140 lines
3.7 KiB
Smarty
{{/*
|
|
Expand the name of the chart.
|
|
*/}}
|
|
{{- define "appsmith.name" -}}
|
|
{{- default .Chart.Name .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
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).
|
|
If release name contains chart name it will be used as a full name.
|
|
*/}}
|
|
{{- define "appsmith.fullname" -}}
|
|
{{- if .Values.fullnameOverride }}
|
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
|
{{- else }}
|
|
{{- $name := default .Chart.Name .Values.fullnameOverride }}
|
|
{{- 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 "appsmith.chart" -}}
|
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Common labels
|
|
*/}}
|
|
{{- define "appsmith.labels" -}}
|
|
appsmith.sh/chart: {{ include "appsmith.chart" . }}
|
|
{{ include "appsmith.selectorLabels" . }}
|
|
{{- if .Chart.AppVersion }}
|
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
{{- end }}
|
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Selector labels
|
|
*/}}
|
|
{{- define "appsmith.selectorLabels" -}}
|
|
app.kubernetes.io/name: {{ include "appsmith.name" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Create the name of the service account to use
|
|
*/}}
|
|
{{- define "appsmith.serviceAccountName" -}}
|
|
{{- if .Values.serviceAccount.create }}
|
|
{{- default (include "appsmith.fullname" .) .Values.serviceAccount.name }}
|
|
{{- else }}
|
|
{{- default "default" .Values.serviceAccount.name }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Allow the release namespace to be overridden for multi-namespace deployments in combined charts.
|
|
*/}}
|
|
{{- define "appsmith.namespace" -}}
|
|
{{- if .Values.global -}}
|
|
{{- if .Values.global.namespaceOverride }}
|
|
{{- .Values.global.namespaceOverride -}}
|
|
{{- else -}}
|
|
{{- .Release.Namespace -}}
|
|
{{- end -}}
|
|
{{- else -}}
|
|
{{- .Release.Namespace -}}
|
|
{{- end }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Kubernetes standard labels
|
|
*/}}
|
|
{{- define "labels.standard" -}}
|
|
app.kubernetes.io/name: {{ include "names.name" . }}
|
|
helm.sh/chart: {{ include "names.chart" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Expand the name of the chart.
|
|
*/}}
|
|
{{- define "names.name" -}}
|
|
{{- default .Chart.Name .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Create chart name and version as used by the chart label.
|
|
*/}}
|
|
{{- define "names.chart" -}}
|
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Return the proper Storage Class
|
|
*/}}
|
|
{{- define "storage.class" -}}
|
|
|
|
{{- $storageClass := .persistence.storageClass -}}
|
|
{{- if .global -}}
|
|
{{- if .global.storageClass -}}
|
|
{{- $storageClass = .global.storageClass -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- if $storageClass -}}
|
|
{{- if (eq "-" $storageClass) -}}
|
|
{{- printf "storageClassName: \"\"" -}}
|
|
{{- else }}
|
|
{{- printf "storageClassName: %s" $storageClass -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- end -}}
|
|
{{/*
|
|
Get the PV name, using override if specified
|
|
*/}}
|
|
{{- define "appsmith.pvName" -}}
|
|
{{- .Values.persistence.pvNameOverride | default (include "appsmith.fullname" .) -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Renders a value that contains template.
|
|
*/}}
|
|
{{- define "tplvalues.render" -}}
|
|
{{- if typeIs "string" .value }}
|
|
{{- tpl .value .context }}
|
|
{{- else }}
|
|
{{- tpl (.value | toYaml) .context }}
|
|
{{- end }}
|
|
{{- end -}} |