|
@@ -0,0 +1,783 @@
|
|
|
|
+{
|
|
|
|
+ "kind": "Template",
|
|
|
|
+ "apiVersion": "v1",
|
|
|
|
+ "metadata": {
|
|
|
|
+ "annotations": {
|
|
|
|
+ "description": "Application template for EAP 7 A-MQ applications with persistent storage built using S2I.",
|
|
|
|
+ "iconClass": "icon-jboss",
|
|
|
|
+ "tags": "eap,amq,javaee,java,messaging,jboss,xpaas",
|
|
|
|
+ "version": "1.3.1"
|
|
|
|
+ },
|
|
|
|
+ "name": "eap70-amq-persistent-s2i"
|
|
|
|
+ },
|
|
|
|
+ "labels": {
|
|
|
|
+ "template": "eap70-amq-persistent-s2i",
|
|
|
|
+ "xpaas": "1.3.1"
|
|
|
|
+ },
|
|
|
|
+ "parameters": [
|
|
|
|
+ {
|
|
|
|
+ "description": "The name for the application.",
|
|
|
|
+ "name": "APPLICATION_NAME",
|
|
|
|
+ "value": "eap-app",
|
|
|
|
+ "required": true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Custom hostname for http service route. Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>",
|
|
|
|
+ "name": "HOSTNAME_HTTP",
|
|
|
|
+ "value": "",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Custom hostname for https service route. Leave blank for default hostname, e.g.: secure-<application-name>-<project>.<default-domain-suffix>",
|
|
|
|
+ "name": "HOSTNAME_HTTPS",
|
|
|
|
+ "value": "",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Git source URI for application",
|
|
|
|
+ "name": "SOURCE_REPOSITORY_URL",
|
|
|
|
+ "value": "https://github.com/jboss-openshift/openshift-quickstarts.git",
|
|
|
|
+ "required": true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Git branch/tag reference",
|
|
|
|
+ "name": "SOURCE_REPOSITORY_REF",
|
|
|
|
+ "value": "1.3",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Path within Git project to build; empty for root project directory.",
|
|
|
|
+ "name": "CONTEXT_DIR",
|
|
|
|
+ "value": "helloworld-mdb",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Size of persistent storage for database volume.",
|
|
|
|
+ "name": "VOLUME_CAPACITY",
|
|
|
|
+ "value": "512Mi",
|
|
|
|
+ "required": true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "JNDI name for connection factory used by applications to connect to the broker, e.g. java:/ConnectionFactory",
|
|
|
|
+ "name": "MQ_JNDI",
|
|
|
|
+ "value": "java:/ConnectionFactory",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Split the data directory for each node in a mesh.",
|
|
|
|
+ "name": "AMQ_SPLIT",
|
|
|
|
+ "value": "false",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Broker protocols to configure, separated by commas. Allowed values are: `openwire`, `amqp`, `stomp` and `mqtt`. Only `openwire` is supported by EAP.",
|
|
|
|
+ "name": "MQ_PROTOCOL",
|
|
|
|
+ "value": "openwire",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Queue names, separated by commas. These queues will be automatically created when the broker starts. Also, they will be made accessible as JNDI resources in EAP.",
|
|
|
|
+ "name": "MQ_QUEUES",
|
|
|
|
+ "value": "HELLOWORLDMDBQueue",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Topic names, separated by commas. These topics will be automatically created when the broker starts. Also, they will be made accessible as JNDI resources in EAP.",
|
|
|
|
+ "name": "MQ_TOPICS",
|
|
|
|
+ "value": "HELLOWORLDMDBTopic",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "The name of the secret containing the keystore file",
|
|
|
|
+ "name": "HTTPS_SECRET",
|
|
|
|
+ "value": "eap-app-secret",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "The name of the keystore file within the secret",
|
|
|
|
+ "name": "HTTPS_KEYSTORE",
|
|
|
|
+ "value": "keystore.jks",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "The name associated with the server certificate",
|
|
|
|
+ "name": "HTTPS_NAME",
|
|
|
|
+ "value": "",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "The password for the keystore and certificate",
|
|
|
|
+ "name": "HTTPS_PASSWORD",
|
|
|
|
+ "value": "",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "User name for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.",
|
|
|
|
+ "name": "MQ_USERNAME",
|
|
|
|
+ "from": "user[a-zA-Z0-9]{3}",
|
|
|
|
+ "generate": "expression",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Password for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.",
|
|
|
|
+ "name": "MQ_PASSWORD",
|
|
|
|
+ "from": "[a-zA-Z0-9]{8}",
|
|
|
|
+ "generate": "expression",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "User name for broker admin. If left empty, it will be generated.",
|
|
|
|
+ "name": "AMQ_ADMIN_USERNAME",
|
|
|
|
+ "from": "user[a-zA-Z0-9]{3}",
|
|
|
|
+ "generate": "expression",
|
|
|
|
+ "required": true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Password for broker admin. If left empty, it will be generated.",
|
|
|
|
+ "name": "AMQ_ADMIN_PASSWORD",
|
|
|
|
+ "from": "[a-zA-Z0-9]{8}",
|
|
|
|
+ "generate": "expression",
|
|
|
|
+ "required": true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "GitHub trigger secret",
|
|
|
|
+ "name": "GITHUB_WEBHOOK_SECRET",
|
|
|
|
+ "from": "[a-zA-Z0-9]{8}",
|
|
|
|
+ "generate": "expression",
|
|
|
|
+ "required": true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "Generic build trigger secret",
|
|
|
|
+ "name": "GENERIC_WEBHOOK_SECRET",
|
|
|
|
+ "from": "[a-zA-Z0-9]{8}",
|
|
|
|
+ "generate": "expression",
|
|
|
|
+ "required": true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "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.",
|
|
|
|
+ "name": "IMAGE_STREAM_NAMESPACE",
|
|
|
|
+ "value": "openshift",
|
|
|
|
+ "required": true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "The name of the secret containing the keystore file",
|
|
|
|
+ "name": "JGROUPS_ENCRYPT_SECRET",
|
|
|
|
+ "value": "eap-app-secret",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "The name of the keystore file within the secret",
|
|
|
|
+ "name": "JGROUPS_ENCRYPT_KEYSTORE",
|
|
|
|
+ "value": "jgroups.jceks",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "The name associated with the server certificate",
|
|
|
|
+ "name": "JGROUPS_ENCRYPT_NAME",
|
|
|
|
+ "value": "",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "The password for the keystore and certificate",
|
|
|
|
+ "name": "JGROUPS_ENCRYPT_PASSWORD",
|
|
|
|
+ "value": "",
|
|
|
|
+ "required": false
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "description": "JGroups cluster password",
|
|
|
|
+ "name": "JGROUPS_CLUSTER_PASSWORD",
|
|
|
|
+ "from": "[a-zA-Z0-9]{8}",
|
|
|
|
+ "generate": "expression",
|
|
|
|
+ "required": true
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "objects": [
|
|
|
|
+ {
|
|
|
|
+ "kind": "Service",
|
|
|
|
+ "apiVersion": "v1",
|
|
|
|
+ "spec": {
|
|
|
|
+ "ports": [
|
|
|
|
+ {
|
|
|
|
+ "port": 8080,
|
|
|
|
+ "targetPort": 8080
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "selector": {
|
|
|
|
+ "deploymentConfig": "${APPLICATION_NAME}"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "${APPLICATION_NAME}",
|
|
|
|
+ "labels": {
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ },
|
|
|
|
+ "annotations": {
|
|
|
|
+ "description": "The web server's HTTP port."
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "kind": "Service",
|
|
|
|
+ "apiVersion": "v1",
|
|
|
|
+ "spec": {
|
|
|
|
+ "ports": [
|
|
|
|
+ {
|
|
|
|
+ "port": 8443,
|
|
|
|
+ "targetPort": 8443
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "selector": {
|
|
|
|
+ "deploymentConfig": "${APPLICATION_NAME}"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "secure-${APPLICATION_NAME}",
|
|
|
|
+ "labels": {
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ },
|
|
|
|
+ "annotations": {
|
|
|
|
+ "description": "The web server's HTTPS port."
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "kind": "Service",
|
|
|
|
+ "apiVersion": "v1",
|
|
|
|
+ "spec": {
|
|
|
|
+ "ports": [
|
|
|
|
+ {
|
|
|
|
+ "port": 61616,
|
|
|
|
+ "targetPort": 61616
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "selector": {
|
|
|
|
+ "deploymentConfig": "${APPLICATION_NAME}-amq"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "${APPLICATION_NAME}-amq-tcp",
|
|
|
|
+ "labels": {
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ },
|
|
|
|
+ "annotations": {
|
|
|
|
+ "description": "The broker's OpenWire port."
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "kind": "Route",
|
|
|
|
+ "apiVersion": "v1",
|
|
|
|
+ "id": "${APPLICATION_NAME}-http",
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "${APPLICATION_NAME}",
|
|
|
|
+ "labels": {
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ },
|
|
|
|
+ "annotations": {
|
|
|
|
+ "description": "Route for application's HTTP service."
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "spec": {
|
|
|
|
+ "host": "${HOSTNAME_HTTP}",
|
|
|
|
+ "to": {
|
|
|
|
+ "name": "${APPLICATION_NAME}"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "kind": "Route",
|
|
|
|
+ "apiVersion": "v1",
|
|
|
|
+ "id": "${APPLICATION_NAME}-https",
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "secure-${APPLICATION_NAME}",
|
|
|
|
+ "labels": {
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ },
|
|
|
|
+ "annotations": {
|
|
|
|
+ "description": "Route for application's HTTPS service."
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "spec": {
|
|
|
|
+ "host": "${HOSTNAME_HTTPS}",
|
|
|
|
+ "to": {
|
|
|
|
+ "name": "secure-${APPLICATION_NAME}"
|
|
|
|
+ },
|
|
|
|
+ "tls": {
|
|
|
|
+ "termination": "passthrough"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "kind": "ImageStream",
|
|
|
|
+ "apiVersion": "v1",
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "${APPLICATION_NAME}",
|
|
|
|
+ "labels": {
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "kind": "BuildConfig",
|
|
|
|
+ "apiVersion": "v1",
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "${APPLICATION_NAME}",
|
|
|
|
+ "labels": {
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "spec": {
|
|
|
|
+ "source": {
|
|
|
|
+ "type": "Git",
|
|
|
|
+ "git": {
|
|
|
|
+ "uri": "${SOURCE_REPOSITORY_URL}",
|
|
|
|
+ "ref": "${SOURCE_REPOSITORY_REF}"
|
|
|
|
+ },
|
|
|
|
+ "contextDir": "${CONTEXT_DIR}"
|
|
|
|
+ },
|
|
|
|
+ "strategy": {
|
|
|
|
+ "type": "Source",
|
|
|
|
+ "sourceStrategy": {
|
|
|
|
+ "forcePull": true,
|
|
|
|
+ "from": {
|
|
|
|
+ "kind": "ImageStreamTag",
|
|
|
|
+ "namespace": "${IMAGE_STREAM_NAMESPACE}",
|
|
|
|
+ "name": "jboss-eap70-openshift:1.3"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "output": {
|
|
|
|
+ "to": {
|
|
|
|
+ "kind": "ImageStreamTag",
|
|
|
|
+ "name": "${APPLICATION_NAME}:latest"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "triggers": [
|
|
|
|
+ {
|
|
|
|
+ "type": "GitHub",
|
|
|
|
+ "github": {
|
|
|
|
+ "secret": "${GITHUB_WEBHOOK_SECRET}"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "type": "Generic",
|
|
|
|
+ "generic": {
|
|
|
|
+ "secret": "${GENERIC_WEBHOOK_SECRET}"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "type": "ImageChange",
|
|
|
|
+ "imageChange": {}
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "type": "ConfigChange"
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "kind": "DeploymentConfig",
|
|
|
|
+ "apiVersion": "v1",
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "${APPLICATION_NAME}",
|
|
|
|
+ "labels": {
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "spec": {
|
|
|
|
+ "strategy": {
|
|
|
|
+ "type": "Recreate"
|
|
|
|
+ },
|
|
|
|
+ "triggers": [
|
|
|
|
+ {
|
|
|
|
+ "type": "ImageChange",
|
|
|
|
+ "imageChangeParams": {
|
|
|
|
+ "automatic": true,
|
|
|
|
+ "containerNames": [
|
|
|
|
+ "${APPLICATION_NAME}"
|
|
|
|
+ ],
|
|
|
|
+ "from": {
|
|
|
|
+ "kind": "ImageStream",
|
|
|
|
+ "name": "${APPLICATION_NAME}"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "type": "ConfigChange"
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "replicas": 1,
|
|
|
|
+ "selector": {
|
|
|
|
+ "deploymentConfig": "${APPLICATION_NAME}"
|
|
|
|
+ },
|
|
|
|
+ "template": {
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "${APPLICATION_NAME}",
|
|
|
|
+ "labels": {
|
|
|
|
+ "deploymentConfig": "${APPLICATION_NAME}",
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "spec": {
|
|
|
|
+ "serviceAccountName": "eap-service-account",
|
|
|
|
+ "terminationGracePeriodSeconds": 60,
|
|
|
|
+ "containers": [
|
|
|
|
+ {
|
|
|
|
+ "name": "${APPLICATION_NAME}",
|
|
|
|
+ "image": "${APPLICATION_NAME}",
|
|
|
|
+ "imagePullPolicy": "Always",
|
|
|
|
+ "volumeMounts": [
|
|
|
|
+ {
|
|
|
|
+ "name": "eap-keystore-volume",
|
|
|
|
+ "mountPath": "/etc/eap-secret-volume",
|
|
|
|
+ "readOnly": true
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "eap-jgroups-keystore-volume",
|
|
|
|
+ "mountPath": "/etc/jgroups-encrypt-secret-volume",
|
|
|
|
+ "readOnly": true
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "livenessProbe": {
|
|
|
|
+ "exec": {
|
|
|
|
+ "command": [
|
|
|
|
+ "/bin/bash",
|
|
|
|
+ "-c",
|
|
|
|
+ "/opt/eap/bin/livenessProbe.sh"
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "readinessProbe": {
|
|
|
|
+ "exec": {
|
|
|
|
+ "command": [
|
|
|
|
+ "/bin/bash",
|
|
|
|
+ "-c",
|
|
|
|
+ "/opt/eap/bin/readinessProbe.sh"
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "ports": [
|
|
|
|
+ {
|
|
|
|
+ "name": "jolokia",
|
|
|
|
+ "containerPort": 8778,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "http",
|
|
|
|
+ "containerPort": 8080,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "https",
|
|
|
|
+ "containerPort": 8443,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "ping",
|
|
|
|
+ "containerPort": 8888,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "env": [
|
|
|
|
+ {
|
|
|
|
+ "name": "MQ_SERVICE_PREFIX_MAPPING",
|
|
|
|
+ "value": "${APPLICATION_NAME}-amq=MQ"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "MQ_JNDI",
|
|
|
|
+ "value": "${MQ_JNDI}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "MQ_USERNAME",
|
|
|
|
+ "value": "${MQ_USERNAME}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "MQ_PASSWORD",
|
|
|
|
+ "value": "${MQ_PASSWORD}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "MQ_PROTOCOL",
|
|
|
|
+ "value": "tcp"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "MQ_QUEUES",
|
|
|
|
+ "value": "${MQ_QUEUES}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "MQ_TOPICS",
|
|
|
|
+ "value": "${MQ_TOPICS}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "OPENSHIFT_KUBE_PING_LABELS",
|
|
|
|
+ "value": "application=${APPLICATION_NAME}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "OPENSHIFT_KUBE_PING_NAMESPACE",
|
|
|
|
+ "valueFrom": {
|
|
|
|
+ "fieldRef": {
|
|
|
|
+ "fieldPath": "metadata.namespace"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "HTTPS_KEYSTORE_DIR",
|
|
|
|
+ "value": "/etc/eap-secret-volume"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "HTTPS_KEYSTORE",
|
|
|
|
+ "value": "${HTTPS_KEYSTORE}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "HTTPS_NAME",
|
|
|
|
+ "value": "${HTTPS_NAME}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "HTTPS_PASSWORD",
|
|
|
|
+ "value": "${HTTPS_PASSWORD}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "JGROUPS_ENCRYPT_SECRET",
|
|
|
|
+ "value": "${JGROUPS_ENCRYPT_SECRET}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "JGROUPS_ENCRYPT_KEYSTORE_DIR",
|
|
|
|
+ "value": "/etc/jgroups-encrypt-secret-volume"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "JGROUPS_ENCRYPT_KEYSTORE",
|
|
|
|
+ "value": "${JGROUPS_ENCRYPT_KEYSTORE}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "JGROUPS_ENCRYPT_NAME",
|
|
|
|
+ "value": "${JGROUPS_ENCRYPT_NAME}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "JGROUPS_ENCRYPT_PASSWORD",
|
|
|
|
+ "value": "${JGROUPS_ENCRYPT_PASSWORD}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "JGROUPS_CLUSTER_PASSWORD",
|
|
|
|
+ "value": "${JGROUPS_CLUSTER_PASSWORD}"
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "volumes": [
|
|
|
|
+ {
|
|
|
|
+ "name": "eap-keystore-volume",
|
|
|
|
+ "secret": {
|
|
|
|
+ "secretName": "${HTTPS_SECRET}"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "eap-jgroups-keystore-volume",
|
|
|
|
+ "secret": {
|
|
|
|
+ "secretName": "${JGROUPS_ENCRYPT_SECRET}"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "kind": "DeploymentConfig",
|
|
|
|
+ "apiVersion": "v1",
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "${APPLICATION_NAME}-amq",
|
|
|
|
+ "labels": {
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "spec": {
|
|
|
|
+ "strategy": {
|
|
|
|
+ "type": "Rolling",
|
|
|
|
+ "rollingParams": {
|
|
|
|
+ "maxSurge": 0
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "triggers": [
|
|
|
|
+ {
|
|
|
|
+ "type": "ImageChange",
|
|
|
|
+ "imageChangeParams": {
|
|
|
|
+ "automatic": true,
|
|
|
|
+ "containerNames": [
|
|
|
|
+ "${APPLICATION_NAME}-amq"
|
|
|
|
+ ],
|
|
|
|
+ "from": {
|
|
|
|
+ "kind": "ImageStreamTag",
|
|
|
|
+ "namespace": "${IMAGE_STREAM_NAMESPACE}",
|
|
|
|
+ "name": "jboss-amq-62:1.3"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "type": "ConfigChange"
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "replicas": 1,
|
|
|
|
+ "selector": {
|
|
|
|
+ "deploymentConfig": "${APPLICATION_NAME}-amq"
|
|
|
|
+ },
|
|
|
|
+ "template": {
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "${APPLICATION_NAME}-amq",
|
|
|
|
+ "labels": {
|
|
|
|
+ "deploymentConfig": "${APPLICATION_NAME}-amq",
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "spec": {
|
|
|
|
+ "terminationGracePeriodSeconds": 60,
|
|
|
|
+ "containers": [
|
|
|
|
+ {
|
|
|
|
+ "name": "${APPLICATION_NAME}-amq",
|
|
|
|
+ "image": "jboss-amq-62",
|
|
|
|
+ "imagePullPolicy": "Always",
|
|
|
|
+ "readinessProbe": {
|
|
|
|
+ "exec": {
|
|
|
|
+ "command": [
|
|
|
|
+ "/bin/bash",
|
|
|
|
+ "-c",
|
|
|
|
+ "/opt/amq/bin/readinessProbe.sh"
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "ports": [
|
|
|
|
+ {
|
|
|
|
+ "name": "jolokia",
|
|
|
|
+ "containerPort": 8778,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "amqp",
|
|
|
|
+ "containerPort": 5672,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "amqp-ssl",
|
|
|
|
+ "containerPort": 5671,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "mqtt",
|
|
|
|
+ "containerPort": 1883,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "stomp",
|
|
|
|
+ "containerPort": 61613,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "stomp-ssl",
|
|
|
|
+ "containerPort": 61612,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "tcp",
|
|
|
|
+ "containerPort": 61616,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "tcp-ssl",
|
|
|
|
+ "containerPort": 61617,
|
|
|
|
+ "protocol": "TCP"
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "volumeMounts": [
|
|
|
|
+ {
|
|
|
|
+ "mountPath": "/opt/amq/data/kahadb",
|
|
|
|
+ "name": "${APPLICATION_NAME}-amq-pvol"
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "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": "AMQ_SPLIT",
|
|
|
|
+ "value": "${AMQ_SPLIT}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "AMQ_MESH_DISCOVERY_TYPE",
|
|
|
|
+ "value": "${AMQ_MESH_DISCOVERY_TYPE}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "AMQ_MESH_SERVICE_NAME",
|
|
|
|
+ "value": "${APPLICATION_NAME}-amq-tcp"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "AMQ_MESH_SERVICE_NAMESPACE",
|
|
|
|
+ "valueFrom": {
|
|
|
|
+ "fieldRef": {
|
|
|
|
+ "fieldPath": "metadata.namespace"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "AMQ_STORAGE_USAGE_LIMIT",
|
|
|
|
+ "value": "${AMQ_STORAGE_USAGE_LIMIT}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "AMQ_ADMIN_USERNAME",
|
|
|
|
+ "value": "${AMQ_ADMIN_USERNAME}"
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "AMQ_ADMIN_PASSWORD",
|
|
|
|
+ "value": "${AMQ_ADMIN_PASSWORD}"
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ "volumes": [
|
|
|
|
+ {
|
|
|
|
+ "name": "${APPLICATION_NAME}-amq-pvol",
|
|
|
|
+ "persistentVolumeClaim": {
|
|
|
|
+ "claimName": "${APPLICATION_NAME}-amq-claim"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "apiVersion": "v1",
|
|
|
|
+ "kind": "PersistentVolumeClaim",
|
|
|
|
+ "metadata": {
|
|
|
|
+ "name": "${APPLICATION_NAME}-amq-claim",
|
|
|
|
+ "labels": {
|
|
|
|
+ "application": "${APPLICATION_NAME}"
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ "spec": {
|
|
|
|
+ "accessModes": [
|
|
|
|
+ "ReadWriteOnce"
|
|
|
|
+ ],
|
|
|
|
+ "resources": {
|
|
|
|
+ "requests": {
|
|
|
|
+ "storage": "${VOLUME_CAPACITY}"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
|
|
+}
|