chore: Minor improvement for Helm, remove dependency & namespace (#9928)

This commit is contained in:
geekup-legodevops 2021-12-28 14:20:37 +07:00 committed by GitHub
parent 8c6bae6f71
commit 269e3a786d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 228 additions and 65 deletions

View File

@ -1,6 +0,0 @@
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
version: 0.3.1
digest: sha256:a6d6b7927942884d4abd2291b1561b6c86db71aedeb08b33ccd5a4228a776257
generated: "2021-09-09T10:54:25.247689+07:00"

View File

@ -4,17 +4,12 @@ apiVersion: v2
appVersion: "1.16.0" appVersion: "1.16.0"
name: appsmith name: appsmith
type: application type: application
dependencies:
# This dependency is used to render common declaration (tplvalues.render, storage.class, labels.standard)
# in Deployment, PVC, Service, ServiceAccount and TLS-Secret template
- name: common
version: 0.3.1
repository: https://charts.bitnami.com/bitnami
description: Appsmith is an open source framework to build admin panels, CRUD apps and workflows. Build everything you need, 10x faster. description: Appsmith is an open source framework to build admin panels, CRUD apps and workflows. Build everything you need, 10x faster.
maintainer: maintainers:
- email: tech@appsmith.com - email: tech@appsmith.com
name: Appsmith name: Appsmith
sources: sources:
- https://github.com/appsmithorg/appsmith - https://github.com/appsmithorg/appsmith
- https://www.appsmith.com/ home: https://www.appsmith.com/
version: 1.4.0 icon: https://assets.appsmith.com/appsmith-icon.png
version: 1.4.1

View File

@ -0,0 +1,116 @@
## Prerequisites
- Helm V3: [Install Helm V3](https://helm.sh/docs/intro/install/)
- AWS CLI: [Install AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
- AWS CLI Configure: [Configure AWS credential](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)
## Initialize, Package and publish charts in the Amazon S3 Helm repository
* Create S3 bucket for Helm chart (naming as `helm.appsmith.com` \- Hosting S3 as Static web requires bucket name be the same with the domain\)
* Clone your Helm charts (ignore if already have Appsmith repo on machine)
* Package the local Helm chart
```
helm package ./deploy/helm
```
* Store the local package in the Amazon S3 Helm repository
```
aws s3 cp ./appsmith-1.4.1.tgz s3://helm.appsmith.com/
```
* Initialize the Amazon S3 Helm repository
```
helm repo index --url https://helm.appsmith.com
```
* Upload `index.yaml` to S3 bucket
```
aws s3 cp ./index.yaml s3://helm.appsmith.com
```
* Verify the newly created Helm repository by checking that the `index.yml` file was created in the S3 bucket
```
aws s3 ls s3://helm.appsmith.com
```
## Search for and install a chart from the Amazon S3 Helm repository
* Add Helm repo with S3 bucket URL (or Helm URL `https://helm.appsmith.com`)
```
helm repo add appsmith http://helm.appsmith.com
```
* Search for all versions of the my-app chart. Run following command to search all available version of Helm chart
```
helm search repo appsmith --versions
```
* Install a chart from the Amazon S3 Helm repository
```
helm install appsmith appsmith/appsmith --version 1.4.1
```
## Upgrade your Helm repository (If need)
* Modify the chart
* Package Helm chart
```
helm package ./deploy/helm
```
* Push the new version to the Helm repository in Amazon S3
```
aws s3 cp ./appsmith-1.4.1.tgz s3://helm.appsmith.com
```
* Create index file
```
helm repo index --url http://helm.appsmith.com
```
* Push new `index.yaml` file into S3 bucket
```
aws s3 cp ./index.yaml s3://helm.appsmith.com
```
* Verify the updated Helm chart
```
helm repo update
helm search repo appsmith
```
## Install Appsmith Helm Chart Using Helm URL
* Add Helm repo
```
helm repo add appsmith http://helm.appsmith.com
```
* Update Helm repo
```
helm repo update
```
* Install Helm chart
```
helm install appsmith appsmith/appsmith
```

View File

@ -8,11 +8,11 @@ API Support: CURL importer for REST APIs Database Support: PostgreSQL, MongoDB,
## TL;DR ## TL;DR
--- ---
``` ```
helm repo add appsmith https://appsmithorg.github.io/appsmith helm repo add stable-appsmith http://helm.appsmith.com
helm repo update helm repo update
helm install appsmith/appsmith --generate-name helm install stable-appsmith/appsmith --generate-name
``` ```
## Introduction ## Introduction
@ -23,17 +23,17 @@ This chart bootstrap an [Appsmith](https://github.com/appsmithorg/appsmith) depl
--- ---
* Install Helm package manager: [https://helm.sh/docs/intro/install/](https://helm.sh/docs/intro/install/) * Install Helm package manager: [https://helm.sh/docs/intro/install/](https://helm.sh/docs/intro/install/)
* Ensure `kubectl` is installed and configured to connect to your cluster * Ensure `kubectl` is installed and configured to connect to your cluster
* Install kubeclt: [kubernetes.io/vi/docs/tasks/tools/install-kubectl/](https://kubernetes.io/vi/docs/tasks/tools/install-kubectl/) * Install kubectl: [kubernetes.io/vi/docs/tasks/tools/install-kubectl/](https://kubernetes.io/vi/docs/tasks/tools/install-kubectl/)
* Minikube: [Setup Kubectl](https://minikube.sigs.k8s.io/docs/handbook/kubectl/) * Minikube: [Setup Kubectl](https://minikube.sigs.k8s.io/docs/handbook/kubectl/)
* Google Cloud Kubernetes: [Configuring cluster access for kubectl](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl) * Google Cloud Kubernetes: [Configuring cluster access for kubectl](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl)
* Aws EKS: [Create a kubeconfig for Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html) * Aws EKS: [Create a kubeconfig for Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html)
* Microk8s: [Working with kubectl](https://microk8s.io/docs/working-with-kubectl) * Microk8s: [Working with kubectl](https://microk8s.io/docs/working-with-kubectl)
* Ensure you have a default storage class running on your cluster. Please follow one of below guideline to enable your default storage class in case of no existing one * Ensure you have a default storage class running on your cluster. Please follow one of below guideline to enable your default storage class in case of no existing one
* Minikube: [Enable addon default-storageclass](https://kubernetes.io/docs/tutorials/hello-minikube/#enable-addons) * Minikube: [Enable addon default-storageclass](https://kubernetes.io/docs/tutorials/hello-minikube/#enable-addons)
* Google Cloud Kubernetes: [Setting up default storage class on GKE](https://cloud.google.com/anthos/clusters/docs/on-prem/1.3/how-to/default-storage-class) * Google Cloud Kubernetes: [Setting up default storage class on GKE](https://cloud.google.com/anthos/clusters/docs/on-prem/1.3/how-to/default-storage-class)
* AWS EKS: [Create default storage class](https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.html) * AWS EKS: [Create default storage class](https://docs.aws.amazon.com/eks/latest/userguide/storage-classes.html)
* Microk8s: [Enable storage](https://microk8s.io/docs/command-reference#heading--microk8s-enable) * Microk8s: [Enable storage](https://microk8s.io/docs/command-reference#heading--microk8s-enable)
* Kubernetes NGINX Ingress Controller should be enable on your cluster by default. Please make sure that you install the right version for your cluster * Kubernetes NGINX Ingress Controller should be enable on your cluster by default. Please make sure that you install the right version for your cluster
* Minikube: [Set up Ingress on Minikube with the NGINX Ingress Controller](https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/) * Minikube: [Set up Ingress on Minikube with the NGINX Ingress Controller](https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/)
* Google Cloud Kubernetes: [Ingress with NGINX controller on Google Kubernetes Engine](https://kubernetes.github.io/ingress-nginx/deploy/) * Google Cloud Kubernetes: [Ingress with NGINX controller on Google Kubernetes Engine](https://kubernetes.github.io/ingress-nginx/deploy/)
@ -43,7 +43,7 @@ This chart bootstrap an [Appsmith](https://github.com/appsmithorg/appsmith) depl
--- ---
To install the chart with the release `appsmith` To install the chart with the release `appsmith`
``` ```
helm install appsmith/appsmith --generate-name helm install stable-appsmith/appsmith --generate-name
``` ```
The command deploys Appsmith application on Kubernetes cluster in the default configuration. The [Parameters](https://github.com/appsmithorg/appsmith/tree/release/deploy/helm#paramters) section lists the parameters that can be configured during installation. The command deploys Appsmith application on Kubernetes cluster in the default configuration. The [Parameters](https://github.com/appsmithorg/appsmith/tree/release/deploy/helm#paramters) section lists the parameters that can be configured during installation.
## Uninstalling the Chart ## Uninstalling the Chart
@ -69,7 +69,7 @@ The command uninstalls the release and removes all Kubernetes resources associat
### Common parameters ### Common parameters
| Name | Description | Value | | Name | Description | Value |
| ------------------- | ------------------------------------------------- | ------------- | | ------------------- | ------------------------------------------------- | ------------- |
| `fullnameOverride` | String to fully override `appsmith.name` template | `""` | | `fullnameOverride` | String to fully override `appsmith.name` template | `""` |
| `containerName` | Specify container's name running in the pods | `"appsmith"` | | `containerName` | Specify container's name running in the pods | `"appsmith"` |
| `commonLabels` | Labels to add to all deployed objects | `{}` | | `commonLabels` | Labels to add to all deployed objects | `{}` |
| `commonAnnotations` | Annotations to add to all deployed objects | `{}` | | `commonAnnotations` | Annotations to add to all deployed objects | `{}` |
@ -98,9 +98,9 @@ The command uninstalls the release and removes all Kubernetes resources associat
### Appsmith namespace parameters ### Appsmith namespace parameters
| Name | Description | Value | | Name | Description | Value |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------- | ------- | | ----------------- | ------------------------------------------------------------------------------------- | ------- |
| `namespace.create` | Enable creation of `Namespace` | `true` | | `namespace.create`| Enable creation of `Namespace` | `true` |
### Appsmith service account parameters ### Appsmith service account parameters
| Name | Description | Value | | Name | Description | Value |
@ -115,6 +115,7 @@ The command uninstalls the release and removes all Kubernetes resources associat
| `service.type` | Appsmith service type | `ClusterIP` | | `service.type` | Appsmith service type | `ClusterIP` |
| `service.port` | Appsmith service port | `80` | | `service.port` | Appsmith service port | `80` |
| `service.portName` | Appsmith service port name | `appsmith` | | `service.portName` | Appsmith service port name | `appsmith` |
| `service.nodePort` | Appsmith service node port to expose to expose | `8000` |
| `service.clusterIP` | Appsmith service Cluster | `""` | | `service.clusterIP` | Appsmith service Cluster | `""` |
| `service.loadBalancerIP` | Appsmith service Load Balancer IP | `""` | | `service.loadBalancerIP` | Appsmith service Load Balancer IP | `""` |
| `service.loadBalancerSourceRanges` | Appsmith service Load Balancer sources | `[]` | | `service.loadBalancerSourceRanges` | Appsmith service Load Balancer sources | `[]` |
@ -125,12 +126,14 @@ The command uninstalls the release and removes all Kubernetes resources associat
| `ingress.secrets` | Custom TLS certificates as secrets | `[]` | | `ingress.secrets` | Custom TLS certificates as secrets | `[]` |
| `ingress.certManager` | Enable ingress to use TLS certificates provided by Cert Manager | `false` | | `ingress.certManager` | Enable ingress to use TLS certificates provided by Cert Manager | `false` |
| `ingress.certManagerTls` | Specify TLS secret resources created by Cert Manager | `[]` | | `ingress.certManagerTls` | Specify TLS secret resources created by Cert Manager | `[]` |
| `ingress.className` | Configure Ingress class that being used in ingress resource | `""` |
### Persistence parameters ### Persistence parameters
| Name | Description | Value | | Name | Description | Value |
| ----------------------------------- | --------------------------------------------------------------------- | ------------------- | | ----------------------------------- | --------------------------------------------------------------------- | ------------------- |
| `persistence.enabled` | Enable persistence using Persistent Volume Claims | `true` | | `persistence.enabled` | Enable persistence using Persistent Volume Claims | `true` |
| `persistence.storageClass` | Persistent Volume storage class | `""` | | `persistence.storageClass` | Persistent Volume storage class | `""` |
| `persistence.annotations` | Additional custom annotations for the PVC | `{}` |
| `persistence.localStorage` | Enable persistent volume using local storage | `false` | | `persistence.localStorage` | Enable persistent volume using local storage | `false` |
| `persistence.storagePath` | Local storage path | `/tmp/hostpath_pv` | | `persistence.storagePath` | Local storage path | `/tmp/hostpath_pv` |
| `persistence.localCluster` | Local running cluster to provide storage space | `[minikube]` | | `persistence.localCluster` | Local running cluster to provide storage space | `[minikube]` |
@ -154,15 +157,15 @@ The command uninstalls the release and removes all Kubernetes resources associat
Specify each parameter using `--set key=value[,key=value]` argument to helm install. For example: Specify each parameter using `--set key=value[,key=value]` argument to helm install. For example:
``` ```
helm install appsmith \ helm install \
--set persistence.storageClass=appsmith-pv \ --set persistence.storageClass=appsmith-pv \
deploy/helm stable-appsmith/appsmith --generate-name
``` ```
The above command deploys Appsmith application and configure application to use storage class name `appsmith-pv` The above command deploys Appsmith application and configure application to use storage class name `appsmith-pv`
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
``` ```
helm install -f values.yaml appsmith/appsmith --generate-name helm install -f values.yaml stable-appsmith/appsmith --generate-name
``` ```
*Tip: You can use the default [values.yaml](https://github.com/appsmithorg/appsmith/blob/release/deploy/helm/values.yaml)* *Tip: You can use the default [values.yaml](https://github.com/appsmithorg/appsmith/blob/release/deploy/helm/values.yaml)*

View File

@ -6,7 +6,7 @@
## Prerequisites ## Prerequisites
- You should have a Kubernetes cluster running with [Helm v3.x](https://helm.sh/docs/intro/install/) installed. - You should have a Kubernetes cluster running with [Helm v3.x](https://helm.sh/docs/intro/install/) installed.
- Ensure `kubectl` is installed and configured to connect to your cluster: - Ensure `kubectl` is installed and configured to connect to your cluster:
- Install kubeclt: [kubernetes.io/vi/docs/tasks/tools/install-kubectl/](https://kubernetes.io/vi/docs/tasks/tools/install-kubectl/) - Install kubeclt: [kubernetes.io/vi/docs/tasks/tools/install-kubectl/](https://kubernetes.io/vi/docs/tasks/tools/install-kubectl/)
- Google Cloud Kubernetes: [Configuring cluster access for kubectl](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl) - Google Cloud Kubernetes: [Configuring cluster access for kubectl](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl)
* Aws EKS: [Create a kubeconfig for Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html) * Aws EKS: [Create a kubeconfig for Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html)

View File

@ -2,7 +2,7 @@
Expand the name of the chart. Expand the name of the chart.
*/}} */}}
{{- define "appsmith.name" -}} {{- define "appsmith.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} {{- default .Chart.Name .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- end }} {{- end }}
{{/* {{/*
@ -14,7 +14,7 @@ If release name contains chart name it will be used as a full name.
{{- if .Values.fullnameOverride }} {{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }} {{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }} {{- $name := default .Chart.Name .Values.fullnameOverride }}
{{- if contains $name .Release.Name }} {{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }} {{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }} {{- else }}
@ -77,8 +77,58 @@ Allow the release namespace to be overridden for multi-namespace deployments in
{{- end -}} {{- end -}}
{{/* {{/*
Return the appropriate apiVersion for the object Kubernetes standard labels
*/}} */}}
{{- define "apiVersion" -}} {{- define "labels.standard" -}}
{{- default "storage.k8s.io/v1" .Values.apiVersion -}} 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 -}}
{{/*
Renders a value that contains template.
*/}}
{{- define "tplvalues.render" -}}
{{- if typeIs "string" .value }}
{{- tpl .value .context }}
{{- else }}
{{- tpl (.value | toYaml) .context }}
{{- end }}
{{- end -}} {{- end -}}

View File

@ -30,9 +30,10 @@ metadata:
namespace: {{ include "appsmith.namespace" . }} namespace: {{ include "appsmith.namespace" . }}
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: Role
metadata: metadata:
name: imago name: imago
namespace: {{ include "appsmith.namespace" . }}
rules: rules:
- apiGroups: - apiGroups:
- "" - ""
@ -64,12 +65,13 @@ rules:
- list - list
- update - update
--- ---
kind: ClusterRoleBinding kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: imago name: imago
namespace: {{ include "appsmith.namespace" . }}
roleRef: roleRef:
kind: ClusterRole kind: Role
name: imago name: imago
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
subjects: subjects:

View File

@ -91,7 +91,7 @@ spec:
- metadata: - metadata:
name: data name: data
{{- if .Values.persistence.annotations }} {{- if .Values.persistence.annotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.persistence.annotations "context" $) | nindent 10 }} annotations: {{- include "tplvalues.render" (dict "value" .Values.persistence.annotations "context" $) | nindent 10 }}
{{- end }} {{- end }}
spec: spec:
accessModes: accessModes:
@ -102,7 +102,7 @@ spec:
requests: requests:
storage: {{ .Values.persistence.size | quote }} storage: {{ .Values.persistence.size | quote }}
{{- if .Values.persistence.volumeClaimTemplates.selector }} {{- if .Values.persistence.volumeClaimTemplates.selector }}
selector: {{- include "common.tplvalues.render" (dict "value" .Values.persistence.volumeClaimTemplates.selector "context" $) | nindent 10 }} selector: {{- include "tplvalues.render" (dict "value" .Values.persistence.volumeClaimTemplates.selector "context" $) | nindent 10 }}
{{- end }} {{- end }}
{{ include "common.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) }} {{ include "storage.class" (dict "persistence" .Values.persistence "global" .Values.global) }}
{{- end }} {{- end }}

View File

@ -23,7 +23,7 @@ metadata:
annotations: annotations:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
{{- if .Values.ingress.certManager }} {{- if .Values.ingress.certManager }}
kubernetes.io/tls-acme: "true" kubernetes.io/tls-acme: "true"
{{- end }} {{- end }}
spec: spec:
@ -36,7 +36,7 @@ spec:
{{- end }} {{- end }}
secretName: {{ .secretName }} secretName: {{ .secretName }}
{{- end }} {{- end }}
{{- range .Values.ingress.certManagerTls }} {{- range .Values.ingress.certManagerTls }}
- hosts: - hosts:
{{- range .hosts }} {{- range .hosts }}
- {{ . | quote }} - {{ . | quote }}

View File

@ -1,6 +0,0 @@
{{- if .Values.namespace.create }}
apiVersion: v1
kind: Namespace
metadata:
name: {{ include "appsmith.namespace" . }}
{{- end }}

View File

@ -12,5 +12,5 @@ spec:
resources: resources:
requests: requests:
storage: {{ .Values.persistence.size | quote }} storage: {{ .Values.persistence.size | quote }}
{{ include "common.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) }} {{ include "storage.class" (dict "persistence" .Values.persistence "global" .Values.global) }}
{{- end }} {{- end }}

View File

@ -8,10 +8,10 @@ metadata:
{{- if or .Values.service.annotations .Values.commonAnnotations }} {{- if or .Values.service.annotations .Values.commonAnnotations }}
annotations: annotations:
{{- if .Values.service.annotations }} {{- if .Values.service.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.service.annotations "context" $) | nindent 4 }} {{- include "tplvalues.render" ( dict "value" .Values.service.annotations "context" $) | nindent 4 }}
{{- end }} {{- end }}
{{- if .Values.commonAnnotations }} {{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }} {{- end }}
{{- end }} {{- end }}
spec: spec:

View File

@ -11,7 +11,7 @@ metadata:
{{ toYaml .Values.serviceAccount.annotations | nindent 4 }} {{ toYaml .Values.serviceAccount.annotations | nindent 4 }}
{{- end }} {{- end }}
{{- if .Values.commonAnnotations }} {{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }} {{- end }}
{{- end }} {{- end }}
secrets: secrets:

View File

@ -1,5 +1,5 @@
{{- if and .Values.storageClass.enabled .Values.persistence.localStorage }} {{- if and .Values.storageClass.enabled .Values.persistence.localStorage }}
apiVersion: {{ template "apiVersion" }} apiVersion: storage.k8s.io/v1
kind: StorageClass kind: StorageClass
metadata: metadata:
name: {{ .Values.persistence.storageClass }} name: {{ .Values.persistence.storageClass }}
@ -7,7 +7,7 @@ provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer volumeBindingMode: WaitForFirstConsumer
--- ---
{{- else if .Values.storageClass.enabled }} {{- else if .Values.storageClass.enabled }}
apiVersion: {{ template "apiVersion" }} apiVersion: storage.k8s.io/v1
kind: StorageClass kind: StorageClass
metadata: metadata:
name: {{ .Values.persistence.storageClass }} name: {{ .Values.persistence.storageClass }}

View File

@ -8,12 +8,12 @@ kind: Secret
metadata: metadata:
name: {{ printf "%s-tls" .host }} name: {{ printf "%s-tls" .host }}
namespace: {{ include "appsmith.namespace" $ }} namespace: {{ include "appsmith.namespace" $ }}
labels: {{- include "common.labels.standard" $ | nindent 4 }} labels: {{- include "labels.standard" $ | nindent 4 }}
{{- if $.Values.commonLabels }} {{- if $.Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" $.Values.commonLabels "context" $ ) | nindent 4 }} {{- include "tplvalues.render" ( dict "value" $.Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }} {{- end }}
{{- if $.Values.commonAnnotations }} {{- if $.Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" $.Values.commonAnnotations "context" $ ) | nindent 4 }} annotations: {{- include "tplvalues.render" ( dict "value" $.Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }} {{- end }}
type: kubernetes.io/tls type: kubernetes.io/tls
data: data:
@ -31,12 +31,12 @@ kind: Secret
metadata: metadata:
name: {{ printf "%s-tls" .host }} name: {{ printf "%s-tls" .host }}
namespace: {{ include "appsmith.namespace" $ }} namespace: {{ include "appsmith.namespace" $ }}
labels: {{- include "common.labels.standard" $ | nindent 4 }} labels: {{- include "labels.standard" $ | nindent 4 }}
{{- if $.Values.commonLabels }} {{- if $.Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }} {{- include "tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }} {{- end }}
{{- if $.Values.commonAnnotations }} {{- if $.Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} annotations: {{- include "tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }} {{- end }}
type: kubernetes.io/tls type: kubernetes.io/tls
data: data:

View File

@ -4,14 +4,12 @@
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass ## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
## ##
## @param global.imageRegistry Global Docker image registry
## @param global.imagePullSecrets Global Docker registry secret names as an array
## @param global.storageClass Global StorageClass for Persistent Volume(s) ## @param global.storageClass Global StorageClass for Persistent Volume(s)
## @param global.namespaceOverride Override the namespace for resource deployed by the chart, but can itself be overridden by the local namespaceOverride ## @param global.namespaceOverride Override the namespace for resource deployed by the chart, but can itself be overridden by the local namespaceOverride
## ##
global: global:
storageClass: "" storageClass: ""
namespaceOverride: "appsmith" namespaceOverride: ""
## @param fullnameOverride String to fully override appsmith.fullname template ## @param fullnameOverride String to fully override appsmith.fullname template
## ##
fullnameOverride: "" fullnameOverride: ""
@ -82,6 +80,9 @@ service:
## @param service.port; service port ## @param service.port; service port
## ##
port: 80 port: 80
## @param service.nodePort; Node port to expose if service type is "LoadBalancer" or "NodePort"
##
nodePort: 8000
## @param service.portName Appsmith; service port name ## @param service.portName Appsmith; service port name
## ##
portName: appsmith portName: appsmith
@ -156,6 +157,11 @@ ingress:
## - appsmith-domain.me ## - appsmith-domain.me
## secretName: appsmith-tls ## secretName: appsmith-tls
certManagerTls: [] certManagerTls: []
## @parm ingress.className Configure Ingress class that being used in ingress resource
## e.g:
## className: "nginx"
##
className: ""
resources: resources:
# We usually recommend not to specify default resources and to leave this as a conscious # We usually recommend not to specify default resources and to leave this as a conscious
@ -191,6 +197,9 @@ persistence:
## @param persistence.storageClass PVC Storage Class ## @param persistence.storageClass PVC Storage Class
## ##
storageClass: "" storageClass: ""
## @param persistence.annotations Additional custom annotations for the PVC
##
annotations: {}
## @param persistence.localStorage - Use local storage for PVC ## @param persistence.localStorage - Use local storage for PVC
## ##
localStorage: false localStorage: false