mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
[stable/sugarcrm] Allow use of external database (#4193)
* [stable/sugarcrm] Allow use of external database * Fix typo * Update image tag * Update _helpers.tpl
This commit is contained in:
committed by
k8s-ci-robot
parent
b72d033b0b
commit
448d5b6cc5
@@ -1,5 +1,5 @@
|
||||
name: sugarcrm
|
||||
version: 0.2.6
|
||||
version: 0.3.0
|
||||
appVersion: 6.5.26
|
||||
description: SugarCRM enables businesses to create extraordinary customer relationships with the most innovative and affordable CRM solution in the market.
|
||||
keywords:
|
||||
|
||||
@@ -60,6 +60,16 @@ The following tables lists the configurable parameters of the SugarCRM chart and
|
||||
| `sugarcrmSmtpProtocol` | SMTP Protocol | `nil` |
|
||||
| `sugarcrmSmtpUser` | SMTP user | `nil` |
|
||||
| `sugarcrmSmtpPassword` | SMTP password | `nil` |
|
||||
| `allowEmptyPassword` | Allow DB blank passwords | `yes` |
|
||||
| `externalDatabase.host` | Host of the external database | `nil` |
|
||||
| `externalDatabase.port` | Port of the external database | `3306` |
|
||||
| `externalDatabase.user` | Existing username in the external db | `bn_sugarcrm` |
|
||||
| `externalDatabase.password` | Password for the above username | `nil` |
|
||||
| `externalDatabase.database` | Name of the existing databse | `bitnami_sugarcrm` |
|
||||
| `mariadb.enabled` | Wheter to use or not the mariadb chart | `true` |
|
||||
| `mariadb.mariadbDatabase` | Database name to create | `bitnami_sugarcrm` |
|
||||
| `mariadb.mariadbUser` | Database user to create | `bn_sugarcrm` |
|
||||
| `mariadb.mariadbPassword` | Password for the database | `nil` |
|
||||
| `mariadb.mariadbRootPassword` | MariaDB admin password | `nil` |
|
||||
| `serviceType` | Kubernetes Service type | `LoadBalancer` |
|
||||
| `persistence.enabled` | Enable persistence using PVC | `true` |
|
||||
|
||||
@@ -2,5 +2,5 @@ dependencies:
|
||||
- name: mariadb
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
version: 0.7.0
|
||||
digest: sha256:e1af13ac4ac21f67582006f12d2b4eb78a1a2a59b34338fac850f2bec0b08b41
|
||||
generated: 2017-08-09T22:53:00.253043673-04:00
|
||||
digest: sha256:f59f68030aa5c50b9e776b813804875fac911f91c2aa384e991f37a795c5ae34
|
||||
generated: 2018-03-15T17:23:59.5931+01:00
|
||||
|
||||
@@ -2,3 +2,4 @@ dependencies:
|
||||
- name: mariadb
|
||||
version: 0.7.0
|
||||
repository: https://kubernetes-charts.storage.googleapis.com/
|
||||
condition: mariadb.enabled
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
{{- if or .Values.mariadb.enabled .Values.externalDatabase.host -}}
|
||||
|
||||
{{- if empty (include "host" .) -}}
|
||||
###############################################################################
|
||||
### ERROR: You did not provide an external host in your 'helm install' call ###
|
||||
@@ -27,8 +29,17 @@ host. To configure SugarCRM with the URL of your service:
|
||||
|
||||
2. Complete your SugarCRM deployment by running:
|
||||
|
||||
helm upgrade {{ .Release.Name }} \
|
||||
--set sugarcrmHost=$APP_HOST,sugarcrmPassword=$APP_PASSWORD{{ if .Values.mariadb.mariadbRootPassword }},mariadb.mariadbRootPassword=$APP_DATABASE_PASSWORD{{ end }} stable/sugarcrm
|
||||
{{- if .Values.mariadb.enabled }}
|
||||
|
||||
helm upgrade {{ .Release.Name }} stable/sugarcrm \
|
||||
--set sugarcrmHost=$APP_HOST,sugarcrmPassword=$APP_PASSWORD{{ if .Values.mariadb.mariadbRootPassword }},mariadb.mariadbRootPassword=$APP_DATABASE_PASSWORD{{ end }}
|
||||
{{- else }}
|
||||
|
||||
## PLEASE UPDATE THE EXTERNAL DATABASE CONNECTION PARAMETERS IN THE FOLLOWING COMMAND AS NEEDED ##
|
||||
|
||||
helm upgrade {{ .Release.Name }} stable/sugarcrm \
|
||||
--set sugarcrmPassword=$APP_PASSWORD,sugarcrmHost=$APP_HOST,serviceType={{ .Values.serviceType }},mariadb.enabled=false{{- if not (empty .Values.externalDatabase.host) }},externalDatabase.host={{ .Values.externalDatabase.host }}{{- end }}{{- if not (empty .Values.externalDatabase.user) }},externalDatabase.user={{ .Values.externalDatabase.user }}{{- end }}{{- if not (empty .Values.externalDatabase.password) }},externalDatabase.password={{ .Values.externalDatabase.password }}{{- end }}{{- if not (empty .Values.externalDatabase.database) }},externalDatabase.database={{ .Values.externalDatabase.database }}{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- else -}}
|
||||
1. Get the SugarCRM URL by running:
|
||||
@@ -48,3 +59,35 @@ host. To configure SugarCRM with the URL of your service:
|
||||
echo Username: {{ .Values.sugarcrmUsername }}
|
||||
echo Password: $(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath="{.data.sugarcrm-password}" | base64 --decode)
|
||||
{{- end }}
|
||||
|
||||
{{- else -}}
|
||||
|
||||
########################################################################################
|
||||
### ERROR: You did not provide an external database host in your 'helm install' call ###
|
||||
########################################################################################
|
||||
|
||||
This deployment will be incomplete until you configure SugarCRM with a resolvable database
|
||||
host. To configure SugarCRM to use and external database host:
|
||||
|
||||
|
||||
1. Complete your SugarCRM deployment by running:
|
||||
|
||||
{{- if contains "NodePort" .Values.serviceType }}
|
||||
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 "sugarcrm.fullname" . }}'
|
||||
|
||||
export APP_HOST=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "sugarcrm.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
|
||||
{{- else }}
|
||||
|
||||
export APP_HOST=127.0.0.1
|
||||
{{- end }}
|
||||
export APP_PASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "sugarcrm.fullname" . }} -o jsonpath="{.data.sugarcrm-password}" | base64 --decode)
|
||||
|
||||
## PLEASE UPDATE THE EXTERNAL DATABASE CONNECTION PARAMETERS IN THE FOLLOWING COMMAND AS NEEDED ##
|
||||
|
||||
helm upgrade {{ .Release.Name }} stable/sugarcrm \
|
||||
--set sugarcrmPassword=$APP_PASSWORD,sugarcrmHost=$APP_HOST,serviceType={{ .Values.serviceType }},mariadb.enabled=false{{- if not (empty .Values.externalDatabase.user) }},externalDatabase.user={{ .Values.externalDatabase.user }}{{- end }}{{- if not (empty .Values.externalDatabase.password) }},externalDatabase.password={{ .Values.externalDatabase.password }}{{- end }}{{- if not (empty .Values.externalDatabase.database) }},externalDatabase.database={{ .Values.externalDatabase.database }}{{- end }},externalDatabase.host=YOUR_EXTERNAL_DATABASE_HOST
|
||||
{{- end }}
|
||||
|
||||
@@ -19,7 +19,7 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
|
||||
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" -}}
|
||||
{{- define "sugarcrm.mariadb.fullname" -}}
|
||||
{{- printf "%s-%s" .Release.Name "mariadb" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
@@ -20,15 +20,37 @@ spec:
|
||||
image: "{{ .Values.image }}"
|
||||
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||
env:
|
||||
- name: ALLOW_EMPTY_PASSWORD
|
||||
value: {{ .Values.allowEmptyPassword | quote }}
|
||||
{{- if .Values.mariadb.enabled }}
|
||||
- name: MARIADB_HOST
|
||||
value: {{ template "mariadb.fullname" . }}
|
||||
value: {{ template "sugarcrm.mariadb.fullname" . }}
|
||||
- name: MARIADB_PORT_NUMBER
|
||||
value: "3306"
|
||||
- name: MARIADB_PASSWORD
|
||||
- name: SUGARCRM_DATABASE_NAME
|
||||
value: {{ .Values.mariadb.mariadbDatabase | quote }}
|
||||
- name: SUGARCRM_DATABASE_USER
|
||||
value: {{ .Values.mariadb.mariadbUser | quote }}
|
||||
- name: SUGARCRM_DATABASE_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ template "mariadb.fullname" . }}
|
||||
key: mariadb-root-password
|
||||
name: {{ template "jasperreports.mariadb.fullname" . }}
|
||||
key: mariadb-password
|
||||
{{- else }}
|
||||
- name: MARIADB_HOST
|
||||
value: {{ .Values.externalDatabase.host | quote }}
|
||||
- name: MARIADB_PORT_NUMBER
|
||||
value: {{ .Values.externalDatabase.port | quote }}
|
||||
- name: SUGARCRM_DATABASE_NAME
|
||||
value: {{ .Values.externalDatabase.database | quote }}
|
||||
- name: SUGARCRM_DATABASE_USER
|
||||
value: {{ .Values.externalDatabase.user | quote }}
|
||||
- name: SUGARCRM_DATABASE_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ printf "%s-%s" .Release.Name "externaldb" }}
|
||||
key: db-password
|
||||
{{- end }}
|
||||
- name: SUGARCRM_HOST
|
||||
value: {{ include "host" . | quote }}
|
||||
- name: SUGARCRM_USERNAME
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{{- if not .Values.mariadb.enabled }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ printf "%s-%s" .Release.Name "externaldb" }}
|
||||
labels:
|
||||
app: {{ printf "%s-%s" .Release.Name "externaldb" }}
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
type: Opaque
|
||||
data:
|
||||
db-password: {{ default "" .Values.externalDatabase.password | b64enc | quote }}
|
||||
{{- end }}
|
||||
@@ -1,7 +1,7 @@
|
||||
## Bitnami SugarCRM image version
|
||||
## ref: https://hub.docker.com/r/bitnami/sugarcrm/tags/
|
||||
##
|
||||
image: bitnami/sugarcrm:6.5.26-r2
|
||||
image: bitnami/sugarcrm:6.5.26-r3
|
||||
|
||||
## Specify a imagePullPolicy
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
@@ -39,6 +39,29 @@ sugarcrmEmail: user@example.com
|
||||
##
|
||||
sugarcrmLastName: LastName
|
||||
|
||||
## Set to `yes` to allow the container to be started with blank passwords
|
||||
## ref: https://github.com/bitnami/bitnami-docker-sugarcrm#environment-variables
|
||||
allowEmptyPassword: "yes"
|
||||
|
||||
##
|
||||
## External database configuration
|
||||
##
|
||||
externalDatabase:
|
||||
## Database host
|
||||
host:
|
||||
|
||||
## Database host
|
||||
port: 3306
|
||||
|
||||
## Database user
|
||||
user: bn_sugarcrm
|
||||
|
||||
## Database password
|
||||
password:
|
||||
|
||||
## Database name
|
||||
database: bitnami_sugarcrm
|
||||
|
||||
## SMTP mail delivery configuration
|
||||
## ref: https://github.com/bitnami/bitnami-docker-orangehrm/#smtp-configuration
|
||||
# sugarcrmSmtpHost:
|
||||
@@ -51,6 +74,24 @@ sugarcrmLastName: LastName
|
||||
## MariaDB chart configuration
|
||||
##
|
||||
mariadb:
|
||||
## Whether to deploy a mariadb server to satisfy the applications database requirements. To use an external database set this to false and configure the externalDatabase parameters
|
||||
enabled: true
|
||||
|
||||
## Create a database
|
||||
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#creating-a-database-on-first-run
|
||||
##
|
||||
mariadbDatabase: bitnami_sugarcrm
|
||||
|
||||
## Create a database user
|
||||
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#creating-a-database-user-on-first-run
|
||||
##
|
||||
mariadbUser: bn_sugarcrm
|
||||
|
||||
## Password for mariadbUser
|
||||
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#creating-a-database-user-on-first-run
|
||||
##
|
||||
# mariadbPassword:
|
||||
|
||||
## MariaDB admin password
|
||||
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#setting-the-root-password-on-first-run
|
||||
##
|
||||
|
||||
Reference in New Issue
Block a user