From 2cdc36027f0cfe6512716d8ab260c282eb7d3905 Mon Sep 17 00:00:00 2001 From: Sameer Naik Date: Mon, 31 Jul 2017 20:16:25 +0530 Subject: [PATCH] [stable/suitecrm] adds chart to deploy SuiteCRM (#1258) * [stable/suitecrm] adds chart to deploy SuiteCRM * suitecrm: bump image version * suitecrm: bump chart series * suitecrm: add standard labels to pod metadata * suitecrm: use `name` template for app labels * suitecrm: fix `app` label in NOTES.txt * suitecrm: removed `chart` and `heritage` labels from the Pod spec * suitecrm: drop use of `default ""` in templates * suitecrm: add Release.Name to service selectors * suitecrm: fix pod selector in NOTES.txt * suitecrm: disabled default resource limits * parse: fix empty resources * parse: fix requirements.lock --- stable/suitecrm/.helmignore | 1 + stable/suitecrm/Chart.yaml | 14 +++ stable/suitecrm/README.md | 113 ++++++++++++++++++++ stable/suitecrm/requirements.lock | 6 ++ stable/suitecrm/requirements.yaml | 4 + stable/suitecrm/templates/NOTES.txt | 50 +++++++++ stable/suitecrm/templates/_helpers.tpl | 45 ++++++++ stable/suitecrm/templates/apache-pvc.yaml | 23 ++++ stable/suitecrm/templates/deployment.yaml | 101 +++++++++++++++++ stable/suitecrm/templates/secrets.yaml | 17 +++ stable/suitecrm/templates/suitecrm-pvc.yaml | 23 ++++ stable/suitecrm/templates/svc.yaml | 26 +++++ stable/suitecrm/values.yaml | 103 ++++++++++++++++++ 13 files changed, 526 insertions(+) create mode 100644 stable/suitecrm/.helmignore create mode 100644 stable/suitecrm/Chart.yaml create mode 100644 stable/suitecrm/README.md create mode 100644 stable/suitecrm/requirements.lock create mode 100644 stable/suitecrm/requirements.yaml create mode 100644 stable/suitecrm/templates/NOTES.txt create mode 100644 stable/suitecrm/templates/_helpers.tpl create mode 100644 stable/suitecrm/templates/apache-pvc.yaml create mode 100644 stable/suitecrm/templates/deployment.yaml create mode 100644 stable/suitecrm/templates/secrets.yaml create mode 100644 stable/suitecrm/templates/suitecrm-pvc.yaml create mode 100644 stable/suitecrm/templates/svc.yaml create mode 100644 stable/suitecrm/values.yaml diff --git a/stable/suitecrm/.helmignore b/stable/suitecrm/.helmignore new file mode 100644 index 0000000000..6b8710a711 --- /dev/null +++ b/stable/suitecrm/.helmignore @@ -0,0 +1 @@ +.git diff --git a/stable/suitecrm/Chart.yaml b/stable/suitecrm/Chart.yaml new file mode 100644 index 0000000000..bd86d2058b --- /dev/null +++ b/stable/suitecrm/Chart.yaml @@ -0,0 +1,14 @@ +name: suitecrm +version: 0.2.0 +description: SuiteCRM is a completely open source enterprise-grade Customer Relationship Management (CRM) application. SuiteCRM is a software fork of the popular customer relationship management (CRM) system SugarCRM. +keywords: +- suitecrm +- CRM +home: http://www.suitecrm.com +sources: +- https://github.com/bitnami/bitnami-docker-suitecrm +maintainers: +- name: Bitnami + email: containers@bitnami.com +engine: gotpl +icon: https://bitnami.com/assets/stacks/osclass/img/osclass-stack-110x117.png diff --git a/stable/suitecrm/README.md b/stable/suitecrm/README.md new file mode 100644 index 0000000000..5cbadc3d01 --- /dev/null +++ b/stable/suitecrm/README.md @@ -0,0 +1,113 @@ +# SuiteCRM + +[SuiteCRM](https://www.suitecrm.com) SuiteCRM is a completely open source enterprise-grade Customer Relationship Management (CRM) application. SuiteCRM is a software fork of the popular customer relationship management (CRM) system SugarCRM. + +## TL;DR; + +```console +$ helm install stable/suitecrm +``` + +## Introduction + +This chart bootstraps a [SuiteCRM](https://github.com/bitnami/bitnami-docker-suitecrm) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. + +It also packages the [Bitnami MariaDB chart](https://github.com/kubernetes/charts/tree/master/stable/mariadb) which is required for bootstrapping a MariaDB deployment for the database requirements of the SuiteCRM application. + +## Prerequisites + +- Kubernetes 1.5+ with Beta APIs enabled +- PV provisioner support in the underlying infrastructure + +## Installing the Chart + +To install the chart with the release name `my-release`: + +```console +$ helm install --name my-release stable/suitecrm +``` + +The command deploys SuiteCRM on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. + +> **Tip**: List all releases using `helm list` + +## Uninstalling the Chart + +To uninstall/delete the `my-release` deployment: + +```console +$ helm delete my-release +``` + +The command removes all the Kubernetes components associated with the chart and deletes the release. + +## Configuration + +The following tables lists the configurable parameters of the SuiteCRM chart and their default values. + +| Parameter | Description | Default | +|-------------------------------------|-------------------------------------------|---------------------------------------------| +| `imageTag` | `bitnami/suitecrm` image tag. | SuiteCRM image version | +| `imagePullPolicy` | Image pull policy. | `IfNotPresent` | +| `suitecrmHost` | SuiteCRM host to create application URLs | `nil` | +| `suitecrmLoadBalancerIP` | `loadBalancerIP` for the SuiteCRM Service | `nil` | +| `suitecrmUsername` | User of the application | `user` | +| `suitecrmPassword` | Application password | _random 10 character alphanumeric string_ | +| `suitecrmEmail` | Admin email | `user@example.com` | +| `suitecrmLastName` | Last name | `Last` | +| `suitecrmSmtpHost` | SMTP host | `nil` | +| `suitecrmSmtpPort` | SMTP port | `nil` | +| `suitecrmSmtpUser` | SMTP user | `nil` | +| `suitecrmSmtpPassword` | SMTP password | `nil` | +| `suitecrmSmtpProtocol` | SMTP protocol [`ssl`, `tls`] | `nil` | +| `mariadb.mariadbRootPassword` | MariaDB admin password | `nil` | +| `serviceType` | Kubernetes Service type | `LoadBalancer` | +| `persistence.enabled` | Enable persistence using PVC | `true` | +| `persistence.apache.storageClass` | PVC Storage Class for apache volume | `nil` (uses alpha storage class annotation) | +| `persistence.apache.accessMode` | PVC Access Mode for apache volume | `ReadWriteOnce` | +| `persistence.apache.size` | PVC Storage Request for apache volume | `1Gi` | +| `persistence.suitecrm.storageClass` | PVC Storage Class for SuiteCRM volume | `nil` (uses alpha storage class annotation) | +| `persistence.suitecrm.accessMode` | PVC Access Mode for SuiteCRM volume | `ReadWriteOnce` | +| `persistence.suitecrm.size` | PVC Storage Request for SuiteCRM volume | `8Gi` | +| `resources` | CPU/Memory resource requests/limits | Memory: `512Mi`, CPU: `300m` | + +The above parameters map to the env variables defined in [bitnami/suitecrm](http://github.com/bitnami/bitnami-docker-suitecrm). For more information please refer to the [bitnami/suitecrm](http://github.com/bitnami/bitnami-docker-suitecrm) image documentation. + +> **Note**: +> +> For SuiteCRM to function correctly, you should specify the `suitecrmHost` parameter to specify the FQDN (recommended) or the public IP address of the SuiteCRM service. +> +> Optionally, you can specify the `suitecrmLoadBalancerIP` parameter to assign a reserved IP address to the SuiteCRM service of the chart. However please note that this feature is only available on a few cloud providers (f.e. GKE). +> +> To reserve a public IP address on GKE: +> +> ```bash +> $ gcloud compute addresses create suitecrm-public-ip +> ``` +> +> The reserved IP address can be associated to the SuiteCRM service by specifying it as the value of the `suitecrmLoadBalancerIP` parameter while installing the chart. + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, + +```console +$ helm install --name my-release \ + --set suitecrmUsername=admin,suitecrmPassword=password,mariadb.mariadbRootPassword=secretpassword \ + stable/suitecrm +``` + +The above command sets the SuiteCRM administrator account username and password to `admin` and `password` respectively. Additionally it sets the MariaDB `root` user password to `secretpassword`. + +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, + +```console +$ helm install --name my-release -f values.yaml stable/suitecrm +``` + +> **Tip**: You can use the default [values.yaml](values.yaml) + +## Persistence + +The [Bitnami SuiteCRM](https://github.com/bitnami/bitnami-docker-suitecrm) image stores the SuiteCRM data and configurations at the `/bitnami/suitecrm` and `/bitnami/apache` paths of the container. + +Persistent Volume Claims are used to keep the data across deployments. This is known to work in GCE, AWS, and minikube. +See the [Configuration](#configuration) section to configure the PVC or to disable persistence. diff --git a/stable/suitecrm/requirements.lock b/stable/suitecrm/requirements.lock new file mode 100644 index 0000000000..2dc9c09bde --- /dev/null +++ b/stable/suitecrm/requirements.lock @@ -0,0 +1,6 @@ +dependencies: +- name: mariadb + repository: https://kubernetes-charts.storage.googleapis.com/ + version: 0.6.3 +digest: sha256:edc6a5f543237e1b90de3e44a5f8cc2038025863e6ba599f41ce52292df51903 +generated: 2017-07-31T16:23:58.262325603+02:00 diff --git a/stable/suitecrm/requirements.yaml b/stable/suitecrm/requirements.yaml new file mode 100644 index 0000000000..d376de8980 --- /dev/null +++ b/stable/suitecrm/requirements.yaml @@ -0,0 +1,4 @@ +dependencies: +- name: mariadb + version: 0.6.3 + repository: https://kubernetes-charts.storage.googleapis.com/ diff --git a/stable/suitecrm/templates/NOTES.txt b/stable/suitecrm/templates/NOTES.txt new file mode 100644 index 0000000000..0a889a5668 --- /dev/null +++ b/stable/suitecrm/templates/NOTES.txt @@ -0,0 +1,50 @@ +{{- if empty (include "host" .) -}} +############################################################################### +### ERROR: You did not provide an external host in your 'helm install' call ### +############################################################################### + +This deployment will be incomplete until you configure SuiteCRM with a resolvable +host. To configure SuiteCRM with the URL of your service: + +1. Get the SuiteCRM URL by running: + + {{- if contains "NodePort" .Values.serviceType }} + + export APP_PORT=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath="{.spec.ports[0].nodePort}") + export APP_HOST=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + + {{- else if contains "LoadBalancer" .Values.serviceType }} + + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "fullname" . }}' + + export APP_HOST=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + export APP_PASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath="{.data.suitecrm-password}" | base64 --decode) + {{- if .Values.mariadb.mariadbRootPassword }} + export APP_DATABASE_PASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "mariadb.fullname" . }} -o jsonpath="{.data.mariadb-root-password}" | base64 --decode) + {{- end }} + {{- end }} + +2. Complete your SuiteCRM deployment by running: + + helm upgrade {{ .Release.Name }} \ + --set suitecrmHost=$APP_HOST,suitecrmPassword=$APP_PASSWORD{{ if .Values.mariadb.mariadbRootPassword }},mariadb.mariadbRootPassword=$APP_DATABASE_PASSWORD{{ end }} stable/suitecrm + +{{- else -}} +1. Get the SuiteCRM URL by running: + +{{- if eq .Values.serviceType "ClusterIP" }} + + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo http://127.0.0.1:8080/ + kubectl port-forward $POD_NAME 8080:80 +{{- else }} + + echo URL : http://{{ include "host" . }}/ +{{- end }} + +2. Get your SuiteCRM login credentials by running: + + echo Username : {{ .Values.suitecrmUsername }} + echo Password : $(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath="{.data.suitecrm-password}" | base64 --decode) +{{- end }} diff --git a/stable/suitecrm/templates/_helpers.tpl b/stable/suitecrm/templates/_helpers.tpl new file mode 100644 index 0000000000..2463906531 --- /dev/null +++ b/stable/suitecrm/templates/_helpers.tpl @@ -0,0 +1,45 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "name" -}} +{{- default .Chart.Name .Values.nameOverride | 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). +*/}} +{{- define "fullname" -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- printf "%s-%s" .Release.Name $name | 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). +*/}} +{{- define "mariadb.fullname" -}} +{{- printf "%s-%s" .Release.Name "mariadb" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Get the user defined LoadBalancerIP for this release. +Note, returns 127.0.0.1 if using ClusterIP. +*/}} +{{- define "serviceIP" -}} +{{- if eq .Values.serviceType "ClusterIP" -}} +127.0.0.1 +{{- else -}} +{{- index .Values (printf "%sLoadBalancerIP" .Chart.Name) | 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 "host" -}} +{{- $host := index .Values (printf "%sHost" .Chart.Name) | default "" -}} +{{- default (include "serviceIP" .) $host -}} +{{- end -}} diff --git a/stable/suitecrm/templates/apache-pvc.yaml b/stable/suitecrm/templates/apache-pvc.yaml new file mode 100644 index 0000000000..6a603af60b --- /dev/null +++ b/stable/suitecrm/templates/apache-pvc.yaml @@ -0,0 +1,23 @@ +{{- if .Values.persistence.enabled -}} +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: {{ template "fullname" . }}-apache + labels: + app: {{ template "name" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + annotations: + {{- if .Values.persistence.apache.storageClass }} + volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.apache.storageClass | quote }} + {{- else }} + volume.alpha.kubernetes.io/storage-class: default + {{- end }} +spec: + accessModes: + - {{ .Values.persistence.apache.accessMode | quote }} + resources: + requests: + storage: {{ .Values.persistence.apache.size | quote }} +{{- end -}} diff --git a/stable/suitecrm/templates/deployment.yaml b/stable/suitecrm/templates/deployment.yaml new file mode 100644 index 0000000000..4c09f90000 --- /dev/null +++ b/stable/suitecrm/templates/deployment.yaml @@ -0,0 +1,101 @@ +{{- if include "host" . -}} +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: {{ template "fullname" . }} + labels: + app: {{ template "name" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +spec: + template: + metadata: + labels: + app: {{ template "name" . }} + release: "{{ .Release.Name }}" + spec: + containers: + - name: {{ template "fullname" . }} + image: "{{ .Values.image }}" + imagePullPolicy: {{ .Values.imagePullPolicy | quote }} + env: + - name: MARIADB_HOST + value: {{ template "mariadb.fullname" . }} + - name: MARIADB_PORT_NUMBER + value: "3306" + - name: MARIADB_PASSWORD + valueFrom: + secretKeyRef: + name: {{ template "mariadb.fullname" . }} + key: mariadb-root-password + - name: SUITECRM_HOST + value: {{ include "host" . | quote }} + - name: SUITECRM_USERNAME + value: {{ .Values.suitecrmUsername | quote }} + - name: SUITECRM_PASSWORD + valueFrom: + secretKeyRef: + name: {{ template "fullname" . }} + key: suitecrm-password + - name: SUITECRM_EMAIL + value: {{ .Values.suitecrmEmail | quote }} + - name: SUITECRM_LAST_NAME + value: {{ .Values.suitecrmLastName | quote }} + - name: SUITECRM_SMTP_HOST + value: {{ .Values.suitecrmSmtpHost | quote }} + - name: SUITECRM_SMTP_PORT + value: {{ .Values.suitecrmSmtpPort | quote }} + - name: SUITECRM_SMTP_USER + value: {{ .Values.suitecrmSmtpUser | quote }} + - name: SUITECRM_SMTP_PASSWORD + valueFrom: + secretKeyRef: + name: {{ template "fullname" . }} + key: suitecrm-smtp-password + - name: SUITECRM_SMTP_PROTOCOL + value: {{ .Values.suitecrmSmtpProtocol | quote }} + ports: + - name: http + containerPort: 80 + - name: https + containerPort: 443 + livenessProbe: + httpGet: + path: /index.php + port: http + httpHeaders: + - name: Host + value: {{ include "host" . | quote }} + initialDelaySeconds: 300 + readinessProbe: + httpGet: + path: /index.php + port: http + httpHeaders: + - name: Host + value: {{ include "host" . | quote }} + initialDelaySeconds: 60 + resources: +{{ toYaml .Values.resources | indent 10 }} + volumeMounts: + - name: suitecrm-data + mountPath: /bitnami/suitecrm + - name: apache-data + mountPath: /bitnami/apache + volumes: + - name: suitecrm-data + {{- if .Values.persistence.enabled }} + persistentVolumeClaim: + claimName: {{ template "fullname" . }}-suitecrm + {{- else }} + emptyDir: {} + {{- end }} + - name: apache-data + {{- if .Values.persistence.enabled }} + persistentVolumeClaim: + claimName: {{ template "fullname" . }}-apache + {{- else }} + emptyDir: {} + {{- end }} +{{- end -}} diff --git a/stable/suitecrm/templates/secrets.yaml b/stable/suitecrm/templates/secrets.yaml new file mode 100644 index 0000000000..28be00b52a --- /dev/null +++ b/stable/suitecrm/templates/secrets.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Secret +metadata: + name: {{ template "fullname" . }} + labels: + app: {{ template "name" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +type: Opaque +data: + {{ if .Values.suitecrmPassword }} + suitecrm-password: {{ .Values.suitecrmPassword | b64enc | quote }} + {{ else }} + suitecrm-password: {{ randAlphaNum 10 | b64enc | quote }} + {{ end }} + suitecrm-smtp-password: {{ default "" .Values.suitecrmSmtpPassword | b64enc | quote }} diff --git a/stable/suitecrm/templates/suitecrm-pvc.yaml b/stable/suitecrm/templates/suitecrm-pvc.yaml new file mode 100644 index 0000000000..94ca129d74 --- /dev/null +++ b/stable/suitecrm/templates/suitecrm-pvc.yaml @@ -0,0 +1,23 @@ +{{- if .Values.persistence.enabled -}} +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: {{ template "fullname" . }}-suitecrm + labels: + app: {{ template "name" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + annotations: + {{- if .Values.persistence.suitecrm.storageClass }} + volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.suitecrm.storageClass | quote }} + {{- else }} + volume.alpha.kubernetes.io/storage-class: default + {{- end }} +spec: + accessModes: + - {{ .Values.persistence.suitecrm.accessMode | quote }} + resources: + requests: + storage: {{ .Values.persistence.suitecrm.size | quote }} +{{- end -}} diff --git a/stable/suitecrm/templates/svc.yaml b/stable/suitecrm/templates/svc.yaml new file mode 100644 index 0000000000..127e592e72 --- /dev/null +++ b/stable/suitecrm/templates/svc.yaml @@ -0,0 +1,26 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ template "fullname" . }} + labels: + app: {{ template "name" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + annotations: + service.beta.kubernetes.io/external-traffic: OnlyLocal +spec: + type: {{ .Values.serviceType }} + {{- if eq .Values.serviceType "LoadBalancer" }} + loadBalancerIP: {{ .Values.suitecrmLoadBalancerIP }} + {{- end }} + ports: + - name: http + port: 80 + targetPort: http + - name: https + port: 443 + targetPort: https + selector: + app: {{ template "name" . }} + release: "{{ .Release.Name }}" diff --git a/stable/suitecrm/values.yaml b/stable/suitecrm/values.yaml new file mode 100644 index 0000000000..b33a900b0d --- /dev/null +++ b/stable/suitecrm/values.yaml @@ -0,0 +1,103 @@ +## Bitnami SuiteCRM image version +## ref: https://hub.docker.com/r/bitnami/suitecrm/tags/ +## +image: bitnami/suitecrm:7.9.4-r0 + +## Specify a imagePullPolicy +## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images +## +imagePullPolicy: IfNotPresent + +## SuiteCRM host to create application URLs +## ref: https://github.com/bitnami/bitnami-docker-suitecrm#configuration +## +# suitecrmHost: + +## loadBalancerIP for the SuiteCRM Service (optional, cloud specific) +## ref: http://kubernetes.io/docs/user-guide/services/#type-loadbalancer +## +# suitecrmLoadBalancerIP: + +## User of the application +## ref: https://github.com/bitnami/bitnami-docker-suitecrm#configuration +## +suitecrmUsername: user + +## Application password +## Defaults to a random 10-character alphanumeric string if not set +## ref: https://github.com/bitnami/bitnami-docker-suitecrm#configuration +## +# suitecrmPassword: + +## Admin email +## ref: https://github.com/bitnami/bitnami-docker-suitecrm#configuration +## +suitecrmEmail: user@example.com + +## Lastname +## ref: https://github.com/bitnami/bitnami-docker-suitecrm#configuration +## +suitecrmLastName: Name + +## SMTP mail delivery configuration +## ref: https://github.com/bitnami/bitnami-docker-suitecrm/#smtp-configuration +## +# suitecrmSmtpHost: +# suitecrmSmtpPort: +# suitecrmSmtpUser: +# suitecrmSmtpPassword: +# suitecrmSmtpProtocol: + +## +## MariaDB chart configuration +## +mariadb: + ## MariaDB admin password + ## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#setting-the-root-password-on-first-run + ## + # mariadbRootPassword: + + ## Enable persistence using Persistent Volume Claims + ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ + ## + persistence: + enabled: true + ## If defined, volume.beta.kubernetes.io/storage-class: + ## Default: volume.alpha.kubernetes.io/storage-class: default + ## + # storageClass: + accessMode: ReadWriteOnce + size: 8Gi + +## Kubernetes configuration +## For minikube, set this to NodePort, elsewhere use LoadBalancer +## +serviceType: LoadBalancer + +## Enable persistence using Persistent Volume Claims +## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ +## +persistence: + enabled: true + apache: + ## If defined, volume.beta.kubernetes.io/storage-class: + ## Default: volume.alpha.kubernetes.io/storage-class: default + ## + # storageClass: + accessMode: ReadWriteOnce + size: 1Gi + suitecrm: + ## If defined, volume.beta.kubernetes.io/storage-class: + ## Default: volume.alpha.kubernetes.io/storage-class: default + ## + # storageClass: + accessMode: ReadWriteOnce + size: 8Gi + +## Configure resource requests and limits +## ref: http://kubernetes.io/docs/user-guide/compute-resources/ +## +resources: {} + # requests: + # memory: 512Mi + # cpu: 300m