Initial commit
This commit is contained in:
19
charts/mq-advancedserver/Chart.yaml
Normal file
19
charts/mq-advancedserver/Chart.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
# © Copyright IBM Corporation 2017
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: v1
|
||||
description: IBM MQ queue manager
|
||||
name: mq-advancedserver
|
||||
version: 1.0.0
|
||||
icon: https://developer.ibm.com/messaging/wp-content/uploads/sites/18/2017/07/IBM-MQ-Square-200.png
|
||||
2038
charts/mq-advancedserver/LICENSE
Normal file
2038
charts/mq-advancedserver/LICENSE
Normal file
File diff suppressed because it is too large
Load Diff
1141
charts/mq-advancedserver/LICENSE_locale/LICENSE_cs
Normal file
1141
charts/mq-advancedserver/LICENSE_locale/LICENSE_cs
Normal file
File diff suppressed because it is too large
Load Diff
1289
charts/mq-advancedserver/LICENSE_locale/LICENSE_de
Normal file
1289
charts/mq-advancedserver/LICENSE_locale/LICENSE_de
Normal file
File diff suppressed because it is too large
Load Diff
1171
charts/mq-advancedserver/LICENSE_locale/LICENSE_el
Normal file
1171
charts/mq-advancedserver/LICENSE_locale/LICENSE_el
Normal file
File diff suppressed because it is too large
Load Diff
2037
charts/mq-advancedserver/LICENSE_locale/LICENSE_en
Normal file
2037
charts/mq-advancedserver/LICENSE_locale/LICENSE_en
Normal file
File diff suppressed because it is too large
Load Diff
1261
charts/mq-advancedserver/LICENSE_locale/LICENSE_es
Normal file
1261
charts/mq-advancedserver/LICENSE_locale/LICENSE_es
Normal file
File diff suppressed because it is too large
Load Diff
1369
charts/mq-advancedserver/LICENSE_locale/LICENSE_fr
Normal file
1369
charts/mq-advancedserver/LICENSE_locale/LICENSE_fr
Normal file
File diff suppressed because it is too large
Load Diff
1121
charts/mq-advancedserver/LICENSE_locale/LICENSE_in
Normal file
1121
charts/mq-advancedserver/LICENSE_locale/LICENSE_in
Normal file
File diff suppressed because it is too large
Load Diff
1215
charts/mq-advancedserver/LICENSE_locale/LICENSE_it
Normal file
1215
charts/mq-advancedserver/LICENSE_locale/LICENSE_it
Normal file
File diff suppressed because it is too large
Load Diff
1073
charts/mq-advancedserver/LICENSE_locale/LICENSE_ja
Normal file
1073
charts/mq-advancedserver/LICENSE_locale/LICENSE_ja
Normal file
File diff suppressed because it is too large
Load Diff
1061
charts/mq-advancedserver/LICENSE_locale/LICENSE_ko
Normal file
1061
charts/mq-advancedserver/LICENSE_locale/LICENSE_ko
Normal file
File diff suppressed because it is too large
Load Diff
1183
charts/mq-advancedserver/LICENSE_locale/LICENSE_lt
Normal file
1183
charts/mq-advancedserver/LICENSE_locale/LICENSE_lt
Normal file
File diff suppressed because it is too large
Load Diff
1173
charts/mq-advancedserver/LICENSE_locale/LICENSE_pl
Normal file
1173
charts/mq-advancedserver/LICENSE_locale/LICENSE_pl
Normal file
File diff suppressed because it is too large
Load Diff
1213
charts/mq-advancedserver/LICENSE_locale/LICENSE_pt
Normal file
1213
charts/mq-advancedserver/LICENSE_locale/LICENSE_pt
Normal file
File diff suppressed because it is too large
Load Diff
1173
charts/mq-advancedserver/LICENSE_locale/LICENSE_ru
Normal file
1173
charts/mq-advancedserver/LICENSE_locale/LICENSE_ru
Normal file
File diff suppressed because it is too large
Load Diff
1141
charts/mq-advancedserver/LICENSE_locale/LICENSE_sl
Normal file
1141
charts/mq-advancedserver/LICENSE_locale/LICENSE_sl
Normal file
File diff suppressed because it is too large
Load Diff
1173
charts/mq-advancedserver/LICENSE_locale/LICENSE_tr
Normal file
1173
charts/mq-advancedserver/LICENSE_locale/LICENSE_tr
Normal file
File diff suppressed because it is too large
Load Diff
1157
charts/mq-advancedserver/LICENSE_locale/LICENSE_zh
Normal file
1157
charts/mq-advancedserver/LICENSE_locale/LICENSE_zh
Normal file
File diff suppressed because it is too large
Load Diff
1167
charts/mq-advancedserver/LICENSE_locale/LICENSE_zh_TW
Normal file
1167
charts/mq-advancedserver/LICENSE_locale/LICENSE_zh_TW
Normal file
File diff suppressed because it is too large
Load Diff
74
charts/mq-advancedserver/README.md
Normal file
74
charts/mq-advancedserver/README.md
Normal file
@@ -0,0 +1,74 @@
|
||||
<p align="center"><img src="https://developer.ibm.com/messaging/wp-content/uploads/sites/18/2017/07/IBM-MQ-Square-200.png" width="150"></p>
|
||||
|
||||
# IBM MQ
|
||||
|
||||
IBM® MQ is messaging middleware that simplifies and accelerates the integration of diverse applications and business data across multiple platforms. It uses message queues to facilitate the exchanges of information and offers a single messaging solution for cloud, mobile, Internet of Things (IoT) and on-premises environments.
|
||||
|
||||
# Introduction
|
||||
|
||||
This chart deploys a single IBM MQ Advanced server (queue manager) into an IBM Cloud private or other Kubernetes environment.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Kubernetes 1.5 or greater, with beta APIs enabled
|
||||
- If persistence is enabled (see [configuration](#configuration)), then you either need to create a PersistentVolume, or specify a Storage Class if classes are defined in your cluster.
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `foo`:
|
||||
|
||||
```bash
|
||||
helm install --name foo stable/mq-advancedserver --set license=accept
|
||||
```
|
||||
|
||||
This command accepts the [IBM MQ Advanced license](LICENSE) and deploys an MQ Advanced server on the Kubernetes cluster. The [configuration](#configuration) section lists the parameters that can be configured during installation.
|
||||
|
||||
> **Tip**: See all the resources deployed by the chart using `kubectl get all -l release=foo`
|
||||
|
||||
## Verifying the Chart
|
||||
See NOTES.txt associated with this chart for verification instructions
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall/delete the `foo` release:
|
||||
|
||||
```bash
|
||||
helm delete foo
|
||||
```
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart, except any Persistent Volume Claims (PVCs). This is the default behavior of Kubernetes, and ensures that valuable data is not deleted. In order to delete the Queue Manager's data, you can delete the PVC using the following command:
|
||||
|
||||
```bash
|
||||
kubectl delete pvc -l release=foo
|
||||
```
|
||||
|
||||
## Configuration
|
||||
The following table lists the configurable parameters of the `mq-advancedserver` chart and their default values.
|
||||
|
||||
| Parameter | Description | Default |
|
||||
| ---------------------------- | --------------------------------------------- | ---------------------------------------------------------- |
|
||||
| `license` | Set to `accept` to accept the terms of the IBM license | `not accepted` |
|
||||
| `image.name` | Image name | `nil` |
|
||||
| `image.tag` | Image tag | `nil` |
|
||||
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
||||
| `image.pullSecret` | Image pull secret, if you are using a private Docker registry | `nil` |
|
||||
| `data.persistence.enabled` | Use a PersistentVolume to persist MQ data (under `/var/mqm`) | `true` |
|
||||
| `data.persistence.storageClass` | Storage class of backing Persistent Volume | `nil` |
|
||||
| `data.persistence.size` | Size of data volume | `2Gi` |
|
||||
| `service.name` | Name of the Kubernetes service to create | `qmgr` |
|
||||
| `service.type` | Kubernetes service type exposing ports, e.g. `NodePort` | `ClusterIP` |
|
||||
| `queuemanager.name` | MQ Queue Manager name | Helm release name |
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart.
|
||||
|
||||
> **Tip**: You can use the default [values.yaml](values.yaml)
|
||||
|
||||
## Persistence
|
||||
|
||||
The chart mounts a [Persistent Volume](http://kubernetes.io/docs/user-guide/persistent-volumes/).
|
||||
|
||||
# Copyright
|
||||
|
||||
© Copyright IBM Corporation 2017
|
||||
3
charts/mq-advancedserver/templates/NOTES.txt
Normal file
3
charts/mq-advancedserver/templates/NOTES.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
MQ can be accessed via port 1414 on the following DNS name from within your cluster:
|
||||
{{ template "fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
|
||||
|
||||
29
charts/mq-advancedserver/templates/_helpers.tpl
Normal file
29
charts/mq-advancedserver/templates/_helpers.tpl
Normal file
@@ -0,0 +1,29 @@
|
||||
# © Copyright IBM Corporation 2017
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 24 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 24 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 24 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
32
charts/mq-advancedserver/templates/service.yaml
Normal file
32
charts/mq-advancedserver/templates/service.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
# © Copyright IBM Corporation 2017
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "fullname" . }}
|
||||
labels:
|
||||
app: {{ template "fullname" . }}
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
ports:
|
||||
- port: 1414
|
||||
name: {{ .Values.service.name }}-1
|
||||
# - port: 9443
|
||||
#name: {{ .Values.service.name }}-2
|
||||
selector:
|
||||
app: {{ template "fullname" . }}
|
||||
97
charts/mq-advancedserver/templates/stateful-set.yaml
Normal file
97
charts/mq-advancedserver/templates/stateful-set.yaml
Normal file
@@ -0,0 +1,97 @@
|
||||
# © Copyright IBM Corporation 2017
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: apps/v1beta1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: {{ template "fullname" . }}
|
||||
labels:
|
||||
app: {{ template "fullname" . }}
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
spec:
|
||||
serviceName: {{ .Values.service.name }}
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "fullname" . }}
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
QM_IDENTIFIER: "{{ .Release.Name }}"
|
||||
spec:
|
||||
{{- if .Values.image.pullSecret }}
|
||||
imagePullSecrets:
|
||||
- name: {{ .Values.image.pullSecret }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: qmgr
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
ports:
|
||||
- containerPort: 1414
|
||||
#- containerPort: 9443
|
||||
env:
|
||||
- name: LICENSE
|
||||
value: {{ .Values.license }}
|
||||
- name: MQ_QMGR_NAME
|
||||
value: {{ .Values.queuemanager.name | default .Release.Name | replace "-" "" }}
|
||||
{{- if .Values.data.persistence.enabled }}
|
||||
volumeMounts:
|
||||
- mountPath: "/mnt/mqm"
|
||||
name: {{ template "fullname" . }}-{{ .Values.data.name }}
|
||||
{{- end }}
|
||||
# Set liveness probe to determine if the queue manager is running
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- chkmqhealthy
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
failureThreshold: 1
|
||||
# Set readiness probe to determine if the MQ listener is running
|
||||
readinessProbe:
|
||||
exec:
|
||||
command:
|
||||
- chkmqready
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 5
|
||||
timeoutSeconds: 3
|
||||
failureThreshold: 1
|
||||
resources:
|
||||
limits:
|
||||
{{ toYaml .Values.resources.limits | indent 14 }}
|
||||
requests:
|
||||
{{ toYaml .Values.resources.requests | indent 14 }}
|
||||
volumeClaimTemplates:
|
||||
{{- if .Values.data.persistence.enabled }}
|
||||
- metadata:
|
||||
name: {{ template "fullname" . }}-{{ .Values.data.name }}
|
||||
labels:
|
||||
app: {{ template "fullname" . }}
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
spec:
|
||||
{{- if .Values.data.persistence.storageClassName }}
|
||||
storageClassName: {{ .Values.data.persistence.storageClassName | quote }}
|
||||
{{- end }}
|
||||
accessModes: [ "ReadWriteOnce" ]
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.data.persistence.size | quote }}
|
||||
{{- end }}
|
||||
40
charts/mq-advancedserver/templates/test.yaml
Normal file
40
charts/mq-advancedserver/templates/test.yaml
Normal file
@@ -0,0 +1,40 @@
|
||||
# © Copyright IBM Corporation 2017
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: "{{.Release.Name}}-test"
|
||||
labels:
|
||||
app: {{ template "fullname" . }}
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
release: "{{ .Release.Name }}"
|
||||
heritage: "{{ .Release.Service }}"
|
||||
annotations:
|
||||
"helm.sh/hook": test-success
|
||||
spec:
|
||||
containers:
|
||||
- name: {{.Release.Name}}-test
|
||||
image: alpine:latest
|
||||
env:
|
||||
# Host name for the service running an MQ queue manager
|
||||
- name: MQ_HOST
|
||||
value: {{ template "fullname" . }}
|
||||
# Time to try before giving up and failing the test (in seconds)
|
||||
- name: TIMEOUT
|
||||
value: "10"
|
||||
command: ["sh"]
|
||||
# Check that port 1414 is listening
|
||||
args: ["-xc", "nc -v -z -w$(TIMEOUT) $(MQ_HOST) 1414"]
|
||||
restartPolicy: Never
|
||||
49
charts/mq-advancedserver/values.yaml
Normal file
49
charts/mq-advancedserver/values.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
# © Copyright IBM Corporation 2017
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# 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:
|
||||
# tag is the tag to use for the container repository
|
||||
tag:
|
||||
# pullSecret is the secret to use when pulling the image from a private registry
|
||||
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
|
||||
data:
|
||||
# name sets part of the name for this persistent volume claim
|
||||
name: "data"
|
||||
persistence:
|
||||
enabled: true
|
||||
## 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: 2Gi
|
||||
service:
|
||||
name: qmgr
|
||||
type: ClusterIP
|
||||
resources:
|
||||
limits:
|
||||
cpu: 1
|
||||
memory: 1Gi
|
||||
requests:
|
||||
cpu: 1
|
||||
memory: 1Gi
|
||||
queuemanager:
|
||||
name:
|
||||
# nameOverride can be set to partially override the name of the resources created by this chart
|
||||
nameOverride:
|
||||
Reference in New Issue
Block a user