diff --git a/charts/ibm-mqadvanced-server-dev/Chart.yaml b/charts/ibm-mqadvanced-server-dev/Chart.yaml index 7166b6a..2412b6e 100644 --- a/charts/ibm-mqadvanced-server-dev/Chart.yaml +++ b/charts/ibm-mqadvanced-server-dev/Chart.yaml @@ -15,5 +15,5 @@ apiVersion: v1 description: IBM MQ queue manager name: ibm-mqadvanced-server-dev -version: 0.1.0 +version: 1.0.0-beta icon: https://developer.ibm.com/messaging/wp-content/uploads/sites/18/2017/07/IBM-MQ-Square-200.png diff --git a/charts/ibm-mqadvanced-server-dev/templates/stateful-set.yaml b/charts/ibm-mqadvanced-server-dev/templates/stateful-set.yaml index bf66475..ae73876 100644 --- a/charts/ibm-mqadvanced-server-dev/templates/stateful-set.yaml +++ b/charts/ibm-mqadvanced-server-dev/templates/stateful-set.yaml @@ -66,7 +66,7 @@ spec: {{- if .Values.persistence.enabled }} volumeMounts: - mountPath: "/mnt/mqm" - name: {{ template "fullname" . }}-{{ .Values.persistence.name }} + name: "{{ template "fullname" . }}-{{ .Values.dataPVC.name }}" {{- end }} resources: limits: @@ -76,18 +76,25 @@ spec: volumeClaimTemplates: {{- if .Values.persistence.enabled }} - metadata: - name: {{ template "fullname" . }}-{{ .Values.persistence.name }} + name: "{{ template "fullname" . }}-{{ .Values.dataPVC.name }}" labels: app: {{ template "fullname" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" spec: - {{- if .Values.persistence.storageClassName }} - storageClassName: {{ .Values.persistence.storageClassName | quote }} + {{- if .Values.persistence.useDynamicProvisioning }} + # If present, use the storageClassName from the values.yaml, else use the + # default storageClass setup by Kubernetes Administrator + # + # Setting storageClassName to nil means use the default storage class + storageClassName: {{ default nil .Values.dataPVC.storageClassName | quote }} + {{- else }} + # Disable dynamic provisioning + storageClassName: "" {{- end }} accessModes: [ "ReadWriteOnce" ] resources: requests: - storage: {{ .Values.persistence.size | quote }} + storage: {{ .Values.dataPVC.size | quote }} {{- end }} diff --git a/charts/ibm-mqadvanced-server-dev/values.yaml b/charts/ibm-mqadvanced-server-dev/values.yaml index 32cc774..75786e0 100644 --- a/charts/ibm-mqadvanced-server-dev/values.yaml +++ b/charts/ibm-mqadvanced-server-dev/values.yaml @@ -14,8 +14,9 @@ # license must be set to "accept" to accept the terms of the IBM license license: "not accepted" + image: - # repository is the container repository to use, which must contain IBM MQ Advanced + # repository is the container repository to use, which must contain IBM MQ Advanced for Developers repository: ibmcom/mq # tag is the tag to use for the container repository tag: 9 @@ -23,18 +24,27 @@ image: pullSecret: # pullPolicy is either IfNotPresent or Always (https://kubernetes.io/docs/concepts/containers/images/) pullPolicy: IfNotPresent -# data section specifies settings for the main persistent volume claim, which is used for data in /var/mqm + +# persistence section specifies persistence settings which apply to the whole chart persistence: + # enabled is whether to use Persistent Volumes or not enabled: true - # name sets part of the name for this persistent volume claim + # useDynamicProvisioning is whether or not to use Storage Classes to dynamically create Persistent Volumes + useDynamicProvisioning: true + +# dataPVC section specifies settings for the main Persistent Volume Claim, which is used for data in /var/mqm +dataPVC: + # name sets part of the name for this Persistent Volume Claim name: "data" - ## storageClassName is the name of the storage class to use, or an empty string for no storage class + ## storageClassName is the name of the Storage Class to use, or an empty string for no Storage Class storageClassName: "" - ## size is the minimum size of the persistent volume + ## size is the minimum size of the Persistent Volume size: 2Gi + service: name: qmgr type: ClusterIP + resources: limits: cpu: 500m @@ -42,6 +52,7 @@ resources: requests: cpu: 500m memory: 512Mi + # queueManager section specifies settings for the MQ Queue Manager queueManager: # name allows you to specify the name to use for the queue manager. Defaults to the Helm release name. @@ -52,5 +63,6 @@ queueManager: adminPassword: # appPassword sets the password of the app user appPassword: + # nameOverride can be set to partially override the name of the resources created by this chart nameOverride: diff --git a/charts/ibm-mqadvanced-server-prod/Chart.yaml b/charts/ibm-mqadvanced-server-prod/Chart.yaml index e617bcf..8ba3246 100644 --- a/charts/ibm-mqadvanced-server-prod/Chart.yaml +++ b/charts/ibm-mqadvanced-server-prod/Chart.yaml @@ -15,5 +15,5 @@ apiVersion: v1 description: IBM MQ queue manager name: ibm-mqadvanced-server-prod -version: 0.1.0 +version: 1.0.0-beta icon: https://developer.ibm.com/messaging/wp-content/uploads/sites/18/2017/07/IBM-MQ-Square-200.png diff --git a/charts/ibm-mqadvanced-server-prod/templates/stateful-set.yaml b/charts/ibm-mqadvanced-server-prod/templates/stateful-set.yaml index fdd854e..6ba3c56 100644 --- a/charts/ibm-mqadvanced-server-prod/templates/stateful-set.yaml +++ b/charts/ibm-mqadvanced-server-prod/templates/stateful-set.yaml @@ -51,7 +51,7 @@ spec: {{- if .Values.persistence.enabled }} volumeMounts: - mountPath: "/mnt/mqm" - name: {{ template "fullname" . }}-{{ .Values.persistence.name }} + name: "{{ template "fullname" . }}-{{ .Values.dataPVC.name }}" {{- end }} # Set liveness probe to determine if the queue manager is running livenessProbe: @@ -67,7 +67,7 @@ spec: exec: command: - chkmqready - initialDelaySeconds: 5 + initialDelaySeconds: 10 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 1 @@ -79,18 +79,25 @@ spec: volumeClaimTemplates: {{- if .Values.persistence.enabled }} - metadata: - name: {{ template "fullname" . }}-{{ .Values.persistence.name }} + name: "{{ template "fullname" . }}-{{ .Values.dataPVC.name }}" labels: app: {{ template "fullname" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" spec: - {{- if .Values.persistence.storageClassName }} - storageClassName: {{ .Values.persistence.storageClassName | quote }} + {{- if .Values.persistence.useDynamicProvisioning }} + ## If present, use the storageClassName from the values.yaml, else use the + ## default storageClass setup by Kubernetes Administrator + ## + ## Setting storageClassName to nil means use the default storage class + storageClassName: {{ default nil .Values.dataPVC.storageClassName | quote }} + {{- else }} + ## Disable dynamic provisioning + storageClassName: "" {{- end }} accessModes: [ "ReadWriteOnce" ] resources: requests: - storage: {{ .Values.persistence.size | quote }} + storage: {{ .Values.dataPVC.size | quote }} {{- end }} diff --git a/charts/ibm-mqadvanced-server-prod/values.yaml b/charts/ibm-mqadvanced-server-prod/values.yaml index 7cf8b0c..fe3d321 100644 --- a/charts/ibm-mqadvanced-server-prod/values.yaml +++ b/charts/ibm-mqadvanced-server-prod/values.yaml @@ -14,6 +14,7 @@ # license must be set to "accept" to accept the terms of the IBM license license: "not accepted" + image: # repository is the container repository to use, which must contain IBM MQ Advanced repository: @@ -23,18 +24,27 @@ image: pullSecret: # pullPolicy is either IfNotPresent or Always (https://kubernetes.io/docs/concepts/containers/images/) pullPolicy: IfNotPresent -# persistence section specifies settings for the main persistent volume claim, which is used for data in /var/mqm + +# persistence section specifies persistence settings which apply to the whole chart persistence: + # enabled is whether to use Persistent Volumes or not enabled: true - # name sets part of the name for this persistent volume claim + # useDynamicProvisioning is whether or not to use Storage Classes to dynamically create Persistent Volumes + useDynamicProvisioning: true + +# dataPVC section specifies settings for the main Persistent Volume Claim, which is used for data in /var/mqm +dataPVC: + # name sets part of the name for this Persistent Volume Claim name: "data" - ## storageClassName is the name of the storage class to use, or an empty string for no storage class + # storageClassName is the name of the Storage Class to use, or an empty string for no Storage Class storageClassName: "" - ## size is the minimum size of the persistent volume + # size is the minimum size of the Persistent Volume size: 2Gi + service: name: qmgr type: ClusterIP + resources: limits: cpu: 1 @@ -42,11 +52,14 @@ resources: requests: cpu: 1 memory: 1Gi + # queueManager section specifies settings for the MQ Queue Manager queueManager: # name allows you to specify the name to use for the queue manager. Defaults to the Helm release name. name: + # nameOverride can be set to partially override the name of the resources created by this chart nameOverride: + # livenessDelay should be raised if your system cannot start the Queue Manager in 60 seconds livenessDelay: 60