mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
[stable/suitecrm] Add service.type to values.yaml (#9439)
Signed-off-by: Javier J. Salmeron Garcia <jsalmeron@bitnami.com>
This commit is contained in:
committed by
k8s-ci-robot
parent
bec2c38901
commit
fe367a9168
@@ -1,5 +1,5 @@
|
||||
name: suitecrm
|
||||
version: 4.1.0
|
||||
version: 5.0.0
|
||||
appVersion: 7.10.10
|
||||
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:
|
||||
|
||||
@@ -56,7 +56,6 @@ The following table lists the configurable parameters of the SuiteCRM chart and
|
||||
| `image.pullPolicy` | Image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent` |
|
||||
| `image.pullSecrets` | Specify image pull secrets | `nil` |
|
||||
| `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` |
|
||||
@@ -78,8 +77,13 @@ The following table lists the configurable parameters of the SuiteCRM chart and
|
||||
| `mariadb.db.user` | Database user to create | `bn_suitecrm` |
|
||||
| `mariadb.db.password` | Password for the database | `nil` |
|
||||
| `mariadb.rootUser.password` | MariaDB admin password | `nil` |
|
||||
| `serviceType` | Kubernetes Service type | `LoadBalancer` |
|
||||
| `externalTrafficPolicy` | Set to `Local` to preserve the client source IP | `Cluster` |
|
||||
| `service.type` | Kubernetes Service type | `LoadBalancer` |
|
||||
| `service.port` | Service HTTP port | `80` |
|
||||
| `service.httpsPort` | Service HTTPS port | `443` |
|
||||
| `service.nodePorts.http` | Kubernetes http node port | `""` |
|
||||
| `service.nodePorts.https` | Kubernetes https node port | `""` |
|
||||
| `service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
|
||||
| `service.loadBalancerIP` | `loadBalancerIP` for the SuiteCRM Service | `nil` |
|
||||
| `persistence.enabled` | Enable persistence using PVC | `true` |
|
||||
| `persistence.storageClass` | PVC Storage Class for SuiteCRM volume | `nil` (uses alpha storage class annotation) |
|
||||
| `persistence.existingClaim` | An Existing PVC name for SuiteCRM volume | `nil` (uses alpha storage class annotation) |
|
||||
|
||||
@@ -10,12 +10,12 @@ host. To configure SuiteCRM with the URL of your service:
|
||||
|
||||
1. Get the SuiteCRM URL by running:
|
||||
|
||||
{{- if contains "NodePort" .Values.serviceType }}
|
||||
{{- if contains "NodePort" .Values.service.type }}
|
||||
|
||||
export APP_PORT=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "suitecrm.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 }}
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
|
||||
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 "suitecrm.fullname" . }}'
|
||||
@@ -40,20 +40,21 @@ host. To configure SuiteCRM with the URL of your service:
|
||||
## PLEASE UPDATE THE EXTERNAL DATABASE CONNECTION PARAMETERS IN THE FOLLOWING COMMAND AS NEEDED ##
|
||||
|
||||
helm upgrade {{ .Release.Name }} stable/suitecrm \
|
||||
--set suitecrmPassword=$APP_PASSWORD,suitecrmHost=$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 }}
|
||||
--set suitecrmPassword=$APP_PASSWORD,suitecrmHost=$APP_HOST,service.type={{ .Values.service.type }},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 SuiteCRM URL by running:
|
||||
|
||||
{{- if eq .Values.serviceType "ClusterIP" }}
|
||||
{{- if eq .Values.service.type "ClusterIP" }}
|
||||
|
||||
echo "SuiteCRM URL: http://127.0.0.1:8080/"
|
||||
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ template "suitecrm.fullname" . }} $POD_NAME 8080:80
|
||||
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ template "suitecrm.fullname" . }} $POD_NAME 8080:{{ .Values.service.port }}
|
||||
|
||||
{{- else }}
|
||||
|
||||
echo "SuiteCRM URL: http://{{ include "host" . }}/"
|
||||
{{- $port:=.Values.service.port | toString }}
|
||||
echo "SuiteCRM URL: http://{{ include "host" . }}{{- if ne $port "80" }}:{{ .Values.service.port }}{{ end }}/"
|
||||
|
||||
{{- end }}
|
||||
|
||||
@@ -75,9 +76,9 @@ host. To configure SuiteCRM to use and external database host:
|
||||
|
||||
1. Complete your SuiteCRM deployment by running:
|
||||
|
||||
{{- if contains "NodePort" .Values.serviceType }}
|
||||
{{- if contains "NodePort" .Values.service.type }}
|
||||
export APP_HOST=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
{{- else if contains "LoadBalancer" .Values.serviceType }}
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
|
||||
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 "suitecrm.fullname" . }}'
|
||||
@@ -92,5 +93,5 @@ host. To configure SuiteCRM to use and external database host:
|
||||
## PLEASE UPDATE THE EXTERNAL DATABASE CONNECTION PARAMETERS IN THE FOLLOWING COMMAND AS NEEDED ##
|
||||
|
||||
helm upgrade {{ .Release.Name }} stable/suitecrm \
|
||||
--set suitecrmPassword=$APP_PASSWORD,suitecrmHost=$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
|
||||
--set suitecrmPassword=$APP_PASSWORD,suitecrmHost=$APP_HOST,service.type={{ .Values.service.type }},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 }}
|
||||
|
||||
@@ -28,7 +28,7 @@ Get the user defined LoadBalancerIP for this release.
|
||||
Note, returns 127.0.0.1 if using ClusterIP.
|
||||
*/}}
|
||||
{{- define "serviceIP" -}}
|
||||
{{- if eq .Values.serviceType "ClusterIP" -}}
|
||||
{{- if eq .Values.service.type "ClusterIP" -}}
|
||||
127.0.0.1
|
||||
{{- else -}}
|
||||
{{- index .Values (printf "%sLoadBalancerIP" .Chart.Name) | default "" -}}
|
||||
|
||||
@@ -78,7 +78,8 @@ spec:
|
||||
key: db-password
|
||||
{{- end }}
|
||||
- name: SUITECRM_HOST
|
||||
value: {{ include "host" . | quote }}
|
||||
{{- $port:=.Values.service.port | toString }}
|
||||
value: "{{ include "host" . }}:{{- if ne $port "80" }}:{{ .Values.service.port }}{{ end }}"
|
||||
- name: SUITECRM_USERNAME
|
||||
value: {{ .Values.suitecrmUsername | quote }}
|
||||
- name: SUITECRM_PASSWORD
|
||||
|
||||
@@ -8,20 +8,26 @@ metadata:
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
spec:
|
||||
type: {{ .Values.serviceType }}
|
||||
{{- if (and (eq .Values.serviceType "LoadBalancer") (not (empty .Values.suitecrmLoadBalancerIP))) }}
|
||||
loadBalancerIP: {{ .Values.suitecrmLoadBalancerIP }}
|
||||
type: {{ .Values.service.type }}
|
||||
{{- if (and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerIP))) }}
|
||||
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- if (or (eq .Values.serviceType "LoadBalancer") (eq .Values.serviceType "NodePort")) }}
|
||||
externalTrafficPolicy: {{ .Values.externalTrafficPolicy | quote }}
|
||||
{{- if (or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort")) }}
|
||||
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
targetPort: http
|
||||
- name: https
|
||||
port: 443
|
||||
targetPort: https
|
||||
- name: http
|
||||
port: {{ .Values.service.port }}
|
||||
targetPort: http
|
||||
{{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePorts.http)))}}
|
||||
nodePort: {{ .Values.service.nodePorts.http }}
|
||||
{{- end }}
|
||||
- name: https
|
||||
port: {{ .Values.service.httpsPort }}
|
||||
targetPort: https
|
||||
{{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePorts.https)))}}
|
||||
nodePort: {{ .Values.service.nodePorts.https }}
|
||||
{{- end }}
|
||||
selector:
|
||||
app: {{ template "suitecrm.name" . }}
|
||||
release: "{{ .Release.Name }}"
|
||||
|
||||
+21
-13
@@ -33,11 +33,6 @@ image:
|
||||
##
|
||||
suitecrmValidateUserIP: "no"
|
||||
|
||||
## 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
|
||||
##
|
||||
@@ -137,14 +132,27 @@ mariadb:
|
||||
accessMode: ReadWriteOnce
|
||||
size: 8Gi
|
||||
|
||||
## Kubernetes configuration
|
||||
## For minikube, set this to NodePort, elsewhere use LoadBalancer
|
||||
##
|
||||
serviceType: LoadBalancer
|
||||
|
||||
## Set external traffic policy to: "Local" to preserve source IP on providers supporting it
|
||||
## ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-type-nodeport
|
||||
externalTrafficPolicy: Cluster
|
||||
service:
|
||||
type: LoadBalancer
|
||||
# HTTP Port
|
||||
port: 80
|
||||
# HTTPS Port
|
||||
httpsPort: 443
|
||||
## loadBalancerIP for the SuiteCRM Service (optional, cloud specific)
|
||||
## ref: http://kubernetes.io/docs/user-guide/services/#type-loadbalancer
|
||||
##
|
||||
## loadBalancerIP:
|
||||
##
|
||||
## nodePorts:
|
||||
## http: <to set explicitly, choose port between 30000-32767>
|
||||
## https: <to set explicitly, choose port between 30000-32767>
|
||||
nodePorts:
|
||||
http: ""
|
||||
https: ""
|
||||
## Enable client source IP preservation
|
||||
## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||
##
|
||||
externalTrafficPolicy: Cluster
|
||||
|
||||
## Enable persistence using Persistent Volume Claims
|
||||
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
||||
|
||||
Reference in New Issue
Block a user