diff options
Diffstat (limited to 'roles')
41 files changed, 3460 insertions, 151 deletions
| diff --git a/roles/etcd/tasks/main.yml b/roles/etcd/tasks/main.yml index a798dc973..71735dc25 100644 --- a/roles/etcd/tasks/main.yml +++ b/roles/etcd/tasks/main.yml @@ -28,18 +28,18 @@      state: directory      mode: 0700 +- name: Check for etcd service presence +  command: systemctl show etcd.service +  register: etcd_show +  changed_when: false +  - name: Disable system etcd when containerized -  when: etcd_is_containerized | bool +  when: etcd_is_containerized | bool and 'LoadState=not-found' not in etcd_show.stdout    service:      name: etcd      state: stopped      enabled: no -- name: Check for etcd service presence -  command: systemctl show etcd.service -  register: etcd_show -  changed_when: false -  - name: Mask system etcd when containerized    when: etcd_is_containerized | bool and 'LoadState=not-found' not in etcd_show.stdout    command: systemctl mask etcd diff --git a/roles/openshift_examples/examples-sync.sh b/roles/openshift_examples/examples-sync.sh index 7d81ac927..f9d194909 100755 --- a/roles/openshift_examples/examples-sync.sh +++ b/roles/openshift_examples/examples-sync.sh @@ -5,7 +5,7 @@  #  # This script should be run from openshift-ansible/roles/openshift_examples -XPAAS_VERSION=ose-v1.3.0-1 +XPAAS_VERSION=ose-v1.3.1  ORIGIN_VERSION=${1:-v1.2}  EXAMPLES_BASE=$(pwd)/files/examples/${ORIGIN_VERSION}  find ${EXAMPLES_BASE} -name '*.json' -delete diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-streams/jboss-image-streams.json b/roles/openshift_examples/files/examples/v1.1/xpaas-streams/jboss-image-streams.json index 5e03d9d48..46f93823c 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-streams/jboss-image-streams.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-streams/jboss-image-streams.json @@ -138,22 +138,19 @@                  "name": "jboss-eap70-openshift"              },              "spec": { +                "dockerImageRepository": "registry.access.redhat.com/jboss-eap-7/eap70-openshift",                  "tags": [                      { -                        "name": "1.3-Beta", +                        "name": "1.3",                          "annotations": { -                            "description": "JBoss EAP 7.0 Beta S2I images.", +                            "description": "JBoss EAP 7.0 S2I images.",                              "iconClass": "icon-jboss",                              "tags": "builder,eap,javaee,java,jboss,xpaas",                              "supports":"eap:7.0,javaee:7,java:8,xpaas:1.3",                              "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git",                              "sampleContextDir": "kitchensink", -                            "sampleRef": "7.0.x", +                            "sampleRef": "7.0.0.GA",                              "version": "1.3" -                        }, -                        "from": { -                          "kind": "DockerImage", -                          "name": "registry.access.redhat.com/jboss-eap-7-beta/eap70-openshift:1.3"                          }                      }                  ] @@ -234,6 +231,16 @@                              "supports":"amq:6.2,messaging,xpaas:1.2",                              "version": "1.2"                          } +                    }, +                    { +                        "name": "1.3", +                        "annotations": { +                            "description": "JBoss A-MQ 6.2 broker image.", +                            "iconClass": "icon-jboss", +                            "tags": "messaging,amq,jboss,xpaas", +                            "supports":"amq:6.2,messaging,xpaas:1.3", +                            "version": "1.3" +                        }                      }                  ]              } diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-basic.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-basic.json index 2b1680755..ce953c05f 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-basic.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-basic.json @@ -6,13 +6,13 @@              "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone or in a mesh. This template doesn't feature SSL support.",              "iconClass": "icon-jboss",              "tags": "messaging,amq,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "amq62-basic"      },      "labels": {          "template": "amq62-basic", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -180,7 +180,10 @@              },              "spec": {                  "strategy": { -                    "type": "Recreate" +                    "type": "Rolling", +                    "rollingParams": { +                        "maxSurge": 0 +                    }                  },                  "triggers": [                      { @@ -193,7 +196,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-persistent-ssl.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-persistent-ssl.json index 9759ed7c7..7d41a29ad 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-persistent-ssl.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-persistent-ssl.json @@ -6,13 +6,13 @@              "description": "Application template for JBoss A-MQ brokers. These are deployed as standalone and use persistent storage for saving messages. This template supports SSL and requires usage of OpenShift secrets.",              "iconClass": "icon-jboss",              "tags": "messaging,amq,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "amq62-persistent-ssl"      },      "labels": {          "template": "amq62-persistent-ssl", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -22,7 +22,13 @@              "required": true          },          { -            "description": "Protocols to configure, separated by commas.  Allowed values are: `openwire`, `amqp`, `stomp` and `mqtt`.  SSL variants of these protocols will be configured automaticaly.", +            "description": "Split the data directory for each node in a mesh.", +            "name": "AMQ_SPLIT", +            "value": "false", +            "required": false +        }, +        { +            "description": "Protocols to configure, separated by commas.  Allowed values are: `openwire`, `amqp`, `stomp` and `mqtt`.",              "name": "MQ_PROTOCOL",              "value": "openwire",              "required": false @@ -60,6 +66,12 @@              "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.", +            "name": "AMQ_MESH_DISCOVERY_TYPE", +            "value": "kube", +            "required": false +        }, +        {              "description": "Name of a secret containing SSL related files",              "name": "AMQ_SECRET",              "value": "amq-app-secret", @@ -306,7 +318,10 @@              },              "spec": {                  "strategy": { -                    "type": "Recreate" +                    "type": "Rolling", +                    "rollingParams": { +                        "maxSurge": 0 +                    }                  },                  "triggers": [                      { @@ -319,7 +334,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, @@ -354,7 +369,7 @@                                          "readOnly": true                                      },                                      { -                                        "mountPath": "/opt/amq/data/kahadb", +                                        "mountPath": "/opt/amq/data",                                          "name": "${APPLICATION_NAME}-amq-pvol"                                      }                                  ], @@ -436,6 +451,26 @@                                          "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_KEYSTORE_TRUSTSTORE_DIR",                                          "value": "/etc/amq-secret-volume"                                      }, @@ -491,7 +526,7 @@              },              "spec": {                  "accessModes": [ -                    "ReadWriteOnce" +                    "ReadWriteMany"                  ],                  "resources": {                      "requests": { diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-persistent.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-persistent.json index a8b3d5714..5d5dd9840 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-persistent.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-persistent.json @@ -6,13 +6,13 @@              "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone and use persistent storage for saving messages. This template doesn't feature SSL support.",              "iconClass": "icon-jboss",              "tags": "messaging,amq,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "amq62-persistent"      },      "labels": {          "template": "amq62-persistent", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -22,6 +22,12 @@              "required": true          },          { +            "description": "Split the data directory for each node in a mesh.", +            "name": "AMQ_SPLIT", +            "value": "false", +            "required": false +        }, +        {              "description": "Protocols to configure, separated by commas.  Allowed values are: `openwire`, `amqp`, `stomp` and `mqtt`.",              "name": "MQ_PROTOCOL",              "value": "openwire", @@ -60,6 +66,12 @@              "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.", +            "name": "AMQ_MESH_DISCOVERY_TYPE", +            "value": "kube", +            "required": false +        }, +        {              "description": "The A-MQ storage usage limit",              "name": "AMQ_STORAGE_USAGE_LIMIT",              "value": "100 gb", @@ -180,7 +192,10 @@              },              "spec": {                  "strategy": { -                    "type": "Recreate" +                    "type": "Rolling", +                    "rollingParams": { +                        "maxSurge": 0 +                    }                  },                  "triggers": [                      { @@ -193,7 +208,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, @@ -222,7 +237,7 @@                                  "imagePullPolicy": "Always",                                  "volumeMounts": [                                      { -                                        "mountPath": "/opt/amq/data/kahadb", +                                        "mountPath": "/opt/amq/data",                                          "name": "${APPLICATION_NAME}-amq-pvol"                                      }                                  ], @@ -284,6 +299,26 @@                                          "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}"                                      } @@ -313,7 +348,7 @@              },              "spec": {                  "accessModes": [ -                    "ReadWriteOnce" +                    "ReadWriteMany"                  ],                  "resources": {                      "requests": { diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-ssl.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-ssl.json index fdf0da9c3..4122a02a1 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-ssl.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/amq62-ssl.json @@ -6,13 +6,13 @@              "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone or in a mesh. This template supports SSL and requires usage of OpenShift secrets.",              "iconClass": "icon-jboss",              "tags": "messaging,amq,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "amq62-ssl"      },      "labels": {          "template": "amq62-ssl", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -306,7 +306,10 @@              },              "spec": {                  "strategy": { -                    "type": "Recreate" +                    "type": "Rolling", +                    "rollingParams": { +                        "maxSurge": 0 +                    }                  },                  "triggers": [                      { @@ -319,7 +322,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/decisionserver62-amq-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/decisionserver62-amq-s2i.json index 2e8276adb..219b8ece7 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/decisionserver62-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/decisionserver62-amq-s2i.json @@ -571,7 +571,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-amq-persistent-s2i.json index 4485fd264..c9ecee9cb 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-amq-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-amq-persistent-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 6 A-MQ applications with persistent storage built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,amq,javaee,java,messaging,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "eap64-amq-persistent-s2i"      },      "labels": {          "template": "eap64-amq-persistent-s2i", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -64,6 +64,12 @@              "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", @@ -585,7 +591,10 @@              },              "spec": {                  "strategy": { -                    "type": "Recreate" +                    "type": "Rolling", +                    "rollingParams": { +                        "maxSurge": 0 +                    }                  },                  "triggers": [                      { @@ -598,7 +607,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, @@ -636,6 +645,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "amqp",                                          "containerPort": 5672,                                          "protocol": "TCP" @@ -699,6 +713,30 @@                                          "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}"                                      }, diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-amq-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-amq-s2i.json index 72d8c061b..99724db94 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-amq-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 6 A-MQ applications built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,amq,javaee,java,messaging,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "eap64-amq-s2i"      },      "labels": {          "template": "eap64-amq-s2i", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -592,7 +592,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, @@ -630,6 +630,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "amqp",                                          "containerPort": 5672,                                          "protocol": "TCP" diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-amq-persistent-s2i.json new file mode 100644 index 000000000..d9607ddd7 --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-amq-persistent-s2i.json @@ -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}" +                    } +                } +            } +        } +    ] +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-amq-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-amq-s2i.json new file mode 100644 index 000000000..552b637b8 --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-amq-s2i.json @@ -0,0 +1,710 @@ +{ +    "kind": "Template", +    "apiVersion": "v1", +    "metadata": { +        "annotations": { +            "description": "Application template for EAP 7 A-MQ applications built using S2I.", +            "iconClass": "icon-jboss", +            "tags": "eap,amq,javaee,java,messaging,jboss,xpaas", +            "version": "1.3.1" +        }, +        "name": "eap70-amq-s2i" +    }, +    "labels": { +        "template": "eap70-amq-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": "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": "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": "eap7-app-secret", +            "required": true +        }, +        { +            "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": "eap7-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": "eap7-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": "Recreate" +                }, +                "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" +                                    } +                                ], +                                "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_ADMIN_USERNAME", +                                        "value": "${AMQ_ADMIN_USERNAME}" +                                    }, +                                    { +                                        "name": "AMQ_ADMIN_PASSWORD", +                                        "value": "${AMQ_ADMIN_PASSWORD}" +                                    } +                                ] +                            } +                        ] +                    } +                } +            } +        } +    ] +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-basic-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-basic-s2i.json index 7dbf0eefa..f03fc69fa 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-basic-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-jboss",              "description": "Application template for EAP 7 applications built using S2I.",              "tags": "eap,javaee,java,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-basic-s2i"      },      "labels": {          "template": "eap70-basic-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -36,7 +36,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "7.0.x-develop", +            "value": "7.0.0.GA",              "required": false          },          { @@ -58,7 +58,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -172,7 +172,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-https-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-https-s2i.json index 19ef56ca6..27d9b656d 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-https-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-https-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-jboss",              "description": "Application template for EAP 7 applications built using S2I.",              "tags": "eap,javaee,java,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-https-s2i"      },      "labels": {          "template": "eap70-https-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -42,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "7.0.x-develop", +            "value": "7.0.0.GA",              "required": false          },          { @@ -88,7 +88,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -273,7 +273,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mongodb-persistent-s2i.json index c48dcbd91..9cc786416 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mongodb-persistent-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 MongoDB applications with persistent storage built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mongodb,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-mongodb-persistent-s2i"      },      "labels": {          "template": "eap70-mongodb-persistent-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -136,7 +136,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -366,7 +366,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mongodb-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mongodb-s2i.json index b499f3132..4db6adcf8 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mongodb-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 MongoDB applications built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mongodb,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-mongodb-s2i"      },      "labels": {          "template": "eap70-mongodb-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -130,7 +130,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -360,7 +360,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mysql-persistent-s2i.json index 8eefa7855..91a79d797 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mysql-persistent-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 MySQL applications with persistent storage built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mysql,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-mysql-persistent-s2i"      },      "labels": {          "template": "eap70-mysql-persistent-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -146,7 +146,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -369,7 +369,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, @@ -605,6 +605,14 @@                                      {                                          "name": "JGROUPS_CLUSTER_PASSWORD",                                          "value": "${JGROUPS_CLUSTER_PASSWORD}" +                                    }, +                                    { +                                        "name": "DEFAULT_JOB_REPOSITORY", +                                        "value": "${APPLICATION_NAME}-mysql" +                                    }, +                                    { +                                        "name": "TIMER_SERVICE_DATA_STORE", +                                        "value": "${APPLICATION_NAME}-mysql"                                      }                                  ]                              } diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mysql-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mysql-s2i.json index 47aed69c9..63e4ecd2b 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-mysql-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 MySQL applications built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mysql,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-mysql-s2i"      },      "labels": {          "template": "eap70-mysql-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -140,7 +140,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -363,7 +363,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, @@ -599,6 +599,14 @@                                      {                                          "name": "JGROUPS_CLUSTER_PASSWORD",                                          "value": "${JGROUPS_CLUSTER_PASSWORD}" +                                    }, +                                    { +                                        "name": "DEFAULT_JOB_REPOSITORY", +                                        "value": "${APPLICATION_NAME}-mysql" +                                    }, +                                    { +                                        "name": "TIMER_SERVICE_DATA_STORE", +                                        "value": "${APPLICATION_NAME}-mysql"                                      }                                  ]                              } diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-postgresql-persistent-s2i.json index 8c74255bf..ea681d847 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-postgresql-persistent-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 PostgreSQL applications with persistent storage built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,postgresql,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-postgresql-persistent-s2i"      },      "labels": {          "template": "eap70-postgresql-persistent-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -131,7 +131,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -354,7 +354,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, @@ -590,6 +590,14 @@                                      {                                          "name": "JGROUPS_CLUSTER_PASSWORD",                                          "value": "${JGROUPS_CLUSTER_PASSWORD}" +                                    }, +                                    { +                                        "name": "DEFAULT_JOB_REPOSITORY", +                                        "value": "${APPLICATION_NAME}-postgresql" +                                    }, +                                    { +                                        "name": "TIMER_SERVICE_DATA_STORE", +                                        "value": "${APPLICATION_NAME}-postgresql"                                      }                                  ]                              } diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-postgresql-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-postgresql-s2i.json index 2ba4aef14..df95d823e 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap70-postgresql-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 PostgreSQL applications built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,postgresql,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-postgresql-s2i"      },      "labels": {          "template": "eap70-postgresql-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -125,7 +125,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -348,7 +348,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, @@ -584,6 +584,14 @@                                      {                                          "name": "JGROUPS_CLUSTER_PASSWORD",                                          "value": "${JGROUPS_CLUSTER_PASSWORD}" +                                    }, +                                    { +                                        "name": "DEFAULT_JOB_REPOSITORY", +                                        "value": "${APPLICATION_NAME}-postgresql" +                                    }, +                                    { +                                        "name": "TIMER_SERVICE_DATA_STORE", +                                        "value": "${APPLICATION_NAME}-postgresql"                                      }                                  ]                              } diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-streams/jboss-image-streams.json b/roles/openshift_examples/files/examples/v1.2/xpaas-streams/jboss-image-streams.json index 5e03d9d48..46f93823c 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-streams/jboss-image-streams.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-streams/jboss-image-streams.json @@ -138,22 +138,19 @@                  "name": "jboss-eap70-openshift"              },              "spec": { +                "dockerImageRepository": "registry.access.redhat.com/jboss-eap-7/eap70-openshift",                  "tags": [                      { -                        "name": "1.3-Beta", +                        "name": "1.3",                          "annotations": { -                            "description": "JBoss EAP 7.0 Beta S2I images.", +                            "description": "JBoss EAP 7.0 S2I images.",                              "iconClass": "icon-jboss",                              "tags": "builder,eap,javaee,java,jboss,xpaas",                              "supports":"eap:7.0,javaee:7,java:8,xpaas:1.3",                              "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git",                              "sampleContextDir": "kitchensink", -                            "sampleRef": "7.0.x", +                            "sampleRef": "7.0.0.GA",                              "version": "1.3" -                        }, -                        "from": { -                          "kind": "DockerImage", -                          "name": "registry.access.redhat.com/jboss-eap-7-beta/eap70-openshift:1.3"                          }                      }                  ] @@ -234,6 +231,16 @@                              "supports":"amq:6.2,messaging,xpaas:1.2",                              "version": "1.2"                          } +                    }, +                    { +                        "name": "1.3", +                        "annotations": { +                            "description": "JBoss A-MQ 6.2 broker image.", +                            "iconClass": "icon-jboss", +                            "tags": "messaging,amq,jboss,xpaas", +                            "supports":"amq:6.2,messaging,xpaas:1.3", +                            "version": "1.3" +                        }                      }                  ]              } diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-basic.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-basic.json index 2b1680755..ce953c05f 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-basic.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-basic.json @@ -6,13 +6,13 @@              "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone or in a mesh. This template doesn't feature SSL support.",              "iconClass": "icon-jboss",              "tags": "messaging,amq,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "amq62-basic"      },      "labels": {          "template": "amq62-basic", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -180,7 +180,10 @@              },              "spec": {                  "strategy": { -                    "type": "Recreate" +                    "type": "Rolling", +                    "rollingParams": { +                        "maxSurge": 0 +                    }                  },                  "triggers": [                      { @@ -193,7 +196,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-persistent-ssl.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-persistent-ssl.json index 9759ed7c7..7d41a29ad 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-persistent-ssl.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-persistent-ssl.json @@ -6,13 +6,13 @@              "description": "Application template for JBoss A-MQ brokers. These are deployed as standalone and use persistent storage for saving messages. This template supports SSL and requires usage of OpenShift secrets.",              "iconClass": "icon-jboss",              "tags": "messaging,amq,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "amq62-persistent-ssl"      },      "labels": {          "template": "amq62-persistent-ssl", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -22,7 +22,13 @@              "required": true          },          { -            "description": "Protocols to configure, separated by commas.  Allowed values are: `openwire`, `amqp`, `stomp` and `mqtt`.  SSL variants of these protocols will be configured automaticaly.", +            "description": "Split the data directory for each node in a mesh.", +            "name": "AMQ_SPLIT", +            "value": "false", +            "required": false +        }, +        { +            "description": "Protocols to configure, separated by commas.  Allowed values are: `openwire`, `amqp`, `stomp` and `mqtt`.",              "name": "MQ_PROTOCOL",              "value": "openwire",              "required": false @@ -60,6 +66,12 @@              "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.", +            "name": "AMQ_MESH_DISCOVERY_TYPE", +            "value": "kube", +            "required": false +        }, +        {              "description": "Name of a secret containing SSL related files",              "name": "AMQ_SECRET",              "value": "amq-app-secret", @@ -306,7 +318,10 @@              },              "spec": {                  "strategy": { -                    "type": "Recreate" +                    "type": "Rolling", +                    "rollingParams": { +                        "maxSurge": 0 +                    }                  },                  "triggers": [                      { @@ -319,7 +334,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, @@ -354,7 +369,7 @@                                          "readOnly": true                                      },                                      { -                                        "mountPath": "/opt/amq/data/kahadb", +                                        "mountPath": "/opt/amq/data",                                          "name": "${APPLICATION_NAME}-amq-pvol"                                      }                                  ], @@ -436,6 +451,26 @@                                          "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_KEYSTORE_TRUSTSTORE_DIR",                                          "value": "/etc/amq-secret-volume"                                      }, @@ -491,7 +526,7 @@              },              "spec": {                  "accessModes": [ -                    "ReadWriteOnce" +                    "ReadWriteMany"                  ],                  "resources": {                      "requests": { diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-persistent.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-persistent.json index a8b3d5714..5d5dd9840 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-persistent.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-persistent.json @@ -6,13 +6,13 @@              "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone and use persistent storage for saving messages. This template doesn't feature SSL support.",              "iconClass": "icon-jboss",              "tags": "messaging,amq,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "amq62-persistent"      },      "labels": {          "template": "amq62-persistent", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -22,6 +22,12 @@              "required": true          },          { +            "description": "Split the data directory for each node in a mesh.", +            "name": "AMQ_SPLIT", +            "value": "false", +            "required": false +        }, +        {              "description": "Protocols to configure, separated by commas.  Allowed values are: `openwire`, `amqp`, `stomp` and `mqtt`.",              "name": "MQ_PROTOCOL",              "value": "openwire", @@ -60,6 +66,12 @@              "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.", +            "name": "AMQ_MESH_DISCOVERY_TYPE", +            "value": "kube", +            "required": false +        }, +        {              "description": "The A-MQ storage usage limit",              "name": "AMQ_STORAGE_USAGE_LIMIT",              "value": "100 gb", @@ -180,7 +192,10 @@              },              "spec": {                  "strategy": { -                    "type": "Recreate" +                    "type": "Rolling", +                    "rollingParams": { +                        "maxSurge": 0 +                    }                  },                  "triggers": [                      { @@ -193,7 +208,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, @@ -222,7 +237,7 @@                                  "imagePullPolicy": "Always",                                  "volumeMounts": [                                      { -                                        "mountPath": "/opt/amq/data/kahadb", +                                        "mountPath": "/opt/amq/data",                                          "name": "${APPLICATION_NAME}-amq-pvol"                                      }                                  ], @@ -284,6 +299,26 @@                                          "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}"                                      } @@ -313,7 +348,7 @@              },              "spec": {                  "accessModes": [ -                    "ReadWriteOnce" +                    "ReadWriteMany"                  ],                  "resources": {                      "requests": { diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-ssl.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-ssl.json index fdf0da9c3..4122a02a1 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-ssl.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/amq62-ssl.json @@ -6,13 +6,13 @@              "description": "Application template for JBoss A-MQ brokers. These can be deployed as standalone or in a mesh. This template supports SSL and requires usage of OpenShift secrets.",              "iconClass": "icon-jboss",              "tags": "messaging,amq,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "amq62-ssl"      },      "labels": {          "template": "amq62-ssl", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -306,7 +306,10 @@              },              "spec": {                  "strategy": { -                    "type": "Recreate" +                    "type": "Rolling", +                    "rollingParams": { +                        "maxSurge": 0 +                    }                  },                  "triggers": [                      { @@ -319,7 +322,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/decisionserver62-amq-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/decisionserver62-amq-s2i.json index 2e8276adb..219b8ece7 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/decisionserver62-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/decisionserver62-amq-s2i.json @@ -571,7 +571,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap64-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap64-amq-persistent-s2i.json index 4485fd264..c9ecee9cb 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap64-amq-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap64-amq-persistent-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 6 A-MQ applications with persistent storage built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,amq,javaee,java,messaging,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "eap64-amq-persistent-s2i"      },      "labels": {          "template": "eap64-amq-persistent-s2i", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -64,6 +64,12 @@              "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", @@ -585,7 +591,10 @@              },              "spec": {                  "strategy": { -                    "type": "Recreate" +                    "type": "Rolling", +                    "rollingParams": { +                        "maxSurge": 0 +                    }                  },                  "triggers": [                      { @@ -598,7 +607,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, @@ -636,6 +645,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "amqp",                                          "containerPort": 5672,                                          "protocol": "TCP" @@ -699,6 +713,30 @@                                          "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}"                                      }, diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap64-amq-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap64-amq-s2i.json index 72d8c061b..99724db94 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap64-amq-s2i.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap64-amq-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 6 A-MQ applications built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,amq,javaee,java,messaging,jboss,xpaas", -            "version": "1.2.0" +            "version": "1.3.1"          },          "name": "eap64-amq-s2i"      },      "labels": {          "template": "eap64-amq-s2i", -        "xpaas": "1.2.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -592,7 +592,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.2" +                                "name": "jboss-amq-62:1.3"                              }                          }                      }, @@ -630,6 +630,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "amqp",                                          "containerPort": 5672,                                          "protocol": "TCP" diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-amq-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-amq-persistent-s2i.json new file mode 100644 index 000000000..d9607ddd7 --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-amq-persistent-s2i.json @@ -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}" +                    } +                } +            } +        } +    ] +} diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-amq-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-amq-s2i.json new file mode 100644 index 000000000..552b637b8 --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-amq-s2i.json @@ -0,0 +1,710 @@ +{ +    "kind": "Template", +    "apiVersion": "v1", +    "metadata": { +        "annotations": { +            "description": "Application template for EAP 7 A-MQ applications built using S2I.", +            "iconClass": "icon-jboss", +            "tags": "eap,amq,javaee,java,messaging,jboss,xpaas", +            "version": "1.3.1" +        }, +        "name": "eap70-amq-s2i" +    }, +    "labels": { +        "template": "eap70-amq-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": "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": "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": "eap7-app-secret", +            "required": true +        }, +        { +            "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": "eap7-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": "eap7-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": "Recreate" +                }, +                "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" +                                    } +                                ], +                                "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_ADMIN_USERNAME", +                                        "value": "${AMQ_ADMIN_USERNAME}" +                                    }, +                                    { +                                        "name": "AMQ_ADMIN_PASSWORD", +                                        "value": "${AMQ_ADMIN_PASSWORD}" +                                    } +                                ] +                            } +                        ] +                    } +                } +            } +        } +    ] +} diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-basic-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-basic-s2i.json index 7dbf0eefa..f03fc69fa 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-basic-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-jboss",              "description": "Application template for EAP 7 applications built using S2I.",              "tags": "eap,javaee,java,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-basic-s2i"      },      "labels": {          "template": "eap70-basic-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -36,7 +36,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "7.0.x-develop", +            "value": "7.0.0.GA",              "required": false          },          { @@ -58,7 +58,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -172,7 +172,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-https-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-https-s2i.json index 19ef56ca6..27d9b656d 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-https-s2i.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-https-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-jboss",              "description": "Application template for EAP 7 applications built using S2I.",              "tags": "eap,javaee,java,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-https-s2i"      },      "labels": {          "template": "eap70-https-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -42,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "7.0.x-develop", +            "value": "7.0.0.GA",              "required": false          },          { @@ -88,7 +88,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -273,7 +273,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mongodb-persistent-s2i.json index c48dcbd91..9cc786416 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mongodb-persistent-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 MongoDB applications with persistent storage built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mongodb,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-mongodb-persistent-s2i"      },      "labels": {          "template": "eap70-mongodb-persistent-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -136,7 +136,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -366,7 +366,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mongodb-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mongodb-s2i.json index b499f3132..4db6adcf8 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mongodb-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 MongoDB applications built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mongodb,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-mongodb-s2i"      },      "labels": {          "template": "eap70-mongodb-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -130,7 +130,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -360,7 +360,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mysql-persistent-s2i.json index 8eefa7855..91a79d797 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mysql-persistent-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 MySQL applications with persistent storage built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mysql,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-mysql-persistent-s2i"      },      "labels": {          "template": "eap70-mysql-persistent-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -146,7 +146,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -369,7 +369,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, @@ -605,6 +605,14 @@                                      {                                          "name": "JGROUPS_CLUSTER_PASSWORD",                                          "value": "${JGROUPS_CLUSTER_PASSWORD}" +                                    }, +                                    { +                                        "name": "DEFAULT_JOB_REPOSITORY", +                                        "value": "${APPLICATION_NAME}-mysql" +                                    }, +                                    { +                                        "name": "TIMER_SERVICE_DATA_STORE", +                                        "value": "${APPLICATION_NAME}-mysql"                                      }                                  ]                              } diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mysql-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mysql-s2i.json index 47aed69c9..63e4ecd2b 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-mysql-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 MySQL applications built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mysql,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-mysql-s2i"      },      "labels": {          "template": "eap70-mysql-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -140,7 +140,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -363,7 +363,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, @@ -599,6 +599,14 @@                                      {                                          "name": "JGROUPS_CLUSTER_PASSWORD",                                          "value": "${JGROUPS_CLUSTER_PASSWORD}" +                                    }, +                                    { +                                        "name": "DEFAULT_JOB_REPOSITORY", +                                        "value": "${APPLICATION_NAME}-mysql" +                                    }, +                                    { +                                        "name": "TIMER_SERVICE_DATA_STORE", +                                        "value": "${APPLICATION_NAME}-mysql"                                      }                                  ]                              } diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-postgresql-persistent-s2i.json index 8c74255bf..ea681d847 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-postgresql-persistent-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 PostgreSQL applications with persistent storage built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,postgresql,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-postgresql-persistent-s2i"      },      "labels": {          "template": "eap70-postgresql-persistent-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -131,7 +131,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -354,7 +354,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, @@ -590,6 +590,14 @@                                      {                                          "name": "JGROUPS_CLUSTER_PASSWORD",                                          "value": "${JGROUPS_CLUSTER_PASSWORD}" +                                    }, +                                    { +                                        "name": "DEFAULT_JOB_REPOSITORY", +                                        "value": "${APPLICATION_NAME}-postgresql" +                                    }, +                                    { +                                        "name": "TIMER_SERVICE_DATA_STORE", +                                        "value": "${APPLICATION_NAME}-postgresql"                                      }                                  ]                              } diff --git a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-postgresql-s2i.json b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-postgresql-s2i.json index 2ba4aef14..df95d823e 100644 --- a/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v1.2/xpaas-templates/eap70-postgresql-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 7 PostgreSQL applications built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,postgresql,javaee,java,database,jboss,xpaas", -            "version": "1.3.0" +            "version": "1.3.1"          },          "name": "eap70-postgresql-s2i"      },      "labels": {          "template": "eap70-postgresql-s2i", -        "xpaas": "1.3.0" +        "xpaas": "1.3.1"      },      "parameters": [          { @@ -125,7 +125,7 @@              "required": false          },          { -            "description": "ActiveMQ cluster admin password", +            "description": "A-MQ cluster admin password",              "name": "MQ_CLUSTER_PASSWORD",              "from": "[a-zA-Z0-9]{8}",              "generate": "expression", @@ -348,7 +348,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap70-openshift:1.3-Beta" +                            "name": "jboss-eap70-openshift:1.3"                          }                      }                  }, @@ -584,6 +584,14 @@                                      {                                          "name": "JGROUPS_CLUSTER_PASSWORD",                                          "value": "${JGROUPS_CLUSTER_PASSWORD}" +                                    }, +                                    { +                                        "name": "DEFAULT_JOB_REPOSITORY", +                                        "value": "${APPLICATION_NAME}-postgresql" +                                    }, +                                    { +                                        "name": "TIMER_SERVICE_DATA_STORE", +                                        "value": "${APPLICATION_NAME}-postgresql"                                      }                                  ]                              } diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py index 09b226671..3de0c23d3 100755 --- a/roles/openshift_facts/library/openshift_facts.py +++ b/roles/openshift_facts/library/openshift_facts.py @@ -1714,7 +1714,9 @@ class OpenShiftFacts(object):                                      set_node_ip=False)          if 'docker' in roles: -            docker = dict(disable_push_dockerhub=False, hosted_registry_insecure=True) +            docker = dict(disable_push_dockerhub=False, +                          hosted_registry_insecure=True, +                          options='--log-driver=json-file --log-opt max-size=50m')              version_info = get_docker_version_info()              if version_info is not None:                  docker['api_version'] = version_info['api_version'] diff --git a/roles/openshift_hosted_logging/vars/main.yaml b/roles/openshift_hosted_logging/vars/main.yaml index 586c2ab91..88d112209 100644 --- a/roles/openshift_hosted_logging/vars/main.yaml +++ b/roles/openshift_hosted_logging/vars/main.yaml @@ -1,5 +1,5 @@  kh_kv: "KIBANA_HOSTNAME={{ openshift_hosted_logging_hostname | quote }}" -es_cs_kv: "ES_CLUSTER_SIZE={{ openshift_hosted_logging_elasticsearch_cluster_size | quote }}" +es_cs_kv: "ES_CLUSTER_SIZE={{ openshift_hosted_logging_elasticsearch_cluster_size | string | quote }}"  pmu_kv: "PUBLIC_MASTER_URL={{ openshift_hosted_logging_master_public_url | quote }}"  ip_kv: "{{ 'IMAGE_PREFIX=' ~ target_registry | quote if target_registry is defined else '' }}"  oc_process_values: "{{ kh_kv }},{{ es_cs_kv }},{{ pmu_kv }},{{ ip_kv }}" diff --git a/roles/openshift_master/tasks/main.yml b/roles/openshift_master/tasks/main.yml index 476ed4b0c..52ea8bccf 100644 --- a/roles/openshift_master/tasks/main.yml +++ b/roles/openshift_master/tasks/main.yml @@ -172,9 +172,14 @@    register: start_result    notify: Verify API Server -- name: Stop and disable non HA master when running HA +- name: Check for non-HA master service presence +  command: systemctl show {{ openshift.common.service_type }}-master.service +  register: master_svc_show +  changed_when: false + +- name: Stop and disable non-HA master when running HA    service: name={{ openshift.common.service_type }}-master enabled=no state=stopped -  when: openshift_master_ha | bool +  when: openshift_master_ha | bool and 'LoadState=not-found' not in master_svc_show.stdout  - set_fact:      master_service_status_changed: "{{ start_result | changed }}" | 
