├── .github ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── release.yml ├── .gitignore ├── DCO1.1.txt ├── LICENSE ├── README.md ├── charts └── ibm-mq │ ├── .helmignore │ ├── Chart.yaml │ ├── README.md │ ├── logo │ └── ibm-mq-blue-icon.png │ ├── templates │ ├── NOTES.txt │ ├── _helpers.tpl │ ├── config-map.yaml │ ├── metrics-service.yaml │ ├── pvc-data.yaml │ ├── pvc-log.yaml │ ├── route-hacrr.yaml │ ├── route-qm.yaml │ ├── route-web.yaml │ ├── service-ingress.yaml │ ├── service-loadbalancer-hacrr.yaml │ ├── service-loadbalancer.yaml │ ├── service-nativeha.yaml │ ├── service-qm.yaml │ ├── service-web.yaml │ ├── service.yaml │ ├── serviceaccount.yaml │ └── stateful-set.yaml │ └── values.yaml └── samples ├── AWSEKS ├── README.md ├── deploy │ ├── cleanup.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp_nativeha.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── AWSEKSCrossRegionReplication ├── README.md ├── deploy │ ├── cleanup.sh │ ├── installRegion1.sh │ ├── installRegion2.sh │ ├── mtlsqm.yaml_template │ ├── secureapp_nativeha.yaml_template │ ├── secureapp_nativeha_region1.yaml │ └── secureapp_nativeha_region2.yaml └── test │ ├── ccdt_template.json │ ├── deleteRegion1SwitchToRegion2.sh │ ├── getMessageRegion1.sh │ ├── getMessageRegion2.sh │ ├── mqclient.ini │ ├── region2Live.yaml │ ├── sendMessageRegion1.sh │ └── sendMessageRegion2.sh ├── AWSEKSPartnerSolution ├── README.md ├── deploy │ ├── cleanup.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp_nativeha.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── AzureAKS ├── README.md ├── deploy │ ├── cleanup.sh │ ├── createAKSCluster.sh │ ├── deleteAKSCluster.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp_nativeha.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── AzureAKSFreeTier ├── README.md ├── deploy │ ├── cleanup.sh │ ├── createAKSCluster.sh │ ├── deleteAKSCluster.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── AzureAKSMultiInstance ├── README.md ├── deploy │ ├── cleanup.sh │ ├── createAKSCluster.sh │ ├── customStorageClass.yaml │ ├── deleteAKSCluster.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp_multiinstance.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── GoogleKubernetesEngine ├── README.md ├── deploy │ ├── cleanup.sh │ ├── createGKECluster.sh │ ├── deleteGKECluster.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp_nativeha.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── IBMKubernetesService ├── README.md ├── deploy │ ├── cleanup.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp_nativeha.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── Minikube ├── README.md ├── deploy │ ├── cleanup.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp_nativeha.yaml ├── img │ └── StartingMinikube.png └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── getMessageMinikubeService.sh │ ├── mqclient.ini │ ├── sendMessage.sh │ └── sendMessageMinikubeService.sh ├── OpenShiftIBMPower ├── README.md ├── deploy │ ├── cleanup.sh │ ├── ibmpower.yaml │ ├── install.sh │ └── mtlsqm.yaml_template └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── OpenShiftNativeHA ├── README.md ├── deploy │ ├── cleanup.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp_nativeha.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── OpenShiftNativeHACRR ├── README.md ├── deploy │ ├── cleanup.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp_nativeha.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── OpenShiftNativeHAMQAdvancedContainer ├── README.md ├── deploy │ ├── cleanup.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp_nativeha.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── PerformanceSniffTest ├── README.md ├── buildDrivingApp │ └── install.sh ├── deploy │ ├── cleanup.sh │ ├── install.sh │ ├── perfhelm_nativeha.yaml │ └── resource.yaml_template └── test │ ├── control.prop │ ├── jobnonpersistence.yaml │ ├── jobnonpersistencetls.yaml │ ├── jobpersistence.yaml │ ├── jobpersistencetls.yaml │ └── testAll.sh ├── README.md ├── RancherRKEOpenEBS ├── README.md ├── deploy │ ├── cleanup.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh ├── VMwareTanzu ├── README.md ├── deploy │ ├── cleanup.sh │ ├── install.sh │ ├── mtlsqm.yaml_template │ └── secureapp_nativeha.yaml └── test │ ├── ccdt_template.json │ ├── getMessage.sh │ ├── mqclient.ini │ └── sendMessage.sh └── genericresources ├── createcerts ├── application.crt ├── application.jks ├── application.kdb ├── application.key ├── application.p12 ├── application.rdb ├── application.sth ├── generate-crr-certs.sh ├── generate-test-cert.sh ├── server-live.crt ├── server-live.key ├── server-live.p12 ├── server-recovery.crt ├── server-recovery.key ├── server-recovery.p12 ├── server.crt ├── server.jks ├── server.kdb ├── server.key ├── server.p12 ├── server.rdb └── server.sth ├── kubernetesupgrade ├── drainMQContainers.sh └── mqnativeha-pdb.yaml └── rollingupdate └── demoRollingUpdate.sh /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Please ensure all items are complete before opening. 2 | 3 | - [ ] Tick to sign-off your agreement to the [Developer's Certificate of Origin](https://github.com/ibm-messaging/mq-helm/DCO1.1.txt) 4 | - [ ] You have added README updates for any code changes 5 | - [ ] You have completed the PR template below: 6 | 7 | ## What 8 | 9 | What was changed 10 | 11 | ## How 12 | 13 | How the change was implemented or reasoning behind it 14 | 15 | ## Testing 16 | 17 | How to test your changes work, not required for documentation changes. 18 | 19 | ## Issues 20 | 21 | Links to the github issue(s) (if present) that this pull request is resolving. -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release Charts 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | release: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v2 14 | with: 15 | fetch-depth: 0 16 | 17 | - name: Configure Git 18 | run: | 19 | git config user.name "$GITHUB_ACTOR" 20 | git config user.email "$GITHUB_ACTOR@users.noreply.github.com" 21 | 22 | - name: Install Helm 23 | uses: azure/setup-helm@v1 24 | with: 25 | version: v3.4.0 26 | 27 | - name: Run chart-releaser 28 | uses: helm/chart-releaser-action@v1.2.1 29 | env: 30 | CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | samples/RancherRKEOpenEBS/test/ccdt_generated.json 2 | samples/RancherRKEOpenEBS/deploy/mtlsqm.yaml 3 | samples/AWSEKS/deploy/mtlsqm.yaml 4 | samples/AWSEKS/test/ccdt_generated.json 5 | samples/AzureAKS/deploy/mtlsqm.yaml 6 | samples/AzureAKS/test/ccdt_generated.json 7 | samples/AzureAKSMultiInstance/deploy/mtlsqm.yaml 8 | samples/AzureAKSMultiInstance/test/ccdt_generated.json 9 | samples/OpenShiftNativeHA/deploy/mtlsqm.yaml 10 | samples/OpenShiftNativeHA/test/ccdt_generated.json 11 | samples/AWSEKSCrossRegionReplication/deploy/mtlsqm.yaml 12 | samples/AWSEKSCrossRegionReplication/test/ccdt_generated.json 13 | -------------------------------------------------------------------------------- /DCO1.1.txt: -------------------------------------------------------------------------------- 1 | Developer's Certificate of Origin 1.1 2 | 3 | By making a contribution to this project, I certify that: 4 | 5 | (a) The contribution was created in whole or in part by me and I 6 | have the right to submit it under the open source license 7 | indicated in the file; or 8 | 9 | (b) The contribution is based upon previous work that, to the best 10 | of my knowledge, is covered under an appropriate open source 11 | license and I have the right under that license to submit that 12 | work with modifications, whether created in whole or in part 13 | by me, under the same open source license (unless I am 14 | permitted to submit under a different license), as indicated 15 | in the file; or 16 | 17 | (c) The contribution was provided directly to me by some other 18 | person who certified (a), (b) or (c) and I have not modified 19 | it. 20 | 21 | (d) I understand and agree that this project and the contribution 22 | are public and that a record of the contribution (including all 23 | personal information I submit with it, including my sign-off) is 24 | maintained indefinitely and may be redistributed consistent with 25 | this project or the open source license(s) involved. -------------------------------------------------------------------------------- /charts/ibm-mq/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/ibm-mq/Chart.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021, 2025 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | apiVersion: v2 15 | name: ibm-mq 16 | description: IBM MQ queue manager 17 | version: 12.0.1 18 | type: application 19 | appVersion: 9.4.2.0 20 | kubeVersion: ">=1.18.0-0" 21 | keywords: 22 | - IBM MQ 23 | - MQ 24 | - amd64 25 | - message queue 26 | - Integration 27 | icon: https://raw.githubusercontent.com/IBM/charts/master/logo/ibm-mq-blue-icon.png 28 | -------------------------------------------------------------------------------- /charts/ibm-mq/logo/ibm-mq-blue-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/charts/ibm-mq/logo/ibm-mq-blue-icon.png -------------------------------------------------------------------------------- /charts/ibm-mq/templates/metrics-service.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | {{- if .Values.metrics.enabled }} 16 | # This is a separate service, because Prometheus will try and gather metrics 17 | # from the MQ port (1414) if it's included in the same service. 18 | apiVersion: v1 19 | kind: Service 20 | metadata: 21 | annotations: 22 | prometheus.io/scrape: 'true' 23 | prometheus.io/port: '9157' 24 | name: '{{ include "ibm-mq.fullname" . }}-metrics' 25 | labels: 26 | {{- include "ibm-mq.labels" . | nindent 4 }} 27 | spec: 28 | type: ClusterIP 29 | ports: 30 | - targetPort: 9157 31 | port: 9157 32 | protocol: TCP 33 | selector: 34 | {{- include "ibm-mq.selectorLabels" . | nindent 4 }} 35 | {{- end }} 36 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/pvc-data.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2022 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | {{- if .Values.queueManager.multiinstance.enable }} 15 | {{ $statefulSetName := include "ibm-mq.fullname" . }} 16 | {{ $dataVolumeClaimName := include "ibm-mq.pvcDataName" . }} 17 | apiVersion: v1 18 | kind: PersistentVolumeClaim 19 | metadata: 20 | name: {{ $dataVolumeClaimName }}-{{ $statefulSetName }} 21 | labels: 22 | {{- include "ibm-mq.labels" . | nindent 4 }} 23 | spec: 24 | storageClassName: {{ default nil .Values.persistence.dataPVC.storageClassName | quote }} 25 | accessModes: 26 | - "ReadWriteMany" 27 | resources: 28 | requests: 29 | storage: {{ .Values.persistence.dataPVC.size | quote }} 30 | {{- end }} 31 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/pvc-log.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2022 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | {{- if .Values.queueManager.multiinstance.enable }} 15 | {{ $statefulSetName := include "ibm-mq.fullname" . }} 16 | {{ $logVolumeClaimName := include "ibm-mq.pvcLogName" . }} 17 | apiVersion: v1 18 | kind: PersistentVolumeClaim 19 | metadata: 20 | name: {{ $logVolumeClaimName }}-{{ $statefulSetName }} 21 | labels: 22 | {{- include "ibm-mq.labels" . | nindent 4 }} 23 | spec: 24 | storageClassName: {{ default nil .Values.persistence.logPVC.storageClassName | quote }} 25 | accessModes: 26 | - "ReadWriteMany" 27 | resources: 28 | requests: 29 | storage: {{ .Values.persistence.logPVC.size | quote }} 30 | {{- end }} 31 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/route-hacrr.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.route.openShiftRoute.hacrrtraffic }} 2 | # © Copyright IBM Corporation 2025 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | apiVersion: route.openshift.io/v1 16 | kind: Route 17 | metadata: 18 | name: "{{ include "ibm-mq.fullname" . }}-nhacrr" 19 | labels: 20 | {{- include "ibm-mq.labels" . | nindent 4 }} 21 | spec: 22 | to: 23 | kind: Service 24 | name: {{ include "ibm-mq.fullname" . }} 25 | port: 26 | targetPort: 9415 27 | tls: 28 | termination: passthrough 29 | {{ end -}} 30 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/route-qm.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | {{- if .Values.route.openShiftRoute.mqtraffic }} 16 | apiVersion: route.openshift.io/v1 17 | kind: Route 18 | metadata: 19 | name: "{{ include "ibm-mq.fullname" . }}-qm" 20 | labels: 21 | {{- include "ibm-mq.labels" . | nindent 4 }} 22 | spec: 23 | to: 24 | kind: Service 25 | name: {{ include "ibm-mq.fullname" . }} 26 | port: 27 | targetPort: 1414 28 | tls: 29 | termination: passthrough 30 | {{ end -}} 31 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/route-web.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | {{- if .Values.route.openShiftRoute.webconsole }} 16 | apiVersion: route.openshift.io/v1 17 | kind: Route 18 | metadata: 19 | name: "{{ include "ibm-mq.fullname" . }}-web" 20 | labels: 21 | {{- include "ibm-mq.labels" . | nindent 4 }} 22 | spec: 23 | to: 24 | kind: Service 25 | name: {{ include "ibm-mq.fullname" . }} 26 | port: 27 | targetPort: 9443 28 | tls: 29 | termination: passthrough 30 | {{ end -}} 31 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/service-loadbalancer-hacrr.yaml: -------------------------------------------------------------------------------- 1 | {{- if (.Values.route.loadBalancer.hacrrtraffic) }} 2 | # © Copyright IBM Corporation 2025 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | # A seperate load balancer to MQ data and web console is used. On certain 17 | # platforms, such as AWS EKS, if all ports are combined it does not work. 18 | # This is due to port 1414 not being open in recovery mode. Therefore a 19 | # individual loadbalancer for Native HA CRR is created. 20 | 21 | apiVersion: v1 22 | kind: Service 23 | metadata: 24 | name: {{ include "ibm-mq.fullname" . }}-loadbalancer-hacrr 25 | labels: 26 | {{- include "ibm-mq.labels" . | nindent 4 }} 27 | # Additional annotations to be added to the load balancer annotations 28 | {{- with .Values.route.loadBalancer.annotations }} 29 | annotations: 30 | {{- toYaml . | nindent 4 }} 31 | {{- end }} 32 | spec: 33 | type: LoadBalancer 34 | ports: 35 | {{- if .Values.route.loadBalancer.hacrrtraffic }} 36 | - port: 9415 37 | name: ha-crr 38 | {{- end }} 39 | {{- if .Values.route.loadBalancer.loadBalancerSourceRanges }} 40 | loadBalancerSourceRanges: 41 | {{- range $group := .Values.route.loadBalancer.loadBalancerSourceRanges }} 42 | - {{ $group -}} 43 | {{ end }} 44 | {{- end }} 45 | selector: 46 | {{- include "ibm-mq.selectorLabels" . | nindent 4 }} 47 | {{- end }} 48 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/service-loadbalancer.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2022, 2023 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | {{- if or (.Values.route.loadBalancer.mqtraffic) (.Values.route.loadBalancer.webconsole) }} 16 | apiVersion: v1 17 | kind: Service 18 | metadata: 19 | name: {{ include "ibm-mq.fullname" . }}-loadbalancer 20 | labels: 21 | {{- include "ibm-mq.labels" . | nindent 4 }} 22 | # Additional annotations to be added to the load balancer annotations 23 | {{- with .Values.route.loadBalancer.annotations }} 24 | annotations: 25 | {{- toYaml . | nindent 4 }} 26 | {{- end }} 27 | spec: 28 | type: LoadBalancer 29 | ports: 30 | {{- if .Values.route.loadBalancer.mqtraffic }} 31 | - port: 1414 32 | name: qmgr 33 | {{- end }} 34 | {{- if .Values.route.loadBalancer.webconsole }} 35 | - port: 9443 36 | name: console-https 37 | {{- end }} 38 | {{- if .Values.route.loadBalancer.loadBalancerSourceRanges }} 39 | loadBalancerSourceRanges: 40 | {{- range $group := .Values.route.loadBalancer.loadBalancerSourceRanges }} 41 | - {{ $group -}} 42 | {{ end }} 43 | {{- end }} 44 | selector: 45 | {{- include "ibm-mq.selectorLabels" . | nindent 4 }} 46 | {{- end }} 47 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/service-nativeha.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | {{- if .Values.queueManager.nativeha.enable }} 16 | apiVersion: v1 17 | kind: Service 18 | metadata: 19 | name: {{ include "ibm-mq.pod0.service" . }} 20 | labels: 21 | {{- include "ibm-mq.labels" . | nindent 4 }} 22 | spec: 23 | type: ClusterIP 24 | ports: 25 | - port: 9414 26 | name: qmgr 27 | publishNotReadyAddresses: true 28 | selector: 29 | statefulset.kubernetes.io/pod-name: {{ include "ibm-mq.pod0.name" . }} 30 | --- 31 | apiVersion: v1 32 | kind: Service 33 | metadata: 34 | name: {{ include "ibm-mq.pod1.service" . }} 35 | labels: 36 | {{- include "ibm-mq.labels" . | nindent 4 }} 37 | spec: 38 | type: ClusterIP 39 | ports: 40 | - port: 9414 41 | name: qmgr 42 | publishNotReadyAddresses: true 43 | selector: 44 | statefulset.kubernetes.io/pod-name: {{ include "ibm-mq.pod1.name" . }} 45 | --- 46 | apiVersion: v1 47 | kind: Service 48 | metadata: 49 | name: {{ include "ibm-mq.pod2.service" . }} 50 | labels: 51 | {{- include "ibm-mq.labels" . | nindent 4 }} 52 | spec: 53 | type: ClusterIP 54 | ports: 55 | - port: 9414 56 | name: qmgr 57 | publishNotReadyAddresses: true 58 | selector: 59 | statefulset.kubernetes.io/pod-name: {{ include "ibm-mq.pod2.name" . }} 60 | --- 61 | {{ end -}} 62 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/service-qm.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021,2025 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | {{- if or .Values.route.nodePort.mqtraffic .Values.route.nodePort.hacrrtraffic }} 15 | apiVersion: v1 16 | kind: Service 17 | metadata: 18 | name: {{ include "ibm-mq.fullname" . }}-qm 19 | labels: 20 | {{- include "ibm-mq.labels" . | nindent 4 }} 21 | spec: 22 | type: NodePort 23 | ports: 24 | {{- if .Values.route.nodePort.mqtraffic }} 25 | - port: 1414 26 | name: qmgr 27 | {{- end }} 28 | {{- if .Values.route.nodePort.hacrrtraffic }} 29 | - port: 9415 30 | name: ha-crr 31 | {{- end }} 32 | selector: 33 | {{- include "ibm-mq.selectorLabels" . | nindent 4 }} 34 | {{- end }} 35 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/service-web.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | {{- if .Values.route.nodePort.webconsole }} 15 | apiVersion: v1 16 | kind: Service 17 | metadata: 18 | name: {{ include "ibm-mq.fullname" . }}-web 19 | labels: 20 | {{- include "ibm-mq.labels" . | nindent 4 }} 21 | spec: 22 | type: NodePort 23 | ports: 24 | - port: 9443 25 | name: console-https 26 | selector: 27 | {{- include "ibm-mq.selectorLabels" . | nindent 4 }} 28 | {{- end }} 29 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/service.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021,2025 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | apiVersion: v1 15 | kind: Service 16 | metadata: 17 | name: {{ include "ibm-mq.fullname" . }} 18 | labels: 19 | {{- include "ibm-mq.labels" . | nindent 4 }} 20 | spec: 21 | type: ClusterIP 22 | ports: 23 | - port: 9443 24 | name: console-https 25 | - port: 1414 26 | name: qmgr 27 | {{- if .Values.queueManager.nativeha.nativehaGroup }} 28 | - port: 9415 29 | name: ha-crr 30 | {{- end }} 31 | selector: 32 | {{- include "ibm-mq.selectorLabels" . | nindent 4 }} 33 | -------------------------------------------------------------------------------- /charts/ibm-mq/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021, 2025 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | apiVersion: v1 15 | kind: ServiceAccount 16 | metadata: 17 | name: {{ include "ibm-mq.fullname" ( . ) }} 18 | labels: 19 | {{- include "ibm-mq.labels" . | nindent 4 }} 20 | {{- if not .Values.image.disableDefaultPullSecret }} 21 | imagePullSecrets: 22 | {{- else if .Values.queueManager.multiinstance.enable }} 23 | imagePullSecrets: 24 | {{- end }} 25 | {{- if not .Values.image.disableDefaultPullSecret }} 26 | - name: ibm-entitlement-key 27 | {{- end }} 28 | {{- if .Values.image.pullSecret }} 29 | - name: {{ .Values.image.pullSecret }} 30 | {{- end }} 31 | -------------------------------------------------------------------------------- /samples/AWSEKS/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=default 17 | 18 | helm delete secureapphelm 19 | kubectl delete secret helmsecure -n $TARGET_NAMESPACE 20 | kubectl delete configmap helmsecure -n $TARGET_NAMESPACE 21 | kubectl delete pvc data-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 22 | kubectl delete pvc data-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 23 | kubectl delete pvc data-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 24 | kubectl delete pvc log-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 25 | kubectl delete pvc log-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 26 | kubectl delete pvc log-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 27 | kubectl delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 28 | kubectl delete pvc qm-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 29 | kubectl delete pvc qm-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 30 | -------------------------------------------------------------------------------- /samples/AWSEKS/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021, 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | if [ $# -gt 2 ] 18 | then 19 | MQ_ADMIN_PASSWORD_NAME="--set queueManager.envVariables[0].name=MQ_ADMIN_PASSWORD" 20 | MQ_ADMIN_PASSWORD_VALUE="--set queueManager.envVariables[0].value=${2}" 21 | MQ_APP_PASSWORD_NAME="--set queueManager.envVariables[1].name=MQ_APP_PASSWORD" 22 | MQ_APP_PASSWORD_VALUE="--set queueManager.envVariables[1].value=${3}" 23 | fi 24 | if [ $# -eq 4 ] 25 | then 26 | LB_ANNOTATION="--set-string route.loadBalancer.annotations.service\.beta\.kubernetes\.io/aws-load-balancer-internal=${4}" 27 | fi 28 | 29 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 30 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 31 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 32 | 33 | ( echo "cat < mtlsqm.yaml 34 | 35 | kubectl config set-context --current --namespace=$TARGET_NAMESPACE 36 | kubectl apply -f mtlsqm.yaml 37 | 38 | helm install secureapphelm ../../../charts/ibm-mq -f secureapp_nativeha.yaml $MQ_ADMIN_PASSWORD_NAME $MQ_ADMIN_PASSWORD_VALUE $MQ_APP_PASSWORD_NAME $MQ_APP_PASSWORD_VALUE $LB_ANNOTATION 39 | -------------------------------------------------------------------------------- /samples/AWSEKS/deploy/mtlsqm.yaml_template: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | kind: ConfigMap 15 | apiVersion: v1 16 | metadata: 17 | name: helmsecure 18 | namespace: $TARGET_NAMESPACE 19 | data: 20 | mq.mqsc: |- 21 | DEFINE QLOCAL('APPQ') DEFPSIST(YES) 22 | DEFINE CHANNEL(MTLSQMCHL) CHLTYPE(SVRCONN) TRPTYPE(TCP) SSLCAUTH(REQUIRED) SSLCIPH('ANY_TLS12_OR_HIGHER') HBINT(1) 23 | ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) ADOPTCTX(YES) CHCKCLNT(OPTIONAL) CHCKLOCL(OPTIONAL) AUTHENMD(OS) 24 | SET CHLAUTH('MTLSQMCHL') TYPE(SSLPEERMAP) SSLPEER('CN=application1,OU=app team1') USERSRC(MAP) MCAUSER('app1') ACTION(ADD) 25 | REFRESH SECURITY TYPE(CONNAUTH) 26 | SET AUTHREC PRINCIPAL('app1') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ) 27 | SET AUTHREC PROFILE('APPQ') PRINCIPAL('app1') OBJTYPE(QUEUE) AUTHADD(BROWSE,GET,INQ,PUT) 28 | mq.ini: |- 29 | Service: 30 | Name=AuthorizationService 31 | EntryPoints=14 32 | SecurityPolicy=UserExternal 33 | --- 34 | kind: Secret 35 | apiVersion: v1 36 | metadata: 37 | name: helmsecure 38 | namespace: $TARGET_NAMESPACE 39 | data: 40 | tls.key: $QM_KEY 41 | tls.crt: $QM_CERT 42 | app.crt: $APP_CERT 43 | type: Opaque 44 | -------------------------------------------------------------------------------- /samples/AWSEKS/deploy/secureapp_nativeha.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021, 2023 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | license: accept 15 | queueManager: 16 | nativeha: 17 | enable: true 18 | tls: 19 | secretName: helmsecure 20 | mqscConfigMaps: 21 | - name: helmsecure 22 | items: 23 | - mq.mqsc 24 | qminiConfigMaps: 25 | - name: helmsecure 26 | items: 27 | - mq.ini 28 | persistence: 29 | qmPVC: 30 | enable: true 31 | storageClassName: gp2 32 | security: 33 | context: 34 | fsGroup: 0 35 | pki: 36 | keys: 37 | - name: default 38 | secret: 39 | secretName: helmsecure 40 | items: 41 | - tls.key 42 | - tls.crt 43 | trust: 44 | - name: default 45 | secret: 46 | secretName: helmsecure 47 | items: 48 | - app.crt 49 | metadata: 50 | annotations: 51 | productName: "IBM MQ Advanced for Developers" 52 | productID: "2f886a3eefbe4ccb89b2adb97c78b9cb" 53 | productChargedContainers: "" 54 | productMetric: "FREE" 55 | route: 56 | nodePort: 57 | webconsole: true 58 | mqtraffic: true 59 | loadBalancer: 60 | webconsole: true 61 | mqtraffic: true 62 | annotations: 63 | service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "4" 64 | -------------------------------------------------------------------------------- /samples/AWSEKS/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "$IPADDRESS", 12 | "port": $PORT 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection", 23 | "connectionManagement": 24 | { 25 | "heartbeatInterval": 1 26 | } 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /samples/AWSEKS/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021, 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -o jsonpath='{..hostname}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" secureapphelm 28 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 29 | -------------------------------------------------------------------------------- /samples/AWSEKS/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2021 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/AWSEKS/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021, 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -o jsonpath='{..hostname}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | echo "Starting amqsphac" secureapphelm 27 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/AWSEKSCrossRegionReplication/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "$IPADDRESS", 12 | "port": $PORT 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection", 23 | "connectionManagement": 24 | { 25 | "heartbeatInterval": 1 26 | } 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /samples/AWSEKSCrossRegionReplication/test/getMessageRegion1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2025 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"region1"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -n $TARGET_NAMESPACE -o jsonpath='{..hostname}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" secureapphelm 28 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 29 | -------------------------------------------------------------------------------- /samples/AWSEKSCrossRegionReplication/test/getMessageRegion2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2025 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"region2"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -n $TARGET_NAMESPACE -o jsonpath='{..hostname}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" secureapphelm 28 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 29 | -------------------------------------------------------------------------------- /samples/AWSEKSCrossRegionReplication/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2025 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/AWSEKSCrossRegionReplication/test/sendMessageRegion1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2025 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"region1"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -n $TARGET_NAMESPACE -o jsonpath='{..hostname}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | echo "Starting amqsputc" secureapphelm 27 | /opt/mqm/samp/bin/amqsputc APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/AWSEKSCrossRegionReplication/test/sendMessageRegion2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2025 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 16 | export TARGET_NAMESPACE=${1:-"region2"} 17 | export MQCCDTURL="${DIR}/ccdt_generated.json" 18 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 19 | 20 | export PORT="1414" 21 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -n $TARGET_NAMESPACE -o jsonpath='{..hostname}')" 22 | 23 | ( echo "cat < ccdt_generated.json 24 | 25 | echo "Starting amqsputc" secureapphelm 26 | /opt/mqm/samp/bin/amqsputc APPQ secureapphelm 27 | -------------------------------------------------------------------------------- /samples/AWSEKSPartnerSolution/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=default 17 | 18 | helm delete secureapphelm 19 | kubectl delete secret helmsecure -n $TARGET_NAMESPACE 20 | kubectl delete configmap helmsecure -n $TARGET_NAMESPACE 21 | kubectl delete pvc data-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 22 | kubectl delete pvc data-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 23 | kubectl delete pvc data-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 24 | kubectl delete pvc log-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 25 | kubectl delete pvc log-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 26 | kubectl delete pvc log-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 27 | kubectl delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 28 | kubectl delete pvc qm-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 29 | kubectl delete pvc qm-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 30 | -------------------------------------------------------------------------------- /samples/AWSEKSPartnerSolution/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | if [ $# -gt 2 ] 18 | then 19 | MQ_ADMIN_PASSWORD_NAME="--set queueManager.envVariables[0].name=MQ_ADMIN_PASSWORD" 20 | MQ_ADMIN_PASSWORD_VALUE="--set queueManager.envVariables[0].value=${2}" 21 | MQ_APP_PASSWORD_NAME="--set queueManager.envVariables[1].name=MQ_APP_PASSWORD" 22 | MQ_APP_PASSWORD_VALUE="--set queueManager.envVariables[1].value=${3}" 23 | fi 24 | if [ $# -eq 4 ] 25 | then 26 | LB_ANNOTATION="--set-string route.loadBalancer.annotations.service\.beta\.kubernetes\.io/aws-load-balancer-internal=${4}" 27 | fi 28 | 29 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 30 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 31 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 32 | 33 | ( echo "cat < mtlsqm.yaml 34 | 35 | kubectl config set-context --current --namespace=$TARGET_NAMESPACE 36 | kubectl apply -f mtlsqm.yaml 37 | 38 | helm install secureapphelm ../../../charts/ibm-mq -f secureapp_nativeha.yaml $MQ_ADMIN_PASSWORD_NAME $MQ_ADMIN_PASSWORD_VALUE $MQ_APP_PASSWORD_NAME $MQ_APP_PASSWORD_VALUE $LB_ANNOTATION 39 | -------------------------------------------------------------------------------- /samples/AWSEKSPartnerSolution/deploy/mtlsqm.yaml_template: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2023 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | kind: ConfigMap 15 | apiVersion: v1 16 | metadata: 17 | name: helmsecure 18 | namespace: $TARGET_NAMESPACE 19 | data: 20 | mq.mqsc: |- 21 | DEFINE QLOCAL('APPQ') DEFPSIST(YES) 22 | DEFINE CHANNEL(MTLSQMCHL) CHLTYPE(SVRCONN) TRPTYPE(TCP) SSLCAUTH(REQUIRED) SSLCIPH('ANY_TLS12_OR_HIGHER') 23 | ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) ADOPTCTX(YES) CHCKCLNT(OPTIONAL) CHCKLOCL(OPTIONAL) AUTHENMD(OS) 24 | SET CHLAUTH('MTLSQMCHL') TYPE(SSLPEERMAP) SSLPEER('CN=application1,OU=app team1') USERSRC(MAP) MCAUSER('app1') ACTION(ADD) 25 | REFRESH SECURITY TYPE(CONNAUTH) 26 | SET AUTHREC PRINCIPAL('app1') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ) 27 | SET AUTHREC PROFILE('APPQ') PRINCIPAL('app1') OBJTYPE(QUEUE) AUTHADD(BROWSE,GET,INQ,PUT) 28 | mq.ini: |- 29 | Service: 30 | Name=AuthorizationService 31 | EntryPoints=14 32 | SecurityPolicy=UserExternal 33 | --- 34 | kind: Secret 35 | apiVersion: v1 36 | metadata: 37 | name: helmsecure 38 | namespace: $TARGET_NAMESPACE 39 | data: 40 | tls.key: $QM_KEY 41 | tls.crt: $QM_CERT 42 | app.crt: $APP_CERT 43 | type: Opaque 44 | -------------------------------------------------------------------------------- /samples/AWSEKSPartnerSolution/deploy/secureapp_nativeha.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2023 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | license: accept 15 | queueManager: 16 | nativeha: 17 | enable: true 18 | tls: 19 | secretName: helmsecure 20 | mqscConfigMaps: 21 | - name: helmsecure 22 | items: 23 | - mq.mqsc 24 | qminiConfigMaps: 25 | - name: helmsecure 26 | items: 27 | - mq.ini 28 | persistence: 29 | qmPVC: 30 | enable: true 31 | storageClassName: gp2 32 | security: 33 | context: 34 | fsGroup: 0 35 | pki: 36 | keys: 37 | - name: default 38 | secret: 39 | secretName: helmsecure 40 | items: 41 | - tls.key 42 | - tls.crt 43 | trust: 44 | - name: default 45 | secret: 46 | secretName: helmsecure 47 | items: 48 | - app.crt 49 | metadata: 50 | annotations: 51 | productName: "IBM MQ Advanced for Developers" 52 | productID: "2f886a3eefbe4ccb89b2adb97c78b9cb" 53 | productChargedContainers: "" 54 | productMetric: "FREE" 55 | route: 56 | nodePort: 57 | webconsole: true 58 | mqtraffic: true 59 | loadBalancer: 60 | webconsole: true 61 | mqtraffic: true 62 | annotations: 63 | service.beta.kubernetes.io/aws-load-balancer-internal: "true" 64 | -------------------------------------------------------------------------------- /samples/AWSEKSPartnerSolution/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "$IPADDRESS", 12 | "port": $PORT 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/AWSEKSPartnerSolution/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -o jsonpath='{..hostname}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" secureapphelm 28 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 29 | -------------------------------------------------------------------------------- /samples/AWSEKSPartnerSolution/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2023 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/AWSEKSPartnerSolution/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | export MQCCDTURL="${DIR}/ccdt_generated.json" 18 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 19 | 20 | export PORT="1414" 21 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -o jsonpath='{..hostname}')" 22 | 23 | ( echo "cat < ccdt_generated.json 24 | 25 | echo "Starting amqsphac" secureapphelm 26 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 27 | -------------------------------------------------------------------------------- /samples/AzureAKS/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=default 17 | 18 | helm delete secureapphelm 19 | kubectl delete secret helmsecure -n $TARGET_NAMESPACE 20 | kubectl delete configmap helmsecure -n $TARGET_NAMESPACE 21 | kubectl delete pvc data-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 22 | kubectl delete pvc data-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 23 | kubectl delete pvc data-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 24 | kubectl delete pvc log-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 25 | kubectl delete pvc log-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 26 | kubectl delete pvc log-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 27 | kubectl delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 28 | kubectl delete pvc qm-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 29 | kubectl delete pvc qm-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 30 | -------------------------------------------------------------------------------- /samples/AzureAKS/deploy/createAKSCluster.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export RESOURCE_GROUP=${1:-"myMQResourceGroup"} 17 | export CLUSTER_NAME=${2:-"myMQCluster"} 18 | export REGION=${3:-"eastus"} 19 | 20 | az group create --name $RESOURCE_GROUP --location $REGION 21 | 22 | az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-count 3 --generate-ssh-keys 23 | 24 | az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME 25 | -------------------------------------------------------------------------------- /samples/AzureAKS/deploy/deleteAKSCluster.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export RESOURCE_GROUP=${1:-"myMQResourceGroup"} 17 | export CLUSTER_NAME=${2:-"myMQCluster"} 18 | export REGION=${3:-"eastus"} 19 | 20 | az aks delete --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --yes --no-wait 21 | 22 | az group delete --resource-group $RESOURCE_GROUP --yes --no-wait 23 | -------------------------------------------------------------------------------- /samples/AzureAKS/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < mtlsqm.yaml 22 | 23 | kubectl config set-context --current --namespace=$TARGET_NAMESPACE 24 | kubectl apply -f mtlsqm.yaml 25 | 26 | helm install secureapphelm ../../../charts/ibm-mq -f secureapp_nativeha.yaml 27 | -------------------------------------------------------------------------------- /samples/AzureAKS/deploy/secureapp_nativeha.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021, 2022 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | license: accept 15 | queueManager: 16 | nativeha: 17 | enable: true 18 | tls: 19 | secretName: helmsecure 20 | mqscConfigMaps: 21 | - name: helmsecure 22 | items: 23 | - mq.mqsc 24 | qminiConfigMaps: 25 | - name: helmsecure 26 | items: 27 | - mq.ini 28 | persistence: 29 | qmPVC: 30 | enable: true 31 | storageClassName: managed 32 | security: 33 | context: 34 | fsGroup: 0 35 | pki: 36 | keys: 37 | - name: default 38 | secret: 39 | secretName: helmsecure 40 | items: 41 | - tls.key 42 | - tls.crt 43 | trust: 44 | - name: default 45 | secret: 46 | secretName: helmsecure 47 | items: 48 | - app.crt 49 | metadata: 50 | annotations: 51 | productName: "IBM MQ Advanced for Developers" 52 | productID: "2f886a3eefbe4ccb89b2adb97c78b9cb" 53 | productChargedContainers: "" 54 | productMetric: "FREE" 55 | route: 56 | nodePort: 57 | webconsole: true 58 | mqtraffic: true 59 | loadBalancer: 60 | webconsole: true 61 | mqtraffic: true 62 | -------------------------------------------------------------------------------- /samples/AzureAKS/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "$IPADDRESS", 12 | "port": $PORT 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/AzureAKS/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021, 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -o jsonpath='{..ip}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" secureapphelm 28 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 29 | -------------------------------------------------------------------------------- /samples/AzureAKS/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2021 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/AzureAKS/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021, 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -o jsonpath='{..ip}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | echo "Starting amqsphac" secureapphelm 27 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/AzureAKSFreeTier/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=default 17 | 18 | helm delete secureapphelm 19 | kubectl delete secret helmsecure -n $TARGET_NAMESPACE 20 | kubectl delete configmap helmsecure -n $TARGET_NAMESPACE 21 | kubectl delete pvc data-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 22 | kubectl delete pvc data-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 23 | kubectl delete pvc data-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 24 | kubectl delete pvc log-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 25 | kubectl delete pvc log-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 26 | kubectl delete pvc log-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 27 | kubectl delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 28 | kubectl delete pvc qm-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 29 | kubectl delete pvc qm-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 30 | -------------------------------------------------------------------------------- /samples/AzureAKSFreeTier/deploy/createAKSCluster.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export RESOURCE_GROUP=${1:-"myMQResourceGroup"} 17 | export CLUSTER_NAME=${2:-"myMQCluster"} 18 | export REGION=${3:-"eastus"} 19 | 20 | az group create --name $RESOURCE_GROUP --location $REGION 21 | 22 | az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-count 1 --generate-ssh-keys 23 | 24 | az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME 25 | -------------------------------------------------------------------------------- /samples/AzureAKSFreeTier/deploy/deleteAKSCluster.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export RESOURCE_GROUP=${1:-"myMQResourceGroup"} 17 | export CLUSTER_NAME=${2:-"myMQCluster"} 18 | export REGION=${3:-"eastus"} 19 | 20 | az aks delete --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --yes --no-wait 21 | 22 | az group delete --resource-group $RESOURCE_GROUP --yes --no-wait 23 | -------------------------------------------------------------------------------- /samples/AzureAKSFreeTier/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < mtlsqm.yaml 22 | 23 | kubectl config set-context --current --namespace=$TARGET_NAMESPACE 24 | kubectl apply -f mtlsqm.yaml 25 | 26 | helm install secureapphelm ../../../charts/ibm-mq -f secureapp.yaml 27 | -------------------------------------------------------------------------------- /samples/AzureAKSFreeTier/deploy/secureapp.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021, 2022 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | license: accept 15 | queueManager: 16 | mqscConfigMaps: 17 | - name: helmsecure 18 | items: 19 | - mq.mqsc 20 | qminiConfigMaps: 21 | - name: helmsecure 22 | items: 23 | - mq.ini 24 | persistence: 25 | qmPVC: 26 | enable: true 27 | storageClassName: managed 28 | security: 29 | context: 30 | fsGroup: 0 31 | pki: 32 | keys: 33 | - name: default 34 | secret: 35 | secretName: helmsecure 36 | items: 37 | - tls.key 38 | - tls.crt 39 | trust: 40 | - name: default 41 | secret: 42 | secretName: helmsecure 43 | items: 44 | - app.crt 45 | metadata: 46 | annotations: 47 | productName: "IBM MQ Advanced for Developers" 48 | productID: "2f886a3eefbe4ccb89b2adb97c78b9cb" 49 | productChargedContainers: "" 50 | productMetric: "FREE" 51 | route: 52 | nodePort: 53 | webconsole: true 54 | mqtraffic: true 55 | loadBalancer: 56 | webconsole: true 57 | mqtraffic: true 58 | -------------------------------------------------------------------------------- /samples/AzureAKSFreeTier/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "$IPADDRESS", 12 | "port": $PORT 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/AzureAKSFreeTier/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021, 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -o jsonpath='{..ip}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" secureapphelm 28 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 29 | -------------------------------------------------------------------------------- /samples/AzureAKSFreeTier/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2021 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/AzureAKSFreeTier/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021, 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -o jsonpath='{..ip}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | echo "Starting amqsphac" secureapphelm 27 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/AzureAKSMultiInstance/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=default 17 | 18 | helm delete multiinstance 19 | kubectl delete secret helmsecure -n $TARGET_NAMESPACE 20 | kubectl delete configmap helmsecure -n $TARGET_NAMESPACE 21 | kubectl delete pvc qm-multiinstance-ibm-mq-0 -n $TARGET_NAMESPACE 22 | kubectl delete pvc qm-multiinstance-ibm-mq-1 -n $TARGET_NAMESPACE -------------------------------------------------------------------------------- /samples/AzureAKSMultiInstance/deploy/createAKSCluster.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export RESOURCE_GROUP=${1:-"myMQResourceGroup"} 17 | export CLUSTER_NAME=${2:-"myMQCluster"} 18 | export REGION=${3:-"eastus"} 19 | 20 | az group create --name $RESOURCE_GROUP --location $REGION 21 | 22 | az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-count 2 --generate-ssh-keys 23 | 24 | az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME 25 | -------------------------------------------------------------------------------- /samples/AzureAKSMultiInstance/deploy/customStorageClass.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2023 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | kind: StorageClass 15 | apiVersion: storage.k8s.io/v1 16 | metadata: 17 | name: mq-azurefile 18 | provisioner: file.csi.azure.com 19 | reclaimPolicy: Delete 20 | volumeBindingMode: Immediate 21 | mountOptions: 22 | - rw 23 | - bg 24 | - intr 25 | - vers=4 26 | - sec=sys 27 | parameters: 28 | skuName: Premium_LRS 29 | protocol: nfs 30 | -------------------------------------------------------------------------------- /samples/AzureAKSMultiInstance/deploy/deleteAKSCluster.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export RESOURCE_GROUP=${1:-"myMQResourceGroup"} 17 | export CLUSTER_NAME=${2:-"myMQCluster"} 18 | export REGION=${3:-"eastus"} 19 | 20 | az aks delete --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --yes --no-wait 21 | 22 | az group delete --resource-group $RESOURCE_GROUP --yes --no-wait 23 | -------------------------------------------------------------------------------- /samples/AzureAKSMultiInstance/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < mtlsqm.yaml 22 | 23 | kubectl config set-context --current --namespace=$TARGET_NAMESPACE 24 | kubectl apply -f mtlsqm.yaml 25 | 26 | kubectl apply -f customStorageClass.yaml 27 | 28 | helm install multiinstance ../../../charts/ibm-mq -f secureapp_multiinstance.yaml 29 | -------------------------------------------------------------------------------- /samples/AzureAKSMultiInstance/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "$IPADDRESS", 12 | "port": $PORT 13 | } 14 | ], 15 | "queueManager": "multiinstance" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/AzureAKSMultiInstance/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service multiinstance-ibm-mq-loadbalancer -o jsonpath='{..ip}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" multiinstance 28 | /opt/mqm/samp/bin/amqsghac APPQ multiinstance 29 | -------------------------------------------------------------------------------- /samples/AzureAKSMultiInstance/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2023 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/AzureAKSMultiInstance/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service multiinstance-ibm-mq-loadbalancer -o jsonpath='{..ip}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | echo "Starting amqsphac" multiinstance 27 | /opt/mqm/samp/bin/amqsphac APPQ multiinstance 28 | -------------------------------------------------------------------------------- /samples/GoogleKubernetesEngine/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=default 17 | 18 | helm delete secureapphelm 19 | kubectl delete secret helmsecure -n $TARGET_NAMESPACE 20 | kubectl delete configmap helmsecure -n $TARGET_NAMESPACE 21 | kubectl delete pvc data-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 22 | kubectl delete pvc data-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 23 | kubectl delete pvc data-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 24 | kubectl delete pvc log-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 25 | kubectl delete pvc log-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 26 | kubectl delete pvc log-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 27 | kubectl delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 28 | kubectl delete pvc qm-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 29 | kubectl delete pvc qm-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 30 | kubectl delete service secureapphelm-ibm-mq-qm-loadbalancer -n $TARGET_NAMESPACE 31 | -------------------------------------------------------------------------------- /samples/GoogleKubernetesEngine/deploy/createGKECluster.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export CLUSTER_NAME=${1:-"mq-cluster"} 17 | export REGION=${2:-"europe-west2"} 18 | export ZONES=${3:-"europe-west2-a,europe-west2-b,europe-west2-c"} 19 | 20 | gcloud container clusters create $CLUSTER_NAME --region $REGION --node-locations $ZONES --num-nodes=1 21 | 22 | gcloud container clusters get-credentials $CLUSTER_NAME --region $REGION 23 | -------------------------------------------------------------------------------- /samples/GoogleKubernetesEngine/deploy/deleteGKECluster.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export CLUSTER_NAME=${1:-"mq-cluster"} 17 | export REGION=${2:-"europe-west2"} 18 | 19 | gcloud container clusters delete $CLUSTER_NAME --region $REGION 20 | -------------------------------------------------------------------------------- /samples/GoogleKubernetesEngine/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < mtlsqm.yaml 22 | 23 | kubectl config set-context --current --namespace=$TARGET_NAMESPACE 24 | kubectl apply -f mtlsqm.yaml 25 | 26 | helm install secureapphelm ../../../charts/ibm-mq -f secureapp_nativeha.yaml 27 | -------------------------------------------------------------------------------- /samples/GoogleKubernetesEngine/deploy/secureapp_nativeha.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021, 2022 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | license: accept 15 | queueManager: 16 | nativeha: 17 | enable: true 18 | tls: 19 | secretName: helmsecure 20 | mqscConfigMaps: 21 | - name: helmsecure 22 | items: 23 | - mq.mqsc 24 | qminiConfigMaps: 25 | - name: helmsecure 26 | items: 27 | - mq.ini 28 | persistence: 29 | qmPVC: 30 | enable: true 31 | storageClassName: standard-rwo 32 | security: 33 | context: 34 | fsGroup: 0 35 | pki: 36 | keys: 37 | - name: default 38 | secret: 39 | secretName: helmsecure 40 | items: 41 | - tls.key 42 | - tls.crt 43 | trust: 44 | - name: default 45 | secret: 46 | secretName: helmsecure 47 | items: 48 | - app.crt 49 | metadata: 50 | annotations: 51 | productName: "IBM MQ Advanced for Developers" 52 | productID: "2f886a3eefbe4ccb89b2adb97c78b9cb" 53 | productChargedContainers: "" 54 | productMetric: "FREE" 55 | route: 56 | nodePort: 57 | webconsole: true 58 | mqtraffic: true 59 | loadBalancer: 60 | webconsole: true 61 | mqtraffic: true 62 | -------------------------------------------------------------------------------- /samples/GoogleKubernetesEngine/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "$IPADDRESS", 12 | "port": $PORT 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/GoogleKubernetesEngine/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021, 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -o jsonpath='{..ip}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" secureapphelm 28 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 29 | -------------------------------------------------------------------------------- /samples/GoogleKubernetesEngine/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2021 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/GoogleKubernetesEngine/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021, 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="1414" 22 | export IPADDRESS="$(kubectl get service secureapphelm-ibm-mq-loadbalancer -o jsonpath='{..ip}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | echo "Starting amqsphac" secureapphelm 27 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/IBMKubernetesService/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=default 17 | 18 | helm delete secureapphelm 19 | kubectl delete secret helmsecure -n $TARGET_NAMESPACE 20 | kubectl delete configmap helmsecure -n $TARGET_NAMESPACE 21 | kubectl delete pvc data-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 22 | kubectl delete pvc data-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 23 | kubectl delete pvc data-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 24 | kubectl delete pvc log-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 25 | kubectl delete pvc log-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 26 | kubectl delete pvc log-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 27 | kubectl delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 28 | kubectl delete pvc qm-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 29 | kubectl delete pvc qm-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 30 | -------------------------------------------------------------------------------- /samples/IBMKubernetesService/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < mtlsqm.yaml 22 | 23 | kubectl config set-context --current --namespace=$TARGET_NAMESPACE 24 | kubectl apply -f mtlsqm.yaml 25 | 26 | helm install secureapphelm ../../../charts/ibm-mq -f secureapp_nativeha.yaml 27 | -------------------------------------------------------------------------------- /samples/IBMKubernetesService/deploy/mtlsqm.yaml_template: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | kind: ConfigMap 15 | apiVersion: v1 16 | metadata: 17 | name: helmsecure 18 | namespace: $TARGET_NAMESPACE 19 | data: 20 | mq.mqsc: |- 21 | DEFINE QLOCAL('APPQ') DEFPSIST(YES) 22 | DEFINE CHANNEL(MTLSQMCHL) CHLTYPE(SVRCONN) TRPTYPE(TCP) SSLCAUTH(REQUIRED) SSLCIPH('ANY_TLS12_OR_HIGHER') 23 | ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) ADOPTCTX(YES) CHCKCLNT(OPTIONAL) CHCKLOCL(OPTIONAL) AUTHENMD(OS) 24 | SET CHLAUTH('MTLSQMCHL') TYPE(SSLPEERMAP) SSLPEER('CN=application1,OU=app team1') USERSRC(MAP) MCAUSER('app1') ACTION(ADD) 25 | REFRESH SECURITY TYPE(CONNAUTH) 26 | SET AUTHREC PRINCIPAL('app1') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ) 27 | SET AUTHREC PROFILE('APPQ') PRINCIPAL('app1') OBJTYPE(QUEUE) AUTHADD(BROWSE,GET,INQ,PUT) 28 | mq.ini: |- 29 | Service: 30 | Name=AuthorizationService 31 | EntryPoints=14 32 | SecurityPolicy=UserExternal 33 | --- 34 | kind: Secret 35 | apiVersion: v1 36 | metadata: 37 | name: helmsecure 38 | namespace: $TARGET_NAMESPACE 39 | data: 40 | tls.key: $QM_KEY 41 | tls.crt: $QM_CERT 42 | app.crt: $APP_CERT 43 | type: Opaque 44 | -------------------------------------------------------------------------------- /samples/IBMKubernetesService/deploy/secureapp_nativeha.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | license: accept 15 | queueManager: 16 | nativeha: 17 | enable: true 18 | tls: 19 | secretName: helmsecure 20 | mqscConfigMaps: 21 | - name: helmsecure 22 | items: 23 | - mq.mqsc 24 | qminiConfigMaps: 25 | - name: helmsecure 26 | items: 27 | - mq.ini 28 | persistence: 29 | qmPVC: 30 | enable: true 31 | storageClassName: ibmc-block-gold 32 | security: 33 | context: 34 | fsGroup: 0 35 | pki: 36 | keys: 37 | - name: default 38 | secret: 39 | secretName: helmsecure 40 | items: 41 | - tls.key 42 | - tls.crt 43 | trust: 44 | - name: default 45 | secret: 46 | secretName: helmsecure 47 | items: 48 | - app.crt 49 | livenessProbe: 50 | failureThreshold: 3 51 | metadata: 52 | annotations: 53 | productName: "IBM MQ Advanced for Developers" 54 | productID: "2f886a3eefbe4ccb89b2adb97c78b9cb" 55 | productChargedContainers: "" 56 | productMetric: "FREE" 57 | route: 58 | nodePort: 59 | webconsole: true 60 | mqtraffic: true 61 | -------------------------------------------------------------------------------- /samples/IBMKubernetesService/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "$IPADDRESS", 12 | "port": $PORT 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/IBMKubernetesService/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="$(kubectl get services secureapphelm-ibm-mq-qm -n $TARGET_NAMESPACE -o jsonpath='{.spec.ports[].nodePort}')" 22 | export IPADDRESS="$(kubectl get nodes -o jsonpath='{..addresses[1].address}' | awk '{print $1}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" secureapphelm 28 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 29 | -------------------------------------------------------------------------------- /samples/IBMKubernetesService/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2021 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/IBMKubernetesService/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="$(kubectl get services secureapphelm-ibm-mq-qm -n $TARGET_NAMESPACE -o jsonpath='{.spec.ports[].nodePort}')" 22 | export IPADDRESS="$(kubectl get nodes -o jsonpath='{..addresses[1].address}' | awk '{print $1}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | echo "Starting amqsphac" secureapphelm 27 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/Minikube/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=default 17 | 18 | helm delete secureapphelm 19 | kubectl delete secret helmsecure -n $TARGET_NAMESPACE 20 | kubectl delete configmap helmsecure -n $TARGET_NAMESPACE 21 | kubectl delete pvc data-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 22 | kubectl delete pvc data-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 23 | kubectl delete pvc data-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 24 | kubectl delete pvc log-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 25 | kubectl delete pvc log-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 26 | kubectl delete pvc log-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 27 | kubectl delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 28 | kubectl delete pvc qm-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 29 | kubectl delete pvc qm-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 30 | -------------------------------------------------------------------------------- /samples/Minikube/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < mtlsqm.yaml 22 | 23 | kubectl config set-context --current --namespace=$TARGET_NAMESPACE 24 | kubectl apply -f mtlsqm.yaml 25 | 26 | helm install secureapphelm ../../../charts/ibm-mq -f secureapp_nativeha.yaml 27 | -------------------------------------------------------------------------------- /samples/Minikube/deploy/mtlsqm.yaml_template: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2022 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | kind: ConfigMap 15 | apiVersion: v1 16 | metadata: 17 | name: helmsecure 18 | namespace: $TARGET_NAMESPACE 19 | data: 20 | mq.mqsc: |- 21 | DEFINE QLOCAL('APPQ') DEFPSIST(YES) 22 | DEFINE CHANNEL(MTLSQMCHL) CHLTYPE(SVRCONN) TRPTYPE(TCP) SSLCAUTH(REQUIRED) SSLCIPH('ANY_TLS12_OR_HIGHER') 23 | ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) ADOPTCTX(YES) CHCKCLNT(OPTIONAL) CHCKLOCL(OPTIONAL) AUTHENMD(OS) 24 | SET CHLAUTH('MTLSQMCHL') TYPE(SSLPEERMAP) SSLPEER('CN=application1,OU=app team1') USERSRC(MAP) MCAUSER('app1') ACTION(ADD) 25 | REFRESH SECURITY TYPE(CONNAUTH) 26 | SET AUTHREC PRINCIPAL('app1') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ) 27 | SET AUTHREC PROFILE('APPQ') PRINCIPAL('app1') OBJTYPE(QUEUE) AUTHADD(BROWSE,GET,INQ,PUT) 28 | mq.ini: |- 29 | Service: 30 | Name=AuthorizationService 31 | EntryPoints=14 32 | SecurityPolicy=UserExternal 33 | --- 34 | kind: Secret 35 | apiVersion: v1 36 | metadata: 37 | name: helmsecure 38 | namespace: $TARGET_NAMESPACE 39 | data: 40 | tls.key: $QM_KEY 41 | tls.crt: $QM_CERT 42 | app.crt: $APP_CERT 43 | type: Opaque 44 | -------------------------------------------------------------------------------- /samples/Minikube/img/StartingMinikube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/Minikube/img/StartingMinikube.png -------------------------------------------------------------------------------- /samples/Minikube/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "$IPADDRESS", 12 | "port": $PORT 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/Minikube/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | export MQRCVBLKTO=5 21 | export PORT="$(kubectl get services secureapphelm-ibm-mq-qm -n $TARGET_NAMESPACE -o jsonpath='{.spec.ports[].nodePort}')" 22 | export IPADDRESS="$(kubectl get nodes -o jsonpath={..status..address} | awk '{print $1;}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" secureapphelm 28 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 29 | -------------------------------------------------------------------------------- /samples/Minikube/test/getMessageMinikubeService.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export MQCCDTURL="${DIR}/ccdt_generated.json" 18 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 19 | export MQRCVBLKTO=5 20 | export PORT=$2 21 | export IPADDRESS=$1 22 | 23 | ( echo "cat < ccdt_generated.json 24 | 25 | 26 | echo "Starting amqsghac" secureapphelm 27 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/Minikube/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2022 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/Minikube/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | export MQRCVBLKTO=5 21 | export PORT="$(kubectl get services secureapphelm-ibm-mq-qm -n $TARGET_NAMESPACE -o jsonpath='{.spec.ports[].nodePort}')" 22 | export IPADDRESS="$(kubectl get nodes -o jsonpath={..status..address} | awk '{print $1;}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | echo "Starting amqsphac" secureapphelm 27 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/Minikube/test/sendMessageMinikubeService.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2022 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export MQCCDTURL="${DIR}/ccdt_generated.json" 18 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 19 | export MQRCVBLKTO=5 20 | export PORT=$2 21 | export IPADDRESS=$1 22 | 23 | ( echo "cat < ccdt_generated.json 24 | 25 | echo "Starting amqsphac" secureapphelm 26 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 27 | -------------------------------------------------------------------------------- /samples/OpenShiftIBMPower/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=cp4i 17 | oc project $TARGET_NAMESPACE 18 | 19 | helm delete secureapphelm 20 | oc delete secret helmsecure -n $TARGET_NAMESPACE 21 | oc delete configmap helmsecure -n $TARGET_NAMESPACE 22 | oc delete pvc data-ibmmqonpower-ibm-mq-0 -n $TARGET_NAMESPACE 23 | oc delete pvc data-ibmmqonpower-ibm-mq-1 -n $TARGET_NAMESPACE 24 | oc delete pvc data-ibmmqonpower-ibm-mq-2 -n $TARGET_NAMESPACE 25 | oc delete pvc log-ibmmqonpower-ibm-mq-0 -n $TARGET_NAMESPACE 26 | oc delete pvc log-ibmmqonpower-ibm-mq-1 -n $TARGET_NAMESPACE 27 | oc delete pvc log-ibmmqonpower-ibm-mq-2 -n $TARGET_NAMESPACE 28 | oc delete pvc qm-ibmmqonpower-ibm-mq-0 -n $TARGET_NAMESPACE 29 | oc delete pvc qm-ibmmqonpower-ibm-mq-1 -n $TARGET_NAMESPACE 30 | oc delete pvc qm-ibmmqonpower-ibm-mq-2 -n $TARGET_NAMESPACE 31 | -------------------------------------------------------------------------------- /samples/OpenShiftIBMPower/deploy/ibmpower.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021, 2023 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | license: accept 15 | image: 16 | repository: cp.icr.io/cp/ibm-mqadvanced-server 17 | tag: 9.4.2.0-r1-ppc64le 18 | pullSecret: ibm-entitlement-key 19 | queueManager: 20 | mqscConfigMaps: 21 | - name: helmsecure 22 | items: 23 | - mq.mqsc 24 | qminiConfigMaps: 25 | - name: helmsecure 26 | items: 27 | - mq.ini 28 | persistence: 29 | qmPVC: 30 | enable: false 31 | pki: 32 | keys: 33 | - name: default 34 | secret: 35 | secretName: helmsecure 36 | items: 37 | - tls.key 38 | - tls.crt 39 | trust: 40 | - name: default 41 | secret: 42 | secretName: helmsecure 43 | items: 44 | - app.crt 45 | metadata: 46 | annotations: 47 | productName: "IBM MQ Advanced for Developers" 48 | productID: "2f886a3eefbe4ccb89b2adb97c78b9cb" 49 | productChargedContainers: "" 50 | productMetric: "FREE" 51 | route: 52 | openShiftRoute: 53 | webconsole: true 54 | mqtraffic: true 55 | -------------------------------------------------------------------------------- /samples/OpenShiftIBMPower/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < mtlsqm.yaml 22 | 23 | oc project $TARGET_NAMESPACE 24 | oc apply -f mtlsqm.yaml 25 | 26 | helm install secureapphelm ../../../charts/ibm-mq -f ibmpower.yaml 27 | -------------------------------------------------------------------------------- /samples/OpenShiftIBMPower/deploy/mtlsqm.yaml_template: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | kind: ConfigMap 15 | apiVersion: v1 16 | metadata: 17 | name: helmsecure 18 | namespace: $TARGET_NAMESPACE 19 | data: 20 | mq.mqsc: |- 21 | DEFINE QLOCAL('APPQ') DEFPSIST(YES) 22 | DEFINE CHANNEL(MTLSQMCHL) CHLTYPE(SVRCONN) TRPTYPE(TCP) SSLCAUTH(REQUIRED) SSLCIPH('ANY_TLS12_OR_HIGHER') 23 | ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) ADOPTCTX(YES) CHCKCLNT(OPTIONAL) CHCKLOCL(OPTIONAL) AUTHENMD(OS) 24 | SET CHLAUTH('MTLSQMCHL') TYPE(SSLPEERMAP) SSLPEER('CN=application1,OU=app team1') USERSRC(MAP) MCAUSER('app1') ACTION(ADD) 25 | REFRESH SECURITY TYPE(CONNAUTH) 26 | SET AUTHREC PRINCIPAL('app1') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ) 27 | SET AUTHREC PROFILE('APPQ') PRINCIPAL('app1') OBJTYPE(QUEUE) AUTHADD(BROWSE,GET,INQ,PUT) 28 | mq.ini: |- 29 | Service: 30 | Name=AuthorizationService 31 | EntryPoints=14 32 | SecurityPolicy=UserExternal 33 | --- 34 | kind: Secret 35 | apiVersion: v1 36 | metadata: 37 | name: helmsecure 38 | namespace: $TARGET_NAMESPACE 39 | data: 40 | tls.key: $QM_KEY 41 | tls.crt: $QM_CERT 42 | app.crt: $APP_CERT 43 | type: Opaque 44 | -------------------------------------------------------------------------------- /samples/OpenShiftIBMPower/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "secureapphelm-ibm-mq-qm-$TARGET_NAMESPACE.$ROOTURL", 12 | "port": 443 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/OpenShiftIBMPower/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | 18 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 19 | export MQCCDTURL="${DIR}/ccdt_generated.json" 20 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 21 | 22 | export ROOTURL="$(oc get IngressController default -n openshift-ingress-operator -o jsonpath='{.status.domain}')" 23 | ( echo "cat < ccdt_generated.json 24 | 25 | 26 | echo "Starting amqsghac" secureapphelm 27 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/OpenShiftIBMPower/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2021 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/OpenShiftIBMPower/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | 18 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 19 | export MQCCDTURL="${DIR}/ccdt_generated.json" 20 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 21 | 22 | export ROOTURL="$(oc get IngressController default -n openshift-ingress-operator -o jsonpath='{.status.domain}')" 23 | ( echo "cat < ccdt_generated.json 24 | 25 | echo "Starting amqsphac" secureapphelm 26 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 27 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHA/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | oc project $TARGET_NAMESPACE 18 | 19 | helm delete secureapphelm 20 | oc delete secret helmsecure -n $TARGET_NAMESPACE 21 | oc delete configmap helmsecure -n $TARGET_NAMESPACE 22 | oc delete pvc data-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 23 | oc delete pvc data-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 24 | oc delete pvc data-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 25 | oc delete pvc log-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 26 | oc delete pvc log-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 27 | oc delete pvc log-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 28 | oc delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 29 | oc delete pvc qm-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 30 | oc delete pvc qm-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 31 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHA/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < mtlsqm.yaml 22 | 23 | oc project $TARGET_NAMESPACE 24 | oc apply -f mtlsqm.yaml 25 | 26 | helm install secureapphelm ../../../charts/ibm-mq -f secureapp_nativeha.yaml 27 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHA/deploy/mtlsqm.yaml_template: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | kind: ConfigMap 15 | apiVersion: v1 16 | metadata: 17 | name: helmsecure 18 | namespace: $TARGET_NAMESPACE 19 | data: 20 | mq.mqsc: |- 21 | DEFINE QLOCAL('APPQ') DEFPSIST(YES) 22 | DEFINE CHANNEL(MTLSQMCHL) CHLTYPE(SVRCONN) TRPTYPE(TCP) SSLCAUTH(REQUIRED) SSLCIPH('ANY_TLS12_OR_HIGHER') 23 | ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) ADOPTCTX(YES) CHCKCLNT(OPTIONAL) CHCKLOCL(OPTIONAL) AUTHENMD(OS) 24 | SET CHLAUTH('MTLSQMCHL') TYPE(SSLPEERMAP) SSLPEER('CN=application1,OU=app team1') USERSRC(MAP) MCAUSER('app1') ACTION(ADD) 25 | REFRESH SECURITY TYPE(CONNAUTH) 26 | SET AUTHREC PRINCIPAL('app1') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ) 27 | SET AUTHREC PROFILE('APPQ') PRINCIPAL('app1') OBJTYPE(QUEUE) AUTHADD(BROWSE,GET,INQ,PUT) 28 | mq.ini: |- 29 | Service: 30 | Name=AuthorizationService 31 | EntryPoints=14 32 | SecurityPolicy=UserExternal 33 | --- 34 | kind: Secret 35 | apiVersion: v1 36 | metadata: 37 | name: helmsecure 38 | namespace: $TARGET_NAMESPACE 39 | data: 40 | tls.key: $QM_KEY 41 | tls.crt: $QM_CERT 42 | app.crt: $APP_CERT 43 | type: Opaque 44 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHA/deploy/secureapp_nativeha.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021, 2022 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | license: accept 15 | queueManager: 16 | nativeha: 17 | enable: true 18 | tls: 19 | secretName: helmsecure 20 | mqscConfigMaps: 21 | - name: helmsecure 22 | items: 23 | - mq.mqsc 24 | qminiConfigMaps: 25 | - name: helmsecure 26 | items: 27 | - mq.ini 28 | persistence: 29 | qmPVC: 30 | enable: true 31 | pki: 32 | keys: 33 | - name: default 34 | secret: 35 | secretName: helmsecure 36 | items: 37 | - tls.key 38 | - tls.crt 39 | trust: 40 | - name: default 41 | secret: 42 | secretName: helmsecure 43 | items: 44 | - app.crt 45 | metadata: 46 | annotations: 47 | productName: "IBM MQ Advanced for Developers" 48 | productID: "2f886a3eefbe4ccb89b2adb97c78b9cb" 49 | productChargedContainers: "" 50 | productMetric: "FREE" 51 | route: 52 | openShiftRoute: 53 | webconsole: true 54 | mqtraffic: true 55 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHA/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "secureapphelm-ibm-mq-qm-$TARGET_NAMESPACE.$ROOTURL", 12 | "port": 443 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHA/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | 18 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 19 | export MQCCDTURL="${DIR}/ccdt_generated.json" 20 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 21 | 22 | export ROOTURL="$(oc get IngressController default -n openshift-ingress-operator -o jsonpath='{.status.domain}')" 23 | ( echo "cat < ccdt_generated.json 24 | 25 | 26 | echo "Starting amqsghac" secureapphelm 27 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHA/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2021 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHA/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | 18 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 19 | export MQCCDTURL="${DIR}/ccdt_generated.json" 20 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 21 | 22 | export ROOTURL="$(oc get IngressController default -n openshift-ingress-operator -o jsonpath='{.status.domain}')" 23 | ( echo "cat < ccdt_generated.json 24 | 25 | echo "Starting amqsphac" secureapphelm 26 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 27 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHACRR/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2025 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | oc project $TARGET_NAMESPACE 18 | 19 | helm delete secureapphelm 20 | oc delete secret helmsecure -n $TARGET_NAMESPACE 21 | oc delete secret nha-crr-secret-live -n $TARGET_NAMESPACE 22 | oc delete secret nha-crr-secret-recovery -n $TARGET_NAMESPACE 23 | oc delete configmap helmsecure -n $TARGET_NAMESPACE 24 | oc delete pvc data-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 25 | oc delete pvc data-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 26 | oc delete pvc data-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 27 | oc delete pvc log-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 28 | oc delete pvc log-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 29 | oc delete pvc log-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 30 | oc delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 31 | oc delete pvc qm-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 32 | oc delete pvc qm-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 33 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHACRR/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021,2025 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${2:-"cp4i"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export QM_KEY_LIVE=$(cat ../../genericresources/createcerts/server-live.key | base64 | tr -d '\n') 20 | export QM_CERT_LIVE=$(cat ../../genericresources/createcerts/server-live.crt | base64 | tr -d '\n') 21 | export QM_KEY_RECOVERY=$(cat ../../genericresources/createcerts/server-recovery.key | base64 | tr -d '\n') 22 | export QM_CERT_RECOVERY=$(cat ../../genericresources/createcerts/server-recovery.crt | base64 | tr -d '\n') 23 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 24 | 25 | ( echo "cat < mtlsqm.yaml 26 | 27 | oc project $TARGET_NAMESPACE 28 | oc apply -f mtlsqm.yaml 29 | 30 | helm install secureapphelm ../../../charts/ibm-mq -f secureapp_nativeha.yaml --set queueManager.nativeha.nativehaGroup=$1 31 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHACRR/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "secureapphelm-ibm-mq-qm-$TARGET_NAMESPACE.$ROOTURL", 12 | "port": 443 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHACRR/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | 18 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 19 | export MQCCDTURL="${DIR}/ccdt_generated.json" 20 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 21 | 22 | export ROOTURL="$(oc get IngressController default -n openshift-ingress-operator -o jsonpath='{.status.domain}')" 23 | ( echo "cat < ccdt_generated.json 24 | 25 | 26 | echo "Starting amqsghac" secureapphelm 27 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHACRR/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2021 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHACRR/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | 18 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 19 | export MQCCDTURL="${DIR}/ccdt_generated.json" 20 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 21 | 22 | export ROOTURL="$(oc get IngressController default -n openshift-ingress-operator -o jsonpath='{.status.domain}')" 23 | ( echo "cat < ccdt_generated.json 24 | 25 | echo "Starting amqsphac" secureapphelm 26 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 27 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHAMQAdvancedContainer/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | oc project $TARGET_NAMESPACE 18 | 19 | helm delete secureapphelm 20 | oc delete secret helmsecure -n $TARGET_NAMESPACE 21 | oc delete configmap helmsecure -n $TARGET_NAMESPACE 22 | oc delete pvc data-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 23 | oc delete pvc data-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 24 | oc delete pvc data-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 25 | oc delete pvc log-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 26 | oc delete pvc log-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 27 | oc delete pvc log-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 28 | oc delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 29 | oc delete pvc qm-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 30 | oc delete pvc qm-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 31 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHAMQAdvancedContainer/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < mtlsqm.yaml 22 | 23 | oc project $TARGET_NAMESPACE 24 | oc apply -f mtlsqm.yaml 25 | 26 | helm install secureapphelm ../../../charts/ibm-mq -f secureapp_nativeha.yaml 27 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHAMQAdvancedContainer/deploy/mtlsqm.yaml_template: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | kind: ConfigMap 15 | apiVersion: v1 16 | metadata: 17 | name: helmsecure 18 | namespace: $TARGET_NAMESPACE 19 | data: 20 | mq.mqsc: |- 21 | DEFINE QLOCAL('APPQ') DEFPSIST(YES) 22 | DEFINE CHANNEL(MTLSQMCHL) CHLTYPE(SVRCONN) TRPTYPE(TCP) SSLCAUTH(REQUIRED) SSLCIPH('ANY_TLS12_OR_HIGHER') 23 | ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) ADOPTCTX(YES) CHCKCLNT(OPTIONAL) CHCKLOCL(OPTIONAL) AUTHENMD(OS) 24 | SET CHLAUTH('MTLSQMCHL') TYPE(SSLPEERMAP) SSLPEER('CN=application1,OU=app team1') USERSRC(MAP) MCAUSER('app1') ACTION(ADD) 25 | REFRESH SECURITY TYPE(CONNAUTH) 26 | SET AUTHREC PRINCIPAL('app1') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ) 27 | SET AUTHREC PROFILE('APPQ') PRINCIPAL('app1') OBJTYPE(QUEUE) AUTHADD(BROWSE,GET,INQ,PUT) 28 | mq.ini: |- 29 | Service: 30 | Name=AuthorizationService 31 | EntryPoints=14 32 | SecurityPolicy=UserExternal 33 | --- 34 | kind: Secret 35 | apiVersion: v1 36 | metadata: 37 | name: helmsecure 38 | namespace: $TARGET_NAMESPACE 39 | data: 40 | tls.key: $QM_KEY 41 | tls.crt: $QM_CERT 42 | app.crt: $APP_CERT 43 | type: Opaque 44 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHAMQAdvancedContainer/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "secureapphelm-ibm-mq-qm-$TARGET_NAMESPACE.$ROOTURL", 12 | "port": 443 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHAMQAdvancedContainer/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | 18 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 19 | export MQCCDTURL="${DIR}/ccdt_generated.json" 20 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 21 | 22 | export ROOTURL="$(oc get IngressController default -n openshift-ingress-operator -o jsonpath='{.status.domain}')" 23 | ( echo "cat < ccdt_generated.json 24 | 25 | 26 | echo "Starting amqsghac" secureapphelm 27 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHAMQAdvancedContainer/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2021 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/OpenShiftNativeHAMQAdvancedContainer/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"cp4i"} 17 | 18 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 19 | export MQCCDTURL="${DIR}/ccdt_generated.json" 20 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 21 | 22 | export ROOTURL="$(oc get IngressController default -n openshift-ingress-operator -o jsonpath='{.status.domain}')" 23 | ( echo "cat < ccdt_generated.json 24 | 25 | echo "Starting amqsphac" secureapphelm 26 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 27 | -------------------------------------------------------------------------------- /samples/PerformanceSniffTest/buildDrivingApp/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | mkdir buildcontainer 17 | cd buildcontainer 18 | git clone https://github.com/ibm-messaging/cphtestp.git 19 | cd cphtestp 20 | cd ssl 21 | cp ../../../../../genericresources/createcerts/server.kdb key.kdb 22 | cp ../../../../../genericresources/createcerts/server.rdb key.rdb 23 | cp ../../../../../genericresources/createcerts/server.sth key.sth 24 | cd .. 25 | wget https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/mqadv_dev923_ubuntu_x86-64.tar.gz 26 | tar -zxf mqadv_dev923_ubuntu_x86-64.tar.gz 27 | rm mqadv_dev923_ubuntu_x86-64.tar.gz 28 | cp -R MQServer/lap . 29 | cp MQServer/mqlicense.sh . 30 | cp MQServer/ibmmq-client_9.*_amd64.deb . 31 | cp MQServer/ibmmq-gskit_9.*_amd64.deb . 32 | cp MQServer/ibmmq-runtime_9.*_amd64.deb . 33 | rm -rf MQServer 34 | docker build --tag cphtestp . 35 | -------------------------------------------------------------------------------- /samples/PerformanceSniffTest/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=cp4i 17 | 18 | helm delete perfhelm 19 | oc delete secret mqperfcert -n $TARGET_NAMESPACE 20 | oc delete configmap mqperfmqsc -n $TARGET_NAMESPACE 21 | oc delete pvc qm-perfhelm-ibm-mq-0 -n $TARGET_NAMESPACE 22 | oc delete pvc qm-perfhelm-ibm-mq-1 -n $TARGET_NAMESPACE 23 | oc delete pvc qm-perfhelm-ibm-mq-2 -n $TARGET_NAMESPACE 24 | -------------------------------------------------------------------------------- /samples/PerformanceSniffTest/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | #! /bin/bash 16 | 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 19 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < resource.yaml 22 | 23 | oc apply -f resource.yaml 24 | 25 | helm install perfhelm ../../../charts/ibm-mq -f perfhelm_nativeha.yaml 26 | -------------------------------------------------------------------------------- /samples/PerformanceSniffTest/deploy/perfhelm_nativeha.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021, 2022 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | license: accept 15 | queueManager: 16 | nativeha: 17 | enable: true 18 | tls: 19 | secretName: mqperfcert 20 | mqscConfigMaps: 21 | - name: mqperfmqsc 22 | items: 23 | - mq.mqsc 24 | qminiConfigMaps: 25 | - name: mqperfmqsc 26 | items: 27 | - qm.ini 28 | envVariables: 29 | - name: MQ_APP_PASSWORD 30 | value: mqcloudnative 31 | persistence: 32 | qmPVC: 33 | enable: true 34 | pki: 35 | keys: 36 | - name: default 37 | secret: 38 | secretName: mqperfcert 39 | items: 40 | - tls.key 41 | - tls.crt 42 | metadata: 43 | annotations: 44 | productName: "IBM MQ Advanced for Developers" 45 | productID: "2f886a3eefbe4ccb89b2adb97c78b9cb" 46 | productChargedContainers: "" 47 | productMetric: "FREE" 48 | -------------------------------------------------------------------------------- /samples/PerformanceSniffTest/test/control.prop: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # 15 | # 16 | # This file controls the test application, customize the values below prior 17 | # to running testAll.sh 18 | 19 | # The host and port that should be used for TLS communication 20 | QUEUEMANAGER_TLS_HOST=perfhelm-ibm-mq.cp4i 21 | QUEUEMANAGER_TLS_PORT=1414 22 | 23 | # The endpoint that should be used for non-TLS communication 24 | QUEUEMANAGER_HOST=perfhelm-ibm-mq.cp4i 25 | QUEUEMANAGER_PORT=1414 26 | 27 | # CPH Image location 28 | IMAGE_LOCATION=image-registry.openshift-image-registry.svc:5000/cp4i/cphtestp 29 | REGISTRY_PULL_SECRET= 30 | 31 | # Core and memory setting 32 | # It is recommended that you assign 150% of the Queue Manager cores to the 33 | # application, to avoid any bottlenecks. The memory should be the corresponding 34 | # core count in Gi (for instance if 1 core then 1 Gi, 4 cores then 4Gi). 35 | CORE=2 36 | MEMORY=2Gi 37 | 38 | # Name of the Queue Manager that will be connected to 39 | QMGR_NAME=perfhelm 40 | 41 | # The name of the stateful set for the queue manager. This is used to set a 42 | # anti affinity rule to assure that the same worker node does not host the 43 | # driving application and the Queue Manager. 44 | STATEFUL_SET_NAME_OF_QMGR=perfhelm-ibm-mq 45 | -------------------------------------------------------------------------------- /samples/README.md: -------------------------------------------------------------------------------- 1 | # Samples for the IBM MQ Helm Chart 2 | The following includes all the resources to test out the IBM MQ Helm Chart in serveral environments. 3 | 4 | * [AWS EKS using IBM MQ Native HA](AWSEKS/README.md) 5 | * Azure 6 | * [Azure AKS using IBM MQ Native HA](AzureAKS/README.md) 7 | * [Azure AKS Free Tier using IBM MQ](AzureAKSFreeTier/README.md) 8 | * [Azure AKS using IBM MQ Multi-instance](AzureAKSMultiInstance/README.md) 9 | * [Google Kubernetes Engine using IBM MQ Native HA](GoogleKubernetesEngine/README.md) 10 | * [IBM Cloud Kubernetes Service (IKS) using IBM MQ Native HA](IBMKubernetesService/README.md) 11 | * [Rancher RKE2 and OpenEBS using IBM MQ Native HA](RancherRKEOpenEBS/README.md) 12 | * [minikube on your own laptop](Minikube/README.md) 13 | * RedHat OpenShift using IBM MQ Native HA 14 | * Configured for the [IBM MQ Advanced for Developer container](OpenShiftNativeHA/README.md) 15 | * Configured for a licensed [IBM MQ Advanced container](OpenShiftNativeHAMQAdvancedContainer/README.md) 16 | * RedHat OpenShift using IBM MQ Native HA with Cross-region Replication 17 | * Configured for the [IBM MQ Advanced for Developer container](OpenShiftNativeHACRR/README.md) 18 | * [RedHat OpenShift on IBM Power using a single instance Queue Manager](OpenShiftIBMPower/README.md) 19 | * [VMware tanzu using IBM MQ Native HA](VMwareTanzu/README.md) 20 | -------------------------------------------------------------------------------- /samples/RancherRKEOpenEBS/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | 18 | helm delete secureapphelm 19 | kubectl delete secret helmsecure -n $TARGET_NAMESPACE 20 | kubectl delete configmap helmsecure -n $TARGET_NAMESPACE 21 | kubectl delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 22 | -------------------------------------------------------------------------------- /samples/RancherRKEOpenEBS/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < mtlsqm.yaml 22 | 23 | kubectl config set-context --current --namespace=$TARGET_NAMESPACE 24 | kubectl apply -f mtlsqm.yaml 25 | 26 | helm upgrade --install secureapphelm ../../../charts/ibm-mq -f secureapp.yaml 27 | -------------------------------------------------------------------------------- /samples/RancherRKEOpenEBS/deploy/secureapp.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2023 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | license: accept 15 | queueManager: 16 | nativeha: 17 | enable: true 18 | tls: 19 | secretName: helmsecure 20 | mqscConfigMaps: 21 | - name: helmsecure 22 | items: 23 | - mq.mqsc 24 | qminiConfigMaps: 25 | - name: helmsecure 26 | items: 27 | - mq.ini 28 | envVariables: 29 | - name: MQ_ADMIN_PASSWORD 30 | value: "Passw0rd" 31 | persistence: 32 | qmPVC: 33 | enable: true 34 | storageClassName: openebs-hostpath 35 | size: 5Gi 36 | security: 37 | context: 38 | fsGroup: 0 39 | pki: 40 | keys: 41 | - name: default 42 | secret: 43 | secretName: helmsecure 44 | items: 45 | - tls.key 46 | - tls.crt 47 | trust: 48 | - name: default 49 | secret: 50 | secretName: helmsecure 51 | items: 52 | - app.crt 53 | metadata: 54 | annotations: 55 | productName: "IBM MQ Advanced for Developers" 56 | productID: "2f886a3eefbe4ccb89b2adb97c78b9cb" 57 | productChargedContainers: "" 58 | productMetric: "FREE" 59 | route: 60 | nodePort: 61 | webconsole: true 62 | mqtraffic: true 63 | -------------------------------------------------------------------------------- /samples/RancherRKEOpenEBS/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "$IPADDRESS", 12 | "port": $PORT 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/RancherRKEOpenEBS/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | export MQRCVBLKTO=5 21 | export PORT="$(kubectl get services secureapphelm-ibm-mq-qm -n $TARGET_NAMESPACE -o jsonpath="{.spec.ports[?(@.port=="1414")].nodePort}" | awk '{print $1}')" 22 | export IPADDRESS="$(kubectl get nodes -o jsonpath='{..addresses[1].address}' | awk '{print $1}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" secureapphelm 28 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm -------------------------------------------------------------------------------- /samples/RancherRKEOpenEBS/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2023 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/RancherRKEOpenEBS/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2023 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | export MQRCVBLKTO=5 21 | export PORT="$(kubectl get services secureapphelm-ibm-mq-qm -n $TARGET_NAMESPACE -o jsonpath="{.spec.ports[?(@.port=="1414")].nodePort}" | awk '{print $1}')" 22 | export IPADDRESS="$(kubectl get nodes -o jsonpath='{..addresses[1].address}' | awk '{print $1}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | echo "Starting amqsphac" secureapphelm 27 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm -------------------------------------------------------------------------------- /samples/VMwareTanzu/deploy/cleanup.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=default 17 | 18 | helm delete secureapphelm 19 | kubectl delete secret helmsecure -n $TARGET_NAMESPACE 20 | kubectl delete configmap helmsecure -n $TARGET_NAMESPACE 21 | kubectl delete pvc data-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 22 | kubectl delete pvc data-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 23 | kubectl delete pvc data-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 24 | kubectl delete pvc log-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 25 | kubectl delete pvc log-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 26 | kubectl delete pvc log-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 27 | kubectl delete pvc qm-secureapphelm-ibm-mq-0 -n $TARGET_NAMESPACE 28 | kubectl delete pvc qm-secureapphelm-ibm-mq-1 -n $TARGET_NAMESPACE 29 | kubectl delete pvc qm-secureapphelm-ibm-mq-2 -n $TARGET_NAMESPACE 30 | -------------------------------------------------------------------------------- /samples/VMwareTanzu/deploy/install.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | export TARGET_NAMESPACE=${1:-"default"} 17 | export QM_KEY=$(cat ../../genericresources/createcerts/server.key | base64 | tr -d '\n') 18 | export QM_CERT=$(cat ../../genericresources/createcerts/server.crt | base64 | tr -d '\n') 19 | export APP_CERT=$(cat ../../genericresources/createcerts/application.crt | base64 | tr -d '\n') 20 | 21 | ( echo "cat < mtlsqm.yaml 22 | 23 | kubectl config set-context --current --namespace=$TARGET_NAMESPACE 24 | kubectl apply -f mtlsqm.yaml 25 | 26 | helm install secureapphelm ../../../charts/ibm-mq -f secureapp_nativeha.yaml 27 | -------------------------------------------------------------------------------- /samples/VMwareTanzu/deploy/mtlsqm.yaml_template: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | kind: ConfigMap 15 | apiVersion: v1 16 | metadata: 17 | name: helmsecure 18 | namespace: $TARGET_NAMESPACE 19 | data: 20 | mq.mqsc: |- 21 | DEFINE QLOCAL('APPQ') DEFPSIST(YES) 22 | DEFINE CHANNEL(MTLSQMCHL) CHLTYPE(SVRCONN) TRPTYPE(TCP) SSLCAUTH(REQUIRED) SSLCIPH('ANY_TLS12_OR_HIGHER') 23 | ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) ADOPTCTX(YES) CHCKCLNT(OPTIONAL) CHCKLOCL(OPTIONAL) AUTHENMD(OS) 24 | SET CHLAUTH('MTLSQMCHL') TYPE(SSLPEERMAP) SSLPEER('CN=application1,OU=app team1') USERSRC(MAP) MCAUSER('app1') ACTION(ADD) 25 | REFRESH SECURITY TYPE(CONNAUTH) 26 | SET AUTHREC PRINCIPAL('app1') OBJTYPE(QMGR) AUTHADD(CONNECT,INQ) 27 | SET AUTHREC PROFILE('APPQ') PRINCIPAL('app1') OBJTYPE(QUEUE) AUTHADD(BROWSE,GET,INQ,PUT) 28 | mq.ini: |- 29 | Service: 30 | Name=AuthorizationService 31 | EntryPoints=14 32 | SecurityPolicy=UserExternal 33 | --- 34 | kind: Secret 35 | apiVersion: v1 36 | metadata: 37 | name: helmsecure 38 | namespace: $TARGET_NAMESPACE 39 | data: 40 | tls.key: $QM_KEY 41 | tls.crt: $QM_CERT 42 | app.crt: $APP_CERT 43 | type: Opaque 44 | -------------------------------------------------------------------------------- /samples/VMwareTanzu/deploy/secureapp_nativeha.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2021 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | license: accept 15 | queueManager: 16 | nativeha: 17 | enable: true 18 | tls: 19 | secretName: helmsecure 20 | mqscConfigMaps: 21 | - name: helmsecure 22 | items: 23 | - mq.mqsc 24 | qminiConfigMaps: 25 | - name: helmsecure 26 | items: 27 | - mq.ini 28 | persistence: 29 | qmPVC: 30 | enable: true 31 | security: 32 | context: 33 | fsGroup: 0 34 | pki: 35 | keys: 36 | - name: default 37 | secret: 38 | secretName: helmsecure 39 | items: 40 | - tls.key 41 | - tls.crt 42 | trust: 43 | - name: default 44 | secret: 45 | secretName: helmsecure 46 | items: 47 | - app.crt 48 | metadata: 49 | annotations: 50 | productName: "IBM MQ Advanced for Developers" 51 | productID: "2f886a3eefbe4ccb89b2adb97c78b9cb" 52 | productChargedContainers: "" 53 | productMetric: "FREE" 54 | route: 55 | nodePort: 56 | webconsole: true 57 | mqtraffic: true 58 | -------------------------------------------------------------------------------- /samples/VMwareTanzu/test/ccdt_template.json: -------------------------------------------------------------------------------- 1 | { 2 | "channel": 3 | [ 4 | { 5 | "name": "MTLSQMCHL", 6 | "clientConnection": 7 | { 8 | "connection": 9 | [ 10 | { 11 | "host": "$IPADDRESS", 12 | "port": $PORT 13 | } 14 | ], 15 | "queueManager": "secureapphelm" 16 | }, 17 | "transmissionSecurity": 18 | { 19 | "cipherSpecification": "ANY_TLS12_OR_HIGHER", 20 | "certificateLabel": "aceclient" 21 | }, 22 | "type": "clientConnection" 23 | } 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /samples/VMwareTanzu/test/getMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="$(kubectl get services secureapphelm-ibm-mq-qm -n $TARGET_NAMESPACE -o jsonpath='{.spec.ports[].nodePort}')" 22 | export IPADDRESS="$(kubectl get nodes -o jsonpath='{..addresses[1].address}' | awk '{print $1}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | 27 | echo "Starting amqsghac" secureapphelm 28 | /opt/mqm/samp/bin/amqsghac APPQ secureapphelm 29 | -------------------------------------------------------------------------------- /samples/VMwareTanzu/test/mqclient.ini: -------------------------------------------------------------------------------- 1 | #* © Copyright IBM Corporation 2021 *# 2 | #* *# 3 | #* Licensed under the Apache License, Version 2.0 (the "License"); *# 4 | #* you may not use this file except in compliance with the License. *# 5 | #* You may obtain a copy of the License at *# 6 | #* *# 7 | #* http://www.apache.org/licenses/LICENSE-2.0 *# 8 | #* *# 9 | #* Unless required by applicable law or agreed to in writing, software *# 10 | #* distributed under the License is distributed on an "AS IS" BASIS, *# 11 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.*# 12 | #* See the License for the specific language governing permissions and *# 13 | #* limitations under the License. *# 14 | #* Module Name: mqclient.ini *# 15 | #* Type : IBM MQ MQI client configuration file *# 16 | # Function : Define the configuration of a client *# 17 | #* *# 18 | #***************************************************************************# 19 | #* Notes : *# 20 | #* 1) This file defines the configuration of a client *# 21 | #* *# 22 | #***************************************************************************# 23 | 24 | SSL: 25 | OutboundSNI=HOSTNAME 26 | -------------------------------------------------------------------------------- /samples/VMwareTanzu/test/sendMessage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # © Copyright IBM Corporation 2021 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" 17 | export TARGET_NAMESPACE=${1:-"default"} 18 | export MQCCDTURL="${DIR}/ccdt_generated.json" 19 | export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application" 20 | 21 | export PORT="$(kubectl get services secureapphelm-ibm-mq-qm -n $TARGET_NAMESPACE -o jsonpath='{.spec.ports[].nodePort}')" 22 | export IPADDRESS="$(kubectl get nodes -o jsonpath='{..addresses[1].address}' | awk '{print $1}')" 23 | 24 | ( echo "cat < ccdt_generated.json 25 | 26 | echo "Starting amqsphac" secureapphelm 27 | /opt/mqm/samp/bin/amqsphac APPQ secureapphelm 28 | -------------------------------------------------------------------------------- /samples/genericresources/createcerts/application.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDNzCCAh+gAwIBAgIUaJTlh+CpAdyIHRsn8UBv+UddMTIwDQYJKoZIhvcNAQEL 3 | BQAwKzEVMBMGA1UEAwwMYXBwbGljYXRpb24xMRIwEAYDVQQLDAlhcHAgdGVhbTEw 4 | HhcNMjIwMjIxMTQxMjQzWhcNMzIwMjE5MTQxMjQzWjArMRUwEwYDVQQDDAxhcHBs 5 | aWNhdGlvbjExEjAQBgNVBAsMCWFwcCB0ZWFtMTCCASIwDQYJKoZIhvcNAQEBBQAD 6 | ggEPADCCAQoCggEBAMLUJnFMkdtme7IjK0pQedM2x3LxVxMJ4lidazkE4astdhV2 7 | e/oysc0RZ1Es/O9fU6hANpNHsxmpIb59lz6j+MzQ34xbX1wEFm/DQGLtIjXYA/Lx 8 | egyjvqFzSzoX6jkBms4BbwGG66PtVVQEs0nrZM/ryepbPDbtOnbt4AE/eTQMwEEj 9 | K5ra08XISEtat76MybPn86DwJ95f1fnTPsa4+tEOou/f6tI/MCl33aY6eylgQl6c 10 | tdcoTrmZXWUbfg2bVOf3nYIbXNSvKAQFshZxftCbJWFTUESDh6imqyD7HYiGKdjo 11 | CRK2arNQAq7H+monbTbIaX8nsPKQaHbjQfNh6uMCAwEAAaNTMFEwHQYDVR0OBBYE 12 | FCyqeA4uyrK/T3PfmSWb81U8ZXEJMB8GA1UdIwQYMBaAFCyqeA4uyrK/T3PfmSWb 13 | 81U8ZXEJMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAKaSeS7u 14 | KMh6FgQKGJdIMKvV5o1TqVFHJ6DEeorg43pKoyGjklcnTP3niLs7VgxzVOBqWXcg 15 | DV3bl459+bqL3aMFE6AaoeoIz1YyfP0i1h/ajL+3WXsJ3QlR/jmg1Qb0MU4M3R/G 16 | FHXOtQWMYs1w6HDO/hp3PISBNiO4nLWu7cqXmNQzWfzlefO/MoN1ymQAao6QMJQH 17 | KDOpVVOl3WIVfhT0EE+Gnghnfdhvg0XfS3Egb2nejTsm6xif/I64tgzv29RGojBg 18 | posvT8+MaSWW04hBmJWZJGDh7zklYhBZEoTjF8BBnFIZp0KTCKatXbKy2TmzTzB9 19 | Cg9sGA5ybO5KXZo= 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /samples/genericresources/createcerts/application.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/application.jks -------------------------------------------------------------------------------- /samples/genericresources/createcerts/application.kdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/application.kdb -------------------------------------------------------------------------------- /samples/genericresources/createcerts/application.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDC1CZxTJHbZnuy 3 | IytKUHnTNsdy8VcTCeJYnWs5BOGrLXYVdnv6MrHNEWdRLPzvX1OoQDaTR7MZqSG+ 4 | fZc+o/jM0N+MW19cBBZvw0Bi7SI12APy8XoMo76hc0s6F+o5AZrOAW8Bhuuj7VVU 5 | BLNJ62TP68nqWzw27Tp27eABP3k0DMBBIyua2tPFyEhLWre+jMmz5/Og8CfeX9X5 6 | 0z7GuPrRDqLv3+rSPzApd92mOnspYEJenLXXKE65mV1lG34Nm1Tn952CG1zUrygE 7 | BbIWcX7QmyVhU1BEg4eopqsg+x2IhinY6AkStmqzUAKux/pqJ202yGl/J7DykGh2 8 | 40HzYerjAgMBAAECggEAfTSjo+pGTg5Vbgyl9HM1Z2Rr1tV8VPLkMHiyAIm/kSd9 9 | HJvxXsAXfacyk3tq7VaAx77Ek+/fDJ2h3u6NNSdhbBbLo0LRTKwf0yFSjoDAnIO/ 10 | PfCrs9XDW7RhYusdjhcW6k8HjJ6tbsLGNGF06wtI1Uo9j8ukLdRU3ztN2t90v9pU 11 | 32nWyVVAQpiueXtVZ/6WEVFvFPGlP8YE+IFLE6zbfCz75W2BF+pS8WK3NUcV/LaJ 12 | puHrm+2CFHHdC37f+dVI5eZ/andryb/jhspDCKorYaK5ImjfyBspTC0/yfgOFtM+ 13 | RJKNOmDsH5z1ihC/DsyBAaAqtWYEPYujg4hrPfYEeQKBgQD7ZqcDlcOh55R50jeJ 14 | 4X3jFzhvFJR+o2gYiACOgm9OosPGJLvYRZx+EBvhHvmEF0aSnXSRQbbymrS5bpYe 15 | DvqvpIB9MaVYmdHmS+W7mfycLa5fKv59vQtUt+0Hx6xFegCBActQ6k9+TlFYb75T 16 | XGIglz08HnoQVhtl8yk+1F8MRwKBgQDGZI/AZucIY/rrU29SoRJKyghl/YaN8se3 17 | hWr4i0hlKWWD8cWt5WmoYbF31sZCwL6/Lb+TJ7duNcKTHih6NMDU8lwvbNkBmmMG 18 | wWt8ooL5etmZPn6UROsjJZdHEqFhhLHLJblYqwYfk6CF9vWck9rON83dzAqAAPNP 19 | geW/OWImhQKBgEj85ZJJ4dFYnae8m3lBaT4MGMtPK0mVAXzVx2uYfN5UrQgS1CKX 20 | GzcSUDXMu15ZL5kTc6tUa9wFhGCttZGmgauK0+8FAd82UVVORbVwoIFrVcu1fMte 21 | njKLb5qpot9M62aI8dFdJZUjAcTuNFCZarfRkOqqYn/pr+yqaxgdqjazAoGBAJiq 22 | A5B73uavAQQbRTvhZJEWnJXXHLaYjyTizukJTSFDVLHO1140fjSrUIQ2SoRNi7rT 23 | umrDkjyFs/+/okg/1e9HvLZl3SuFoRQuvMbAy2atKUrqMz9nNUXrhFiVtoezM5lu 24 | owzfNiwQTuMnoeLmR+aOPKWjgKT1lkWlYKTgxG19AoGBAKt9C31Z7No6Y1EcbmT/ 25 | I9fS7etmeccpDXugUpyHXkaGGuG3eUFqrVcdXCWljifPCM5tdNki29944C8e2AjE 26 | u+5yGsf6EkOBqLRwo+WWFjoGsuWcPpX8CDnAx8U9lLFes7NMl3HplSLQrOnTCLNr 27 | 14xYnMVrWHF6WnXRnGew7Uxu 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /samples/genericresources/createcerts/application.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/application.p12 -------------------------------------------------------------------------------- /samples/genericresources/createcerts/application.rdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/application.rdb -------------------------------------------------------------------------------- /samples/genericresources/createcerts/application.sth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/application.sth -------------------------------------------------------------------------------- /samples/genericresources/createcerts/generate-crr-certs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # -*- mode: sh -*- 3 | # © Copyright IBM Corporation 2025 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | KEY_LIVE=server-live.key 18 | CERT_LIVE=server-live.crt 19 | KEYP12_LIVE=server-live.p12 20 | KEY_RECOVERY=server-recovery.key 21 | CERT_RECOVERY=server-recovery.crt 22 | KEYP12_RECOVERY=server-recovery.p12 23 | PASSWORD=password 24 | 25 | # Create a private key and certificate in PEM format, for the server to use 26 | echo "#### Create a private key and certificate in PEM format, for the Live & Recovery groups to communicate securely" 27 | openssl req \ 28 | -newkey rsa:2048 -nodes -keyout ${KEY_LIVE} \ 29 | -subj "/CN=mq queuemanager/OU=ibm mq" \ 30 | -x509 -days 3650 -out ${CERT_LIVE} 31 | 32 | openssl pkcs12 -export -out ${KEYP12_LIVE} -inkey ${KEY_LIVE} -in ${CERT_LIVE} -passout pass:password 33 | 34 | openssl req \ 35 | -newkey rsa:2048 -nodes -keyout ${KEY_RECOVERY} \ 36 | -subj "/CN=mq queuemanager/OU=ibm mq" \ 37 | -x509 -days 3650 -out ${CERT_RECOVERY} 38 | 39 | openssl pkcs12 -export -out ${KEYP12_RECOVERY} -inkey ${KEY_RECOVERY} -in ${CERT_RECOVERY} -passout pass:password -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server-live.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIC0jCCAboCCQC1XK1oIlmXXjANBgkqhkiG9w0BAQsFADArMRgwFgYDVQQDDA9t 3 | cSBxdWV1ZW1hbmFnZXIxDzANBgNVBAsMBmlibSBtcTAeFw0yNTAzMDUxMDUzMDRa 4 | Fw0zNTAzMDMxMDUzMDRaMCsxGDAWBgNVBAMMD21xIHF1ZXVlbWFuYWdlcjEPMA0G 5 | A1UECwwGaWJtIG1xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2G/ 6 | dkDfRZ4OpfLBeg9R8MU9lHldoFt5fz7t48c4rAZIQV2HiOCULDZTshCsuxS1AfjF 7 | pngzDmNflMCZ4bOv4rRNeOdGtV9v/R7aN77MA4ZbZo3Urxr3F4UAfwW5eu+3Gu+I 8 | 99teqC5kG35CHWUJr+jBD6xugkXgHtNTsHk5eofpJcanulaKskwZIiG+drc/qWHG 9 | s0x6WsfAJy2CzeC7fl83lm9LCE+Oq9IRSuEo3QzVEtS3y80XKn0DX03vpMltRbqg 10 | UG9J1B7b3mPem2WjFQ4CKvy1GiehA8O6VouPYE2DJx8w+xFYyZG4kaAbBVbsquGJ 11 | lbkyIoEznXFctstVUwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQCV/u291zb94mp9 12 | 3EtCgFAhki8PwmICETCmtgG4nv76UOzZwGq4rnNu7txvo/zTojbF8MgNu4WTGJyR 13 | NNUfonoTfbBpRZdmtyXorR6SvYFz3ItzKLyQ9L95KPjSH71ypFhR9Uhkm1dNv0H5 14 | NYO40V9aHWzDE8mvOFwYp/ZPkr1laJBBC3QlMfpZcnY9TIajfVynQxBb9icJVGSG 15 | ez2+L72Qc6gD9yvJgvqUjtwHziov59tUJ/fga3U9/8FmwZdti38rSvOu0axMqAzr 16 | 3SuiI2aowrEzeDpLdd95UYhdcXL7wQgxjIonLSK92MXFDMO6peJsLTgXbY9B3LZ9 17 | rbjCzAJj 18 | -----END CERTIFICATE----- 19 | -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server-live.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDHYb92QN9Fng6l 3 | 8sF6D1HwxT2UeV2gW3l/Pu3jxzisBkhBXYeI4JQsNlOyEKy7FLUB+MWmeDMOY1+U 4 | wJnhs6/itE1450a1X2/9Hto3vswDhltmjdSvGvcXhQB/Bbl677ca74j3216oLmQb 5 | fkIdZQmv6MEPrG6CReAe01OweTl6h+klxqe6VoqyTBkiIb52tz+pYcazTHpax8An 6 | LYLN4Lt+XzeWb0sIT46r0hFK4SjdDNUS1LfLzRcqfQNfTe+kyW1FuqBQb0nUHtve 7 | Y96bZaMVDgIq/LUaJ6EDw7pWi49gTYMnHzD7EVjJkbiRoBsFVuyq4YmVuTIigTOd 8 | cVy2y1VTAgMBAAECggEARQObv3YTEsj0LxMJT5PP/DR57VPZSbGAK8B/nbGO91Sx 9 | XBbg3EtIXslrTR6ie5teUFFpMQc4PQm+wwGsAkktX56jlm8PtaZUYFx2kocznSC7 10 | sJL1hKsjzntWQaGco2YojmVNluXTLQnp0u5wOjaIFODPOvqnweYn/uONe29qqvOV 11 | 72x/aRpbgTdPFxzhDEo4JrBM2DhItCbYbfBIYKUyPbAbCH5f5ULAil0fWY1vqpon 12 | hSgx/gNuZJN6hA/SgxOojIgQChp95UjgSyrRyFefrBJgCXnOQpCSq71iICoN4AV9 13 | 2WAxBn30Mo8RcdNetLNBhWe3yQjDiXavztff+BhvQQKBgQDtwfeigVttgyv0ZpIW 14 | lCS55t+8RwP958XDcwKEbSzAbn/pXERKzgMUVcsQ5/J5Aj+Z7pU0eVs5WSCLAiz7 15 | QADcjGgXz1c/wtdZnYWe0IsKXndpSNNQTqf0px9AZs3E6EFEGX7HgJX79hf/mwdp 16 | SbG/P5O/TmoXna2qxAVMq26P8wKBgQDWrgCqOZTmJAXyk9DWCeuLeJYQyCceBdeD 17 | 4Llt4rMc8NtzAnAmonl2S3IiFkxlIAO5kFbFCD2/cERAZTo/x0+Pg6fGChlWTNUy 18 | VSVhCUFbhKbS49Vp78sLBzQF3TthkBSqluKvKrVh2ngb1Q8/laNHb1R1GiyTjDzu 19 | 7WZu/yLdIQKBgASajeX6pT+Qm6hG2CtRwQhMfSaTJXOkKkMnlfPkfUpYmWd2Xugn 20 | 5w1cv+ra4uoO7hZX9VGny+lnXWbzqtVOnvWmTlmvrRvR9QOKNk0l8ptHyv4h592V 21 | OFFXbxZ7Jx7Z9HGSIM9SIRVY5YwQf2s9fxCZ9Y1twkYkynkVBJlAdIqbAoGAaayV 22 | XzWg+fhZhSMF9ZZEgA8Hr5MWzkyJ3bzNCi5BhMl6/I4CrsHjkDtrHyRizpSHwNww 23 | GiUIYCffMOOjXKm7nCVufKmT90sy1ufa0n0/0tDlXYIRF2iWRgNxtEFGbawCwEYt 24 | p5QaXOSxouGp896w1QUUSeBseOTbSbFKbvDgNIECgYBUtr1FYokYni7oSlz26dMF 25 | WN/BWJpM64lRkVhJYzjeQDKlB4/vTrm51oCfmvPjFYh0knTy16j4IS2bsMHBRICz 26 | TqJom91+/dAp/urExxHgB4z5rFVWM8yzxOhYa6Am2ZZA/nt5e9Cr/Vms9Mv7rWf3 27 | pJbGbavcg06o576qvJcq9w== 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server-live.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/server-live.p12 -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server-recovery.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIC0jCCAboCCQC2fEC/vzL8tTANBgkqhkiG9w0BAQsFADArMRgwFgYDVQQDDA9t 3 | cSBxdWV1ZW1hbmFnZXIxDzANBgNVBAsMBmlibSBtcTAeFw0yNTAzMDUxMDUzMDRa 4 | Fw0zNTAzMDMxMDUzMDRaMCsxGDAWBgNVBAMMD21xIHF1ZXVlbWFuYWdlcjEPMA0G 5 | A1UECwwGaWJtIG1xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyWHj 6 | 1rxPslDvNp6l4iKFJOACiWknK1CoAyRTlXODTHQk2+uTe769psO3xW0W9jGq+yhs 7 | YUvPrYuRplYbbSFIfltflpqLAs9KWc+2aY55F2K6Tn22obauOM/ukWB/ryCrCjU/ 8 | yOAl4NaLpAqA/biiEPoQYlRb8v8GlxQyt/cQZfgMsTWpwv3gdAWXTw1u6Vo0ILLf 9 | qhibFHCkvo5ME0Rtr5fu9qFdGyvw9jJZMtUXYqIDZG9BYLk5HdLOHX7UJPJUdGJt 10 | M29u375hpqTs6IlTyAo6g0e51uvLTtNo9ESto0QiGUak6nCwHiTtaHDoL1xEm8WG 11 | Dgh5KAXBe9KHzW4Z0QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBh34ON3zSHcelP 12 | 37RbYiwisQLEsJDsudAg37LwJXp+hlf1cYXIEBvJTwiLMpQB7e0ivn78F67le/I5 13 | CHVtYiC1Wo9hg/KOTFv+6Z4WbGJ6fwSq17ObFO/uYykMrRdZhutMo2k3Eff6Y1id 14 | E+zvC0BkmkGJCwR72IeiapdA8erISlSg7JfZROY+UaytvqkB1YxP2QRceW5WiqY4 15 | dpYYUSKJZfDCd5ASokJEEFsdQEa2lTDugd45HT55IwOzpLhlHSM41M6nPYRYDb4G 16 | z+qeeJTsshBt9vU+xZHbScFqftvaDgtsSmFhAhh9ysidabkL1IgpIGy+XIslKyda 17 | H/BPhZbG 18 | -----END CERTIFICATE----- 19 | -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server-recovery.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDJYePWvE+yUO82 3 | nqXiIoUk4AKJaScrUKgDJFOVc4NMdCTb65N7vr2mw7fFbRb2Mar7KGxhS8+ti5Gm 4 | VhttIUh+W1+WmosCz0pZz7ZpjnkXYrpOfbahtq44z+6RYH+vIKsKNT/I4CXg1ouk 5 | CoD9uKIQ+hBiVFvy/waXFDK39xBl+AyxNanC/eB0BZdPDW7pWjQgst+qGJsUcKS+ 6 | jkwTRG2vl+72oV0bK/D2Mlky1RdiogNkb0FguTkd0s4dftQk8lR0Ym0zb27fvmGm 7 | pOzoiVPICjqDR7nW68tO02j0RK2jRCIZRqTqcLAeJO1ocOgvXESbxYYOCHkoBcF7 8 | 0ofNbhnRAgMBAAECggEBAI/rwr3zpO1mRB9/8EOVshvxcD6uBM1C/mAIdSfI/xwD 9 | oVf+m0+DuNxW4Z5Z4WAfjPekIxjB6nE33ubGgSFT+RA80yq51gEzDgrzlIUJyma5 10 | KzbvRzd5bDez+uaw1W/eY/6OocA42Tk/e1rIGvm5GzIQ1ObBLVmTgy0zxS+OhYyp 11 | HWpgKnDBUgu+Vrph9cPvI3FaAY9yOLw3ihsgw3JwyepGVGzZfnvGCpLOpvYK8uja 12 | 03dt+uEqGhCSjODbPRZC/C3i20ptxKm7l6LFfMczncgDaQJWECiP/xrg8trrXari 13 | DKHdMNVVhZuKA0iZGGKXQa7rzyV9JfWXRaG2Dwe/nzECgYEA84mFO3CeR1RE+X0X 14 | QZnaTwzQUZIRgU9zqzyhtrSFVjI3rNnhFUkhBrM/3ApCLmkYK1aWuzriW4DnraNG 15 | 0RLeQREXGoF0J4Fqn1DHPcue8Y5DAhVKoTt7BTjDLwlLrPCU/9DmOGTxqcdcZVaA 16 | MDYse+uqfB2fL699wsY2+VgyAj0CgYEA07Ad8EPpjhwz+W2KdPeghJZ+D97YmjfP 17 | u5UMsRMvunCzFoyXjaZNf0O43VdZsde5JJb8Hu/e1sbuMNFdQvDYn0jpKZMh6Qme 18 | DDsF3YZCsxljFQB/ga14oqb+SJmBFgvAEzE1T8Yue0i+bSGm/bUTArpXHj4nmjqa 19 | VNVjJU8CUyUCgYAvuZRlaJVr7wSxS6VCEs9oTF+KjLBngdVuCiy6rDexA5hLhEsK 20 | q9EQChKKoWwEwk2dOJPDTy/KtMEyEtwu3p61a472f8Xuc/scC21wG7YjKjjRcLC2 21 | Vfyuskf1sMGmu2LHmv1ysb12Av6FUWU/jW48PpujRP7MDnz7rXJafMEYFQKBgQCp 22 | 05PhKoqXwNaNl6zJc9PqKtXNo6k/5+CXC9eXw925hCqYv4fiUvW/ULRhlm9V9swI 23 | p7xykVvEEOoMbhqU1qXi+9payTgePeH2y+9Dri+agZZ0xeaFQYcTbkd4NPZTmm+o 24 | tgSgEE1ACLcE1EelKHys5pN3psOcvsELp/mXd9BUpQKBgQDtLmcuSfOIoR6nuSad 25 | BBoR4qxDKZpKGVycaG1Xj1o2KUNuTesv/H33mcjDcu/YHf9Da1JNPX6v/wnlzY9g 26 | VAy7mLx1FBzDt66S6M9YnW2ibjN/S/qloy6huEUfFUEp1dDpuhTPUNiY6V8D0X8u 27 | 3gbW+KM/9QUrMXYt/N46muMXJA== 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server-recovery.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/server-recovery.p12 -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDNzCCAh+gAwIBAgIUF49C/hC86Td6WctqBVhebZmen8swDQYJKoZIhvcNAQEL 3 | BQAwKzEYMBYGA1UEAwwPbXEgcXVldWVtYW5hZ2VyMQ8wDQYDVQQLDAZpYm0gbXEw 4 | HhcNMjIwMjIxMTQxMjQzWhcNMzIwMjE5MTQxMjQzWjArMRgwFgYDVQQDDA9tcSBx 5 | dWV1ZW1hbmFnZXIxDzANBgNVBAsMBmlibSBtcTCCASIwDQYJKoZIhvcNAQEBBQAD 6 | ggEPADCCAQoCggEBANuLSnTgdDdwFcnr797Vt09+rBjSJgxMDVStqtrBR+I92D9p 7 | SuVuUY9ltN2qXojiW0hQucaikAgTcZ4Qntl+Hxw4vlI1QhE/8cACz7Hae4G9aOBH 8 | KeNuhuG9u9JL0T0qGuSB/a/JRfiGN9cMBLCiMLC3jyZsNlmbBmXoSchliR3kFV6d 9 | H+cPhCRqQzXyWF6AZeGD9vt3vXkX3zQgyptf1nUlDsQROU0binSCjj2/cdrCEBUs 10 | C9a5yHYnedOJhvhiEOttrF1c/ovm4OsahWO+stBMzkhcOMO94DXrk0/FJQ7hamJn 11 | ta8qlpzmXhUH7K+aAbpMpKMF4sAMahUQrgTpcl8CAwEAAaNTMFEwHQYDVR0OBBYE 12 | FKeIgsrpM/0fr9Bi89BhzsEj8J+PMB8GA1UdIwQYMBaAFKeIgsrpM/0fr9Bi89Bh 13 | zsEj8J+PMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHFUmtoq 14 | 5ZQb6qpgBgehbZU0SJJM+hg8dLNuEOnUzLFu8xxfcWy+i9hIe5ur43LchkYGOpsa 15 | K5FcGVIR2nAeJ8+Yf9mKhPtcnTsY+s/eidestbdvq6xR6DOvrJPcQKNUDrfTSdLs 16 | ldxB8Wkj68YdHQgERCwdyoTQ2vETRb/obx3VKJXbwW2n/qulHgB0L2W7xUkQVegZ 17 | I9xprSJDRuotf4Z6nzN2gtMC53D4pyYq/hZlYP/VL8eztQ7ll4W34AjiceBuzKyx 18 | kN3PKGazIptigWzXxR3jKN3+ziCT0ZGpXxqjm4oVqhpp9m2vc7CVib347sNkDngJ 19 | VyG/Nzpq/vNWKXg= 20 | -----END CERTIFICATE----- 21 | -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/server.jks -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server.kdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/server.kdb -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDbi0p04HQ3cBXJ 3 | 6+/e1bdPfqwY0iYMTA1UrarawUfiPdg/aUrlblGPZbTdql6I4ltIULnGopAIE3Ge 4 | EJ7Zfh8cOL5SNUIRP/HAAs+x2nuBvWjgRynjbobhvbvSS9E9Khrkgf2vyUX4hjfX 5 | DASwojCwt48mbDZZmwZl6EnIZYkd5BVenR/nD4QkakM18lhegGXhg/b7d715F980 6 | IMqbX9Z1JQ7EETlNG4p0go49v3HawhAVLAvWuch2J3nTiYb4YhDrbaxdXP6L5uDr 7 | GoVjvrLQTM5IXDjDveA165NPxSUO4WpiZ7WvKpac5l4VB+yvmgG6TKSjBeLADGoV 8 | EK4E6XJfAgMBAAECggEAQstPHN4JHbDBQEzDDvXQrqPocijFoKomyCOKPsHdP+z2 9 | 9NvxCHqW39zeuS4TUuwjP44n51IgJgTcZW3DFoKzrl9pMBO6BQuCXpu8Wu0Q9HkP 10 | BmVATkybRuT11tZwU36S7gDKkQfYfPNA2/FxH9hIngtKxzLXGk37FVgl0o1puSjS 11 | OVl7FP3qWNdRQuGs7Rp4j4FtBMmmRKXDyKC7GNvBbiGP5t6oN7Ew+BFEXzDCradk 12 | cRQsUQBd603P09fiq29oGnMHLmbZPhqSmq7hDsI4EueIYrKta3a6wPIWFYmROYCo 13 | W3VzzwfREyYFMbeAvgBidJCrRvoNznYSLTc3FMBTqQKBgQDyQ3kocz+PlW4QgfID 14 | Rel+SVfMpVNHEYi0kbiTXDSKqhBjM1ceSihcir5FinpPQUkEnZSQysHYn2HJTJys 15 | 3Ss8E5Sv3z7qFzb4pyNZHTRZ4s15j0Pk6MCJ6zY5/S71NSw5MR3+R2Mb69XMZCFv 16 | yOfNjBD+XRFjnPWonnJr5pQ2mwKBgQDn/gm0ei46mWoz4bw11eXUz6ABojS0Depy 17 | ip9TM+/O/DqpK/VEac/gQjMoRoiUuLJe02WLSTprR2NQcXY5ch8ZBVxZNidUI36i 18 | ZDlf/w+vJ2g0Ms84SbZscYyFHy7i1xpai8SYufetFfdprLtD8K7v01fOzFaaelUi 19 | DHWAwtyNjQKBgG8+yI3ojhFS3t25rfYOzm9tImIYsKr7xDiWiZkxR/c8rJXA54pD 20 | J1GHbGPmeM+X/P2flq7+TBE67t5OzcsbLFVD8IzqCKvZySZZKYQsQvPbj9r4DIc6 21 | 0d8DIT1zo3J53jrM8SbohPw3SU+30xrPuJHMdak391o0oyGw0H33vattAoGACshN 22 | 3yuGloam3v5w5veoFPoJb8oANRYofWZf/Vf+n1otx8sZPTLFzKCHDCorEu56q9mb 23 | cJvYsT/CJ+z+F7FsLJeJMURJE6oKqrWJzSJnsjZcq4BpDS6v4d5tL4rBfR2ORgMV 24 | AhwynMLWmvzCP2giWVczT5NDuy5QYqK9m1xzL8kCgYEAjTwD9mPB0G3I12XgzLnC 25 | DxC60/AkXrLix8468LGNRdqSOnwhHlmC3bBDXgY5Ye9gEqLuvq4oLAzl4rvGEZCM 26 | 6p56+Dl/PEQOX1JRhIkgh7+iiDXWOWgnmD2WUwITylmNRsIrG/b3J0jK2RNLcjBh 27 | CYbGDqhkC7oCnZ2F180Ut0g= 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/server.p12 -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server.rdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/server.rdb -------------------------------------------------------------------------------- /samples/genericresources/createcerts/server.sth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ibm-messaging/mq-helm/d218ef6a839518a4454ee448c0ad80fc39effa56/samples/genericresources/createcerts/server.sth -------------------------------------------------------------------------------- /samples/genericresources/kubernetesupgrade/mqnativeha-pdb.yaml: -------------------------------------------------------------------------------- 1 | # © Copyright IBM Corporation 2023 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | apiVersion: policy/v1 15 | kind: PodDisruptionBudget 16 | metadata: 17 | name: mqnativeha-pdb 18 | spec: 19 | maxUnavailable: 1 20 | selector: 21 | matchLabels: 22 | app.kubernetes.io/instance: secureapphelm 23 | app.kubernetes.io/name: ibm-mq 24 | --------------------------------------------------------------------------------