Permalink
Cannot retrieve contributors at this time
Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign up
Fetching contributors…
| { | |
| "apiVersion": "v1", | |
| "kind": "Template", | |
| "labels": { | |
| "template": "amq63-persistent-ssl", | |
| "xpaas": "1.4.12" | |
| }, | |
| "message": "A new persistent messaging service with SSL support has been created in your project. It will handle the protocol(s) \"${MQ_PROTOCOL}\". The username/password for accessing the service is ${MQ_USERNAME}/${MQ_PASSWORD}. Please be sure to create a secret named \"${AMQ_SECRET}\" containing the trust store and key store files (\"${AMQ_TRUSTSTORE}\" and \"${AMQ_KEYSTORE}\") used for serving secure content.", | |
| "metadata": { | |
| "annotations": { | |
| "description": "An example JBoss A-MQ application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.", | |
| "iconClass": "icon-amq", | |
| "openshift.io/display-name": "JBoss A-MQ 6.3 (with SSL)", | |
| "openshift.io/provider-display-name": "Red Hat, Inc.", | |
| "tags": "messaging,amq,jboss", | |
| "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-amq/", | |
| "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss A-MQ 6.3 based application, including a deployment configuration, using persistence and secure communication using SSL.", | |
| "template.openshift.io/support-url": "https://access.redhat.com", | |
| "version": "1.4.12" | |
| }, | |
| "name": "amq63-persistent-ssl" | |
| }, | |
| "objects": [ | |
| { | |
| "apiVersion": "v1", | |
| "kind": "Service", | |
| "metadata": { | |
| "annotations": { | |
| "description": "The broker's AMQP port." | |
| }, | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq-amqp" | |
| }, | |
| "spec": { | |
| "ports": [ | |
| { | |
| "port": 5672, | |
| "targetPort": 5672 | |
| } | |
| ], | |
| "selector": { | |
| "deploymentConfig": "${APPLICATION_NAME}-amq" | |
| } | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1", | |
| "kind": "Service", | |
| "metadata": { | |
| "annotations": { | |
| "description": "The broker's AMQP SSL port." | |
| }, | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq-amqp-ssl" | |
| }, | |
| "spec": { | |
| "ports": [ | |
| { | |
| "port": 5671, | |
| "targetPort": 5671 | |
| } | |
| ], | |
| "selector": { | |
| "deploymentConfig": "${APPLICATION_NAME}-amq" | |
| } | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1", | |
| "kind": "Service", | |
| "metadata": { | |
| "annotations": { | |
| "description": "The broker's MQTT port." | |
| }, | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq-mqtt" | |
| }, | |
| "spec": { | |
| "ports": [ | |
| { | |
| "port": 1883, | |
| "targetPort": 1883 | |
| } | |
| ], | |
| "selector": { | |
| "deploymentConfig": "${APPLICATION_NAME}-amq" | |
| } | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1", | |
| "kind": "Service", | |
| "metadata": { | |
| "annotations": { | |
| "description": "The broker's MQTT SSL port." | |
| }, | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq-mqtt-ssl" | |
| }, | |
| "spec": { | |
| "ports": [ | |
| { | |
| "port": 8883, | |
| "targetPort": 8883 | |
| } | |
| ], | |
| "selector": { | |
| "deploymentConfig": "${APPLICATION_NAME}-amq" | |
| } | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1", | |
| "kind": "Service", | |
| "metadata": { | |
| "annotations": { | |
| "description": "The broker's STOMP port." | |
| }, | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq-stomp" | |
| }, | |
| "spec": { | |
| "ports": [ | |
| { | |
| "port": 61613, | |
| "targetPort": 61613 | |
| } | |
| ], | |
| "selector": { | |
| "deploymentConfig": "${APPLICATION_NAME}-amq" | |
| } | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1", | |
| "kind": "Service", | |
| "metadata": { | |
| "annotations": { | |
| "description": "The broker's STOMP SSL port." | |
| }, | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq-stomp-ssl" | |
| }, | |
| "spec": { | |
| "ports": [ | |
| { | |
| "port": 61612, | |
| "targetPort": 61612 | |
| } | |
| ], | |
| "selector": { | |
| "deploymentConfig": "${APPLICATION_NAME}-amq" | |
| } | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1", | |
| "kind": "Service", | |
| "metadata": { | |
| "annotations": { | |
| "description": "The broker's OpenWire port." | |
| }, | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq-tcp" | |
| }, | |
| "spec": { | |
| "ports": [ | |
| { | |
| "port": 61616, | |
| "targetPort": 61616 | |
| } | |
| ], | |
| "selector": { | |
| "deploymentConfig": "${APPLICATION_NAME}-amq" | |
| } | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1", | |
| "kind": "Service", | |
| "metadata": { | |
| "annotations": { | |
| "description": "The broker's OpenWire (SSL) port.", | |
| "service.alpha.openshift.io/dependencies": "[{\"name\": \"${APPLICATION_NAME}-amq-tcp\", \"kind\": \"Service\"},{\"name\": \"${APPLICATION_NAME}-amq-amqp\", \"kind\": \"Service\"},{\"name\": \"${APPLICATION_NAME}-amq-mqtt\", \"kind\": \"Service\"},{\"name\": \"${APPLICATION_NAME}-amq-stomp\", \"kind\": \"Service\"},{\"name\": \"${APPLICATION_NAME}-amq-amqp-ssl\", \"kind\": \"Service\"},{\"name\": \"${APPLICATION_NAME}-amq-mqtt-ssl\", \"kind\": \"Service\"},{\"name\": \"${APPLICATION_NAME}-amq-stomp-ssl\", \"kind\": \"Service\"}]" | |
| }, | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq-tcp-ssl" | |
| }, | |
| "spec": { | |
| "ports": [ | |
| { | |
| "port": 61617, | |
| "targetPort": 61617 | |
| } | |
| ], | |
| "selector": { | |
| "deploymentConfig": "${APPLICATION_NAME}-amq" | |
| } | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1", | |
| "kind": "Service", | |
| "metadata": { | |
| "annotations": { | |
| "description": "Supports node discovery for mesh formation.", | |
| "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true" | |
| }, | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq-mesh" | |
| }, | |
| "spec": { | |
| "clusterIP": "None", | |
| "ports": [ | |
| { | |
| "name": "mesh", | |
| "port": 61616 | |
| } | |
| ], | |
| "selector": { | |
| "deploymentConfig": "${APPLICATION_NAME}-amq" | |
| } | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1", | |
| "kind": "DeploymentConfig", | |
| "metadata": { | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq" | |
| }, | |
| "spec": { | |
| "replicas": 1, | |
| "selector": { | |
| "deploymentConfig": "${APPLICATION_NAME}-amq" | |
| }, | |
| "strategy": { | |
| "rollingParams": { | |
| "maxSurge": 0 | |
| }, | |
| "type": "Rolling" | |
| }, | |
| "template": { | |
| "metadata": { | |
| "labels": { | |
| "application": "${APPLICATION_NAME}", | |
| "deploymentConfig": "${APPLICATION_NAME}-amq" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq" | |
| }, | |
| "spec": { | |
| "containers": [ | |
| { | |
| "env": [ | |
| { | |
| "name": "AMQ_USER", | |
| "value": "${MQ_USERNAME}" | |
| }, | |
| { | |
| "name": "AMQ_PASSWORD", | |
| "value": "${MQ_PASSWORD}" | |
| }, | |
| { | |
| "name": "AMQ_TRANSPORTS", | |
| "value": "${MQ_PROTOCOL}" | |
| }, | |
| { | |
| "name": "AMQ_QUEUES", | |
| "value": "${MQ_QUEUES}" | |
| }, | |
| { | |
| "name": "AMQ_TOPICS", | |
| "value": "${MQ_TOPICS}" | |
| }, | |
| { | |
| "name": "MQ_SERIALIZABLE_PACKAGES", | |
| "value": "${MQ_SERIALIZABLE_PACKAGES}" | |
| }, | |
| { | |
| "name": "AMQ_SPLIT", | |
| "value": "${AMQ_SPLIT}" | |
| }, | |
| { | |
| "name": "AMQ_MESH_DISCOVERY_TYPE", | |
| "value": "${AMQ_MESH_DISCOVERY_TYPE}" | |
| }, | |
| { | |
| "name": "AMQ_MESH_SERVICE_NAME", | |
| "value": "${APPLICATION_NAME}-amq-mesh" | |
| }, | |
| { | |
| "name": "AMQ_MESH_SERVICE_NAMESPACE", | |
| "valueFrom": { | |
| "fieldRef": { | |
| "fieldPath": "metadata.namespace" | |
| } | |
| } | |
| }, | |
| { | |
| "name": "AMQ_KEYSTORE_TRUSTSTORE_DIR", | |
| "value": "/etc/amq-secret-volume" | |
| }, | |
| { | |
| "name": "AMQ_TRUSTSTORE", | |
| "value": "${AMQ_TRUSTSTORE}" | |
| }, | |
| { | |
| "name": "AMQ_TRUSTSTORE_PASSWORD", | |
| "value": "${AMQ_TRUSTSTORE_PASSWORD}" | |
| }, | |
| { | |
| "name": "AMQ_KEYSTORE", | |
| "value": "${AMQ_KEYSTORE}" | |
| }, | |
| { | |
| "name": "AMQ_KEYSTORE_PASSWORD", | |
| "value": "${AMQ_KEYSTORE_PASSWORD}" | |
| }, | |
| { | |
| "name": "AMQ_STORAGE_USAGE_LIMIT", | |
| "value": "${AMQ_STORAGE_USAGE_LIMIT}" | |
| }, | |
| { | |
| "name": "AMQ_QUEUE_MEMORY_LIMIT", | |
| "value": "${AMQ_QUEUE_MEMORY_LIMIT}" | |
| } | |
| ], | |
| "image": "jboss-amq-63", | |
| "imagePullPolicy": "Always", | |
| "name": "${APPLICATION_NAME}-amq", | |
| "ports": [ | |
| { | |
| "containerPort": 8778, | |
| "name": "jolokia", | |
| "protocol": "TCP" | |
| }, | |
| { | |
| "containerPort": 5672, | |
| "name": "amqp", | |
| "protocol": "TCP" | |
| }, | |
| { | |
| "containerPort": 5671, | |
| "name": "amqp-ssl", | |
| "protocol": "TCP" | |
| }, | |
| { | |
| "containerPort": 1883, | |
| "name": "mqtt", | |
| "protocol": "TCP" | |
| }, | |
| { | |
| "containerPort": 8883, | |
| "name": "mqtt-ssl", | |
| "protocol": "TCP" | |
| }, | |
| { | |
| "containerPort": 61613, | |
| "name": "stomp", | |
| "protocol": "TCP" | |
| }, | |
| { | |
| "containerPort": 61612, | |
| "name": "stomp-ssl", | |
| "protocol": "TCP" | |
| }, | |
| { | |
| "containerPort": 61616, | |
| "name": "tcp", | |
| "protocol": "TCP" | |
| }, | |
| { | |
| "containerPort": 61617, | |
| "name": "tcp-ssl", | |
| "protocol": "TCP" | |
| } | |
| ], | |
| "readinessProbe": { | |
| "exec": { | |
| "command": [ | |
| "/bin/bash", | |
| "-c", | |
| "/opt/amq/bin/readinessProbe.sh" | |
| ] | |
| } | |
| }, | |
| "volumeMounts": [ | |
| { | |
| "mountPath": "/etc/amq-secret-volume", | |
| "name": "broker-secret-volume", | |
| "readOnly": true | |
| }, | |
| { | |
| "mountPath": "/opt/amq/data", | |
| "name": "${APPLICATION_NAME}-amq-pvol" | |
| } | |
| ] | |
| } | |
| ], | |
| "terminationGracePeriodSeconds": 60, | |
| "volumes": [ | |
| { | |
| "name": "broker-secret-volume", | |
| "secret": { | |
| "secretName": "${AMQ_SECRET}" | |
| } | |
| }, | |
| { | |
| "name": "${APPLICATION_NAME}-amq-pvol", | |
| "persistentVolumeClaim": { | |
| "claimName": "${APPLICATION_NAME}-amq-claim" | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| "triggers": [ | |
| { | |
| "imageChangeParams": { | |
| "automatic": true, | |
| "containerNames": [ | |
| "${APPLICATION_NAME}-amq" | |
| ], | |
| "from": { | |
| "kind": "ImageStreamTag", | |
| "name": "jboss-amq-63:1.3", | |
| "namespace": "${IMAGE_STREAM_NAMESPACE}" | |
| } | |
| }, | |
| "type": "ImageChange" | |
| }, | |
| { | |
| "type": "ConfigChange" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1", | |
| "kind": "DeploymentConfig", | |
| "metadata": { | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-drainer" | |
| }, | |
| "spec": { | |
| "replicas": 1, | |
| "selector": { | |
| "deploymentConfig": "${APPLICATION_NAME}-drainer" | |
| }, | |
| "strategy": { | |
| "type": "Recreate" | |
| }, | |
| "template": { | |
| "metadata": { | |
| "labels": { | |
| "application": "${APPLICATION_NAME}", | |
| "deploymentConfig": "${APPLICATION_NAME}-drainer" | |
| }, | |
| "name": "${APPLICATION_NAME}-drainer" | |
| }, | |
| "spec": { | |
| "containers": [ | |
| { | |
| "command": [ | |
| "/opt/amq/bin/drain.sh" | |
| ], | |
| "env": [ | |
| { | |
| "name": "AMQ_USER", | |
| "value": "${MQ_USERNAME}" | |
| }, | |
| { | |
| "name": "AMQ_PASSWORD", | |
| "value": "${MQ_PASSWORD}" | |
| }, | |
| { | |
| "name": "AMQ_MESH_SERVICE_NAME", | |
| "value": "${APPLICATION_NAME}-amq-mesh" | |
| }, | |
| { | |
| "name": "AMQ_MESH_SERVICE_NAMESPACE", | |
| "valueFrom": { | |
| "fieldRef": { | |
| "fieldPath": "metadata.namespace" | |
| } | |
| } | |
| } | |
| ], | |
| "image": "jboss-amq-63", | |
| "imagePullPolicy": "Always", | |
| "name": "${APPLICATION_NAME}-drainer", | |
| "ports": [ | |
| { | |
| "containerPort": 8778, | |
| "name": "jolokia", | |
| "protocol": "TCP" | |
| }, | |
| { | |
| "containerPort": 61616, | |
| "name": "tcp", | |
| "protocol": "TCP" | |
| } | |
| ], | |
| "volumeMounts": [ | |
| { | |
| "mountPath": "/opt/amq/data", | |
| "name": "${APPLICATION_NAME}-amq-pvol" | |
| } | |
| ] | |
| } | |
| ], | |
| "terminationGracePeriodSeconds": 60, | |
| "volumes": [ | |
| { | |
| "name": "${APPLICATION_NAME}-amq-pvol", | |
| "persistentVolumeClaim": { | |
| "claimName": "${APPLICATION_NAME}-amq-claim" | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| "triggers": [ | |
| { | |
| "imageChangeParams": { | |
| "automatic": true, | |
| "containerNames": [ | |
| "${APPLICATION_NAME}-drainer" | |
| ], | |
| "from": { | |
| "kind": "ImageStreamTag", | |
| "name": "jboss-amq-63:1.3", | |
| "namespace": "${IMAGE_STREAM_NAMESPACE}" | |
| } | |
| }, | |
| "type": "ImageChange" | |
| }, | |
| { | |
| "type": "ConfigChange" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "apiVersion": "v1", | |
| "kind": "PersistentVolumeClaim", | |
| "metadata": { | |
| "labels": { | |
| "application": "${APPLICATION_NAME}" | |
| }, | |
| "name": "${APPLICATION_NAME}-amq-claim" | |
| }, | |
| "spec": { | |
| "accessModes": [ | |
| "ReadWriteMany" | |
| ], | |
| "resources": { | |
| "requests": { | |
| "storage": "${VOLUME_CAPACITY}" | |
| } | |
| } | |
| } | |
| } | |
| ], | |
| "parameters": [ | |
| { | |
| "description": "The name for the application.", | |
| "displayName": "Application Name", | |
| "name": "APPLICATION_NAME", | |
| "required": true, | |
| "value": "broker" | |
| }, | |
| { | |
| "description": "Split the data directory for each node in a mesh, this is now the default behaviour.", | |
| "displayName": "Split Data?", | |
| "name": "AMQ_SPLIT", | |
| "required": false, | |
| "value": "true" | |
| }, | |
| { | |
| "description": "Protocols to configure, separated by commas. Allowed values are: `openwire`, `amqp`, `stomp` and `mqtt`.", | |
| "displayName": "A-MQ Protocols", | |
| "name": "MQ_PROTOCOL", | |
| "required": false, | |
| "value": "openwire" | |
| }, | |
| { | |
| "description": "Queue names, separated by commas. These queues will be automatically created when the broker starts. If left empty, queues will be still created dynamically.", | |
| "displayName": "Queues", | |
| "name": "MQ_QUEUES", | |
| "required": false, | |
| "value": "" | |
| }, | |
| { | |
| "description": "Topic names, separated by commas. These topics will be automatically created when the broker starts. If left empty, topics will be still created dynamically.", | |
| "displayName": "Topics", | |
| "name": "MQ_TOPICS", | |
| "required": false, | |
| "value": "" | |
| }, | |
| { | |
| "description": "List of packages that are allowed to be serialized for use in ObjectMessage, separated by commas. If your app doesn't use ObjectMessages, leave this blank. This is a security enforcement. For the rationale, see http://activemq.apache.org/objectmessage.html", | |
| "displayName": "A-MQ Serializable Packages", | |
| "name": "MQ_SERIALIZABLE_PACKAGES", | |
| "required": false, | |
| "value": "" | |
| }, | |
| { | |
| "description": "Size of the volume used by A-MQ for persisting messages.", | |
| "displayName": "A-MQ Volume Size", | |
| "name": "VOLUME_CAPACITY", | |
| "required": true, | |
| "value": "1Gi" | |
| }, | |
| { | |
| "description": "User name for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.", | |
| "displayName": "A-MQ Username", | |
| "from": "user[a-zA-Z0-9]{3}", | |
| "generate": "expression", | |
| "name": "MQ_USERNAME", | |
| "required": false | |
| }, | |
| { | |
| "description": "Password for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.", | |
| "displayName": "A-MQ Password", | |
| "from": "[a-zA-Z0-9]{8}", | |
| "generate": "expression", | |
| "name": "MQ_PASSWORD", | |
| "required": false | |
| }, | |
| { | |
| "description": "The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift's DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.", | |
| "displayName": "A-MQ Mesh Discovery Type", | |
| "name": "AMQ_MESH_DISCOVERY_TYPE", | |
| "required": false, | |
| "value": "dns" | |
| }, | |
| { | |
| "description": "Name of a secret containing SSL related files", | |
| "displayName": "Secret Name", | |
| "name": "AMQ_SECRET", | |
| "required": true, | |
| "value": "amq-app-secret" | |
| }, | |
| { | |
| "description": "SSL trust store filename", | |
| "displayName": "Trust Store Filename", | |
| "name": "AMQ_TRUSTSTORE", | |
| "required": true, | |
| "value": "broker.ts" | |
| }, | |
| { | |
| "description": "SSL trust store password", | |
| "displayName": "Trust Store Password", | |
| "name": "AMQ_TRUSTSTORE_PASSWORD", | |
| "required": true, | |
| "value": "" | |
| }, | |
| { | |
| "description": "SSL key store filename", | |
| "displayName": "A-MQ Keystore Filename", | |
| "name": "AMQ_KEYSTORE", | |
| "required": true, | |
| "value": "broker.ks" | |
| }, | |
| { | |
| "description": "Password for accessing SSL keystore", | |
| "displayName": "A-MQ Keystore Password", | |
| "name": "AMQ_KEYSTORE_PASSWORD", | |
| "required": true, | |
| "value": "" | |
| }, | |
| { | |
| "description": "Sets the store disk limit usage in activemq.xml. If the value set is greater than the disk size, it will be resized to the available disk space.", | |
| "displayName": "A-MQ Store Usage Limit", | |
| "name": "AMQ_STORAGE_USAGE_LIMIT", | |
| "required": false, | |
| "value": "100 gb" | |
| }, | |
| { | |
| "description": "The queue memory limit (default is 1mb)", | |
| "displayName": "Queue Memory Limit", | |
| "name": "AMQ_QUEUE_MEMORY_LIMIT", | |
| "required": false, | |
| "value": "" | |
| }, | |
| { | |
| "description": "Namespace in which the ImageStreams for Red Hat Middleware images are installed. These ImageStreams are normally installed in the openshift namespace. You should only need to modify this if you've installed the ImageStreams in a different namespace/project.", | |
| "displayName": "ImageStream Namespace", | |
| "name": "IMAGE_STREAM_NAMESPACE", | |
| "required": true, | |
| "value": "openshift" | |
| } | |
| ] | |
| } |