diff options
Diffstat (limited to 'roles')
45 files changed, 6859 insertions, 462 deletions
diff --git a/roles/openshift_examples/examples-sync.sh b/roles/openshift_examples/examples-sync.sh index 090fb9042..01ce6d819 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.1.0 +XPAAS_VERSION=ose-v1.2.0-1  ORIGIN_VERSION=v1.1  EXAMPLES_BASE=$(pwd)/files/examples/${ORIGIN_VERSION}  find ${EXAMPLES_BASE} -name '*.json' -delete @@ -37,6 +37,7 @@ cp dancer-ex-master/openshift/templates/* ${EXAMPLES_BASE}/quickstart-templates/  cp cakephp-ex-master/openshift/templates/* ${EXAMPLES_BASE}/quickstart-templates/  mv application-templates-${XPAAS_VERSION}/jboss-image-streams.json ${EXAMPLES_BASE}/xpaas-streams/  find application-templates-${XPAAS_VERSION}/ -name '*.json' ! -wholename '*secret*' -exec mv {} ${EXAMPLES_BASE}/xpaas-templates/ \; +wget https://raw.githubusercontent.com/jboss-fuse/application-templates/master/fis-image-streams.json          -O ${EXAMPLES_BASE}/xpaas-streams/fis-image-streams.json  wget https://raw.githubusercontent.com/openshift/origin-metrics/master/metrics.yaml                            -O ${EXAMPLES_BASE}/infrastructure-templates/origin/metrics-deployer.yaml  cp ${EXAMPLES_BASE}/infrastructure-templates/origin/metrics-*.yaml                                                ${EXAMPLES_BASE}/infrastructure-templates/enterprise/ diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-streams/fis-image-streams.json b/roles/openshift_examples/files/examples/v1.1/xpaas-streams/fis-image-streams.json new file mode 100644 index 000000000..ed0e94bed --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-streams/fis-image-streams.json @@ -0,0 +1,56 @@ +{ +    "kind": "List", +    "apiVersion": "v1", +    "metadata": { +        "name": "fis-image-streams", +        "annotations": { +            "description": "ImageStream definitions for JBoss Fuse Integration Services." +        } +    }, +    "items": [ +        { +            "kind": "ImageStream", +            "apiVersion": "v1", +            "metadata": { +                "name": "fis-java-openshift" +            }, +            "spec": { +                "dockerImageRepository": "registry.access.redhat.com/jboss-fuse-6/fis-java-openshift", +                "tags": [ +                    { +                        "name": "1.0", +                        "annotations": { +                            "description": "JBoss Fuse Integration Services 6.2.1 Java S2I images.", +                            "iconClass": "icon-jboss", +                            "tags": "builder,jboss-fuse,java,xpaas", +                            "supports":"jboss-fuse:6.2.1,java:8,xpaas:1.2", +                            "version": "1.0" +                        } +                    } +                ] +            } +        }, +        { +            "kind": "ImageStream", +            "apiVersion": "v1", +            "metadata": { +                "name": "fis-karaf-openshift" +            }, +            "spec": { +                "dockerImageRepository": "registry.access.redhat.com/jboss-fuse-6/fis-karaf-openshift", +                "tags": [ +                    { +                        "name": "1.0", +                        "annotations": { +                            "description": "JBoss Fuse Integration Services 6.2.1 Karaf S2I images.", +                            "iconClass": "icon-jboss", +                            "tags": "builder,jboss-fuse,java,karaf,xpaas", +                            "supports":"jboss-fuse:6.2.1,java:8,xpaas:1.2", +                            "version": "1.0" +                        } +                    } +                ] +            } +        } +    ] +} 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 aaf5569ae..64b435205 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 @@ -28,6 +28,18 @@                              "sampleContextDir": "tomcat-websocket-chat",                              "version": "1.1"                          } +                    }, +                    { +                        "name": "1.2", +                        "annotations": { +                            "description": "JBoss Web Server 3.0 Tomcat 7 S2I images.", +                            "iconClass": "icon-jboss", +                            "tags": "builder,tomcat,tomcat7,java,jboss,xpaas", +                            "supports":"tomcat7:3.0,tomcat:7,java:8,xpaas:1.2", +                            "sampleRepo": "https://github.com/jboss-openshift/openshift-quickstarts.git", +                            "sampleContextDir": "tomcat-websocket-chat", +                            "version": "1.2" +                        }                      }                  ]              } @@ -52,6 +64,18 @@                              "sampleContextDir": "tomcat-websocket-chat",                              "version": "1.1"                          } +                    }, +                    { +                        "name": "1.2", +                        "annotations": { +                            "description": "JBoss Web Server 3.0 Tomcat 8 S2I images.", +                            "iconClass": "icon-jboss", +                            "tags": "builder,tomcat,tomcat8,java,jboss,xpaas", +                            "supports":"tomcat8:3.0,tomcat:8,java:8,xpaas:1.2", +                            "sampleRepo": "https://github.com/jboss-openshift/openshift-quickstarts.git", +                            "sampleContextDir": "tomcat-websocket-chat", +                            "version": "1.2" +                        }                      }                  ]              } @@ -77,6 +101,66 @@                              "sampleRef": "6.4.x",                              "version": "1.1"                          } +                    }, +                    { +                        "name": "1.2", +                        "annotations": { +                            "description": "JBoss EAP 6.4 S2I images.", +                            "iconClass": "icon-jboss", +                            "tags": "builder,eap,javaee,java,jboss,xpaas", +                            "supports":"eap:6.4,javaee:6,java:8,xpaas:1.2", +                            "sampleRepo": "https://github.com/jboss-developer/jboss-eap-quickstarts.git", +                            "sampleContextDir": "kitchensink", +                            "sampleRef": "6.4.x", +                            "version": "1.2" +                        } +                    } +                ] +            } +        }, +        { +            "kind": "ImageStream", +            "apiVersion": "v1", +            "metadata": { +                "name": "jboss-decisionserver62-openshift" +            }, +            "spec": { +                "dockerImageRepository": "registry.access.redhat.com/jboss-decisionserver-6/decisionserver62-openshift", +                "tags": [ +                    { +                        "name": "1.2", +                        "annotations": { +                            "description": "Decision Server 6.2 S2I images.", +                            "iconClass": "icon-jboss", +                            "tags": "builder,decisionserver,java,xpaas", +                            "supports":"decisionserver:6.2,java:8,xpaas:1.2", +                            "sampleRepo": "https://github.com/jboss-openshift/openshift-quickstarts.git", +                            "sampleContextDir": "decisionserver/hellorules", +                            "sampleRef": "master", +                            "version": "1.2" +                        } +                    } +                ] +            } +        }, +        { +            "kind": "ImageStream", +            "apiVersion": "v1", +            "metadata": { +                "name": "jboss-datagrid65-openshift" +            }, +            "spec": { +                "dockerImageRepository": "registry.access.redhat.com/jboss-datagrid-6/datagrid65-openshift", +                "tags": [ +                    { +                        "name": "1.2", +                        "annotations": { +                            "description": "JBoss Data Grid 6.5 S2I images.", +                            "iconClass": "icon-jboss", +                            "tags": "datagrid,java,jboss,xpaas", +                            "supports":"datagrid:6.5,java:8,xpaas:1.2", +                            "version": "1.2" +                        }                      }                  ]              } @@ -99,6 +183,16 @@                              "supports":"amq:6.2,messaging,xpaas:1.1",                              "version": "1.1"                          } +                    }, +                    { +                        "name": "1.2", +                        "annotations": { +                            "description": "JBoss A-MQ 6.2 broker image.", +                            "iconClass": "icon-jboss", +                            "tags": "messaging,amq,jboss,xpaas", +                            "supports":"amq:6.2,messaging,xpaas:1.2", +                            "version": "1.2" +                        }                      }                  ]              } 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 3fd04c28c..2b1680755 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.1.0" +            "version": "1.2.0"          },          "name": "amq62-basic"      },      "labels": {          "template": "amq62-basic", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -54,20 +54,6 @@              "required": false          },          { -            "description": "User name for admin user. 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 admin user. If left empty, it will be generated.", -            "name": "AMQ_ADMIN_PASSWORD", -            "from": "[a-zA-Z0-9]{8}", -            "generate": "expression", -            "required": true -        }, -        {              "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", @@ -207,7 +193,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.1" +                                "name": "jboss-amq-62:1.2"                              }                          }                      }, @@ -239,12 +225,17 @@                                          "command": [                                              "/bin/bash",                                              "-c", -                                            "curl -s -L -u ${AMQ_ADMIN_USERNAME}:${AMQ_ADMIN_PASSWORD} 'http://localhost:8161/hawtio/jolokia/read/org.apache.activemq:type=Broker,brokerName=*,service=Health/CurrentStatus' | grep -q '\"CurrentStatus\" *: *\"Good\"'" +                                            "/opt/amq/bin/readinessProbe.sh"                                          ]                                      }                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "amqp",                                          "containerPort": 5672,                                          "protocol": "TCP" @@ -287,14 +278,6 @@                                          "value": "${MQ_TOPICS}"                                      },                                      { -                                        "name": "AMQ_ADMIN_USERNAME", -                                        "value": "${AMQ_ADMIN_USERNAME}" -                                    }, -                                    { -                                        "name": "AMQ_ADMIN_PASSWORD", -                                        "value": "${AMQ_ADMIN_PASSWORD}" -                                    }, -                                    {                                          "name": "AMQ_MESH_DISCOVERY_TYPE",                                          "value": "${AMQ_MESH_DISCOVERY_TYPE}"                                      }, 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 aa9e716cf..0755fef45 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.1.0" +            "version": "1.2.0"          },          "name": "amq62-persistent-ssl"      },      "labels": {          "template": "amq62-persistent-ssl", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -60,20 +60,6 @@              "required": false          },          { -            "description": "User name for admin user.  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 admin user.  If left empty, it will be generated.", -            "name": "AMQ_ADMIN_PASSWORD", -            "from": "[a-zA-Z0-9]{8}", -            "generate": "expression", -            "required": true -        }, -        {              "description": "Name of a secret containing SSL related files",              "name": "AMQ_SECRET",              "value": "amq-app-secret", @@ -333,7 +319,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.1" +                                "name": "jboss-amq-62:1.2"                              }                          }                      }, @@ -377,12 +363,17 @@                                          "command": [                                              "/bin/bash",                                              "-c", -                                            "curl -s -L -u ${AMQ_ADMIN_USERNAME}:${AMQ_ADMIN_PASSWORD} 'http://localhost:8161/hawtio/jolokia/read/org.apache.activemq:type=Broker,brokerName=*,service=Health/CurrentStatus' | grep -q '\"CurrentStatus\" *: *\"Good\"'" +                                            "/opt/amq/bin/readinessProbe.sh"                                          ]                                      }                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "amqp",                                          "containerPort": 5672,                                          "protocol": "TCP" @@ -445,14 +436,6 @@                                          "value": "${MQ_TOPICS}"                                      },                                      { -                                        "name": "AMQ_ADMIN_USERNAME", -                                        "value": "${AMQ_ADMIN_USERNAME}" -                                    }, -                                    { -                                        "name": "AMQ_ADMIN_PASSWORD", -                                        "value": "${AMQ_ADMIN_PASSWORD}" -                                    }, -                                    {                                          "name": "AMQ_KEYSTORE_TRUSTSTORE_DIR",                                          "value": "/etc/amq-secret-volume"                                      }, 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 3a2db3ce9..a8b3d5714 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.1.0" +            "version": "1.2.0"          },          "name": "amq62-persistent"      },      "labels": {          "template": "amq62-persistent", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -60,20 +60,6 @@              "required": false          },          { -            "description": "User name for admin user.  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 admin user.  If left empty, it will be generated.", -            "name": "AMQ_ADMIN_PASSWORD", -            "from": "[a-zA-Z0-9]{8}", -            "generate": "expression", -            "required": true -        }, -        {              "description": "The A-MQ storage usage limit",              "name": "AMQ_STORAGE_USAGE_LIMIT",              "value": "100 gb", @@ -207,7 +193,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.1" +                                "name": "jboss-amq-62:1.2"                              }                          }                      }, @@ -245,12 +231,17 @@                                          "command": [                                              "/bin/bash",                                              "-c", -                                            "curl -s -L -u ${AMQ_ADMIN_USERNAME}:${AMQ_ADMIN_PASSWORD} 'http://localhost:8161/hawtio/jolokia/read/org.apache.activemq:type=Broker,brokerName=*,service=Health/CurrentStatus' | grep -q '\"CurrentStatus\" *: *\"Good\"'" +                                            "/opt/amq/bin/readinessProbe.sh"                                          ]                                      }                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "amqp",                                          "containerPort": 5672,                                          "protocol": "TCP" @@ -293,14 +284,6 @@                                          "value": "${MQ_TOPICS}"                                      },                                      { -                                        "name": "AMQ_ADMIN_USERNAME", -                                        "value": "${AMQ_ADMIN_USERNAME}" -                                    }, -                                    { -                                        "name": "AMQ_ADMIN_PASSWORD", -                                        "value": "${AMQ_ADMIN_PASSWORD}" -                                    }, -                                    {                                          "name": "AMQ_STORAGE_USAGE_LIMIT",                                          "value": "${AMQ_STORAGE_USAGE_LIMIT}"                                      } 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 f61fb24c2..ced360b09 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.1.0" +            "version": "1.2.0"          },          "name": "amq62-ssl"      },      "labels": {          "template": "amq62-ssl", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -54,20 +54,6 @@              "required": false          },          { -            "description": "User name for admin user. 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 admin user. If left empty, it will be generated.", -            "name": "AMQ_ADMIN_PASSWORD", -            "from": "[a-zA-Z0-9]{8}", -            "generate": "expression", -            "required": true -        }, -        {              "description": "Name of a secret containing SSL related files",              "name": "AMQ_SECRET",              "value": "amq-app-secret", @@ -333,7 +319,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.1" +                                "name": "jboss-amq-62:1.2"                              }                          }                      }, @@ -373,12 +359,17 @@                                          "command": [                                              "/bin/bash",                                              "-c", -                                            "curl -s -L -u ${AMQ_ADMIN_USERNAME}:${AMQ_ADMIN_PASSWORD} 'http://localhost:8161/hawtio/jolokia/read/org.apache.activemq:type=Broker,brokerName=*,service=Health/CurrentStatus' | grep -q '\"CurrentStatus\" *: *\"Good\"'" +                                            "/opt/amq/bin/readinessProbe.sh"                                          ]                                      }                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "amqp",                                          "containerPort": 5672,                                          "protocol": "TCP" @@ -441,14 +432,6 @@                                          "value": "${MQ_TOPICS}"                                      },                                      { -                                        "name": "AMQ_ADMIN_USERNAME", -                                        "value": "${AMQ_ADMIN_USERNAME}" -                                    }, -                                    { -                                        "name": "AMQ_ADMIN_PASSWORD", -                                        "value": "${AMQ_ADMIN_PASSWORD}" -                                    }, -                                    {                                          "name": "AMQ_MESH_DISCOVERY_TYPE",                                          "value": "${AMQ_MESH_DISCOVERY_TYPE}"                                      }, diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-basic.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-basic.json new file mode 100644 index 000000000..56e76016f --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-basic.json @@ -0,0 +1,332 @@ +{ +    "kind": "Template", +    "apiVersion": "v1", +    "metadata": { +        "annotations": { +            "iconClass": "icon-jboss", +            "description": "Application template for JDG 6.5 applications.", +            "tags": "datagrid,jboss,xpaas", +            "version": "1.2.0" +        }, +        "name": "datagrid65-basic" +    }, +    "labels": { +        "template": "datagrid65-basic", +        "xpaas": "1.2.0" +    }, +    "parameters": [ +        { +            "description": "The name for the application.", +            "name": "APPLICATION_NAME", +            "value": "datagrid-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": "User name for JDG user.", +            "name": "USERNAME", +            "value": "", +            "required": false +        }, +        { +            "description": "Password for JDG user.", +            "name": "PASSWORD", +            "value": "", +            "required": false +        }, +        { +            "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": "Comma-separated list of connector types that should be configured (defaults to 'memcached,hotrod,rest')", +            "name": "INFINISPAN_CONNECTORS", +            "value": "hotrod,memcached,rest", +            "required": false +        }, +        { +            "description": "Comma-separated list of caches to configure.  By default, a distributed-cache, with a mode of SYNC will be configured for each entry.", +            "name": "CACHE_NAMES", +            "value": "", +            "required": false +        }, +        { +            "description": "", +            "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the cache to expose through this memcached connector (defaults to 'default')", +            "name": "MEMCACHED_CACHE", +            "value": "default", +            "required": false +        }, +        { +            "description": "The domain, declared in the security subsystem, that should be used to authenticate access to the REST endpoint", +            "name": "REST_SECURITY_DOMAIN", +            "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": 11211, +                        "targetPort": 11211 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-memcached", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Memcached service for clustered applications." +                } +            } +        }, +        { +            "kind": "Service", +            "apiVersion": "v1", +            "spec": { +                "ports": [ +                    { +                        "port": 11333, +                        "targetPort": 11333 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-hotrod", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Hot Rod service for clustered applications." +                } +            } +        }, +        { +            "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": "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": "ImageStreamTag", +                                "namespace": "${IMAGE_STREAM_NAMESPACE}", +                                "name": "jboss-datagrid65-openshift:1.2" +                            } +                        } +                    }, +                    { +                        "type": "ConfigChange" +                    } +                ], +                "replicas": 1, +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                }, +                "template": { +                    "metadata": { +                        "name": "${APPLICATION_NAME}", +                        "labels": { +                            "deploymentConfig": "${APPLICATION_NAME}", +                            "application": "${APPLICATION_NAME}" +                        } +                    }, +                    "spec": { +                        "terminationGracePeriodSeconds": 60, +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}", +                                "image": "jboss-datagrid65-openshift", +                                "imagePullPolicy": "Always", +                                "livenessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/bin/livenessProbe.sh" +                                        ] +                                    } +                                }, +                                "readinessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/bin/readinessProbe.sh" +                                        ] +                                    } +                                }, +                                "ports": [ +                                    { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    { +                                        "name": "http", +                                        "containerPort": 8080, +                                        "protocol": "TCP" +                                    }, +                                    { +                                        "name": "ping", +                                        "containerPort": 8888, +                                        "protocol": "TCP" +                                    }, +                                    { +                                        "name": "memcached", +                                        "containerPort": 11211, +                                        "protocol": "TCP" +                                    }, +                                    { +                                        "name": "hotrod", +                                        "containerPort": 11222, +                                        "protocol": "TCP" +                                    } +                                ], +                                "env": [ +                                    { +                                        "name": "USERNAME", +                                        "value": "${USERNAME}" +                                    }, +                                    { +                                        "name": "PASSWORD", +                                        "value": "${PASSWORD}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_LABELS", +                                        "value": "application=${APPLICATION_NAME}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_NAMESPACE", +                                        "valueFrom": { +                                            "fieldRef": { +                                                "fieldPath": "metadata.namespace" +                                            } +                                        } +                                    }, +                                    { +                                        "name": "INFINISPAN_CONNECTORS", +                                        "value": "${INFINISPAN_CONNECTORS}" +                                    }, +                                    { +                                        "name": "CACHE_NAMES", +                                        "value": "${CACHE_NAMES}" +                                    }, +                                    { +                                        "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +                                        "value": "${ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH}" +                                    }, +                                    { +                                        "name": "HOTROD_SERVICE_NAME", +                                        "value": "${APPLICATION_NAME}-hotrod" +                                    }, +                                    { +                                        "name": "MEMCACHED_CACHE", +                                        "value": "${MEMCACHED_CACHE}" +                                    }, +                                    { +                                        "name": "REST_SECURITY_DOMAIN", +                                        "value": "${REST_SECURITY_DOMAIN}" +                                    }, +                                    { +                                        "name": "JGROUPS_CLUSTER_PASSWORD", +                                        "value": "${JGROUPS_CLUSTER_PASSWORD}" +                                    } +                                ] +                            } +                        ] +                    } +                } +            } +        } +    ] +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-https.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-https.json new file mode 100644 index 000000000..033e70063 --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-https.json @@ -0,0 +1,501 @@ +{ +    "kind": "Template", +    "apiVersion": "v1", +    "metadata": { +        "annotations": { +            "iconClass": "icon-jboss", +            "description": "Application template for JDG 6.5 applications.", +            "tags": "datagrid,jboss,xpaas", +            "version": "1.2.0" +        }, +        "name": "datagrid65-https" +    }, +    "labels": { +        "template": "datagrid65-https", +        "xpaas": "1.2.0" +    }, +    "parameters": [ +        { +            "description": "The name for the application.", +            "name": "APPLICATION_NAME", +            "value": "datagrid-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": "User name for JDG user.", +            "name": "USERNAME", +            "value": "", +            "required": false +        }, +        { +            "description": "Password for JDG user.", +            "name": "PASSWORD", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "HTTPS_SECRET", +            "value": "datagrid-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": "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": "Comma-separated list of connector types that should be configured (defaults to 'memcached,hotrod,rest')", +            "name": "INFINISPAN_CONNECTORS", +            "value": "hotrod,memcached,rest", +            "required": false +        }, +        { +            "description": "Comma-separated list of caches to configure.  By default, a distributed-cache, with a mode of SYNC will be configured for each entry.", +            "name": "CACHE_NAMES", +            "value": "", +            "required": false +        }, +        { +            "description": "", +            "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the cache to expose through this memcached connector (defaults to 'default')", +            "name": "MEMCACHED_CACHE", +            "value": "default", +            "required": false +        }, +        { +            "description": "The domain, declared in the security subsystem, that should be used to authenticate access to the REST endpoint", +            "name": "REST_SECURITY_DOMAIN", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "JGROUPS_ENCRYPT_SECRET", +            "value": "datagrid-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": 11211, +                        "targetPort": 11211 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-memcached", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Memcached service for clustered applications." +                } +            } +        }, +        { +            "kind": "Service", +            "apiVersion": "v1", +            "spec": { +                "ports": [ +                    { +                        "port": 11333, +                        "targetPort": 11333 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-hotrod", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Hot Rod service for clustered applications." +                } +            } +        }, +        { +            "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": "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": "ImageStreamTag", +                                "namespace": "${IMAGE_STREAM_NAMESPACE}", +                                "name": "jboss-datagrid65-openshift:1.2" +                            } +                        } +                    }, +                    { +                        "type": "ConfigChange" +                    } +                ], +                "replicas": 1, +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                }, +                "template": { +                    "metadata": { +                        "name": "${APPLICATION_NAME}", +                        "labels": { +                            "deploymentConfig": "${APPLICATION_NAME}", +                            "application": "${APPLICATION_NAME}" +                        } +                    }, +                    "spec": { +                        "serviceAccount": "datagrid-service-account", +                        "terminationGracePeriodSeconds": 60, +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}", +                                "image": "jboss-datagrid65-openshift", +                                "imagePullPolicy": "Always", +                                "volumeMounts": [ +                                    { +                                        "name": "datagrid-keystore-volume", +                                        "mountPath": "/etc/datagrid-secret-volume", +                                        "readOnly": true +                                    }, +                                    { +                                        "name": "datagrid-jgroups-keystore-volume", +                                        "mountPath": "/etc/jgroups-encrypt-secret-volume", +                                        "readOnly": true +                                    } +                                ], +                                "livenessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/bin/livenessProbe.sh" +                                        ] +                                    } +                                }, +                                "readinessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/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" +                                    }, +                                    { +                                        "name": "memcached", +                                        "containerPort": 11211, +                                        "protocol": "TCP" +                                    }, +                                    { +                                        "name": "hotrod", +                                        "containerPort": 11222, +                                        "protocol": "TCP" +                                    } +                                ], +                                "env": [ +                                    { +                                        "name": "USERNAME", +                                        "value": "${USERNAME}" +                                    }, +                                    { +                                        "name": "PASSWORD", +                                        "value": "${PASSWORD}" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE_DIR", +                                        "value": "/etc/datagrid-secret-volume" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}" +                                    }, +                                    { +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}" +                                    }, +                                    { +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_LABELS", +                                        "value": "application=${APPLICATION_NAME}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_NAMESPACE", +                                        "valueFrom": { +                                            "fieldRef": { +                                                "fieldPath": "metadata.namespace" +                                            } +                                        } +                                    }, +                                    { +                                        "name": "INFINISPAN_CONNECTORS", +                                        "value": "${INFINISPAN_CONNECTORS}" +                                    }, +                                    { +                                        "name": "CACHE_NAMES", +                                        "value": "${CACHE_NAMES}" +                                    }, +                                    { +                                        "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +                                        "value": "${ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH}" +                                    }, +                                    { +                                        "name": "HOTROD_SERVICE_NAME", +                                        "value": "${APPLICATION_NAME}-hotrod" +                                    }, +                                    { +                                        "name": "MEMCACHED_CACHE", +                                        "value": "${MEMCACHED_CACHE}" +                                    }, +                                    { +                                        "name": "REST_SECURITY_DOMAIN", +                                        "value": "${REST_SECURITY_DOMAIN}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_SECRET", +                                        "value": "${JGROUPS_ENCRYPT_SECRET}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE", +                                        "value": "${JGROUPS_ENCRYPT_KEYSTORE}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE_DIR", +                                        "value": "/etc/jgroups-encrypt-secret-volume" +                                    }, +                                    { +                                        "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": "datagrid-keystore-volume", +                                "secret": { +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "datagrid-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}" +                                } +                            } +                        ] +                    } +                } +            } +        } +    ] +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-mysql-persistent.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-mysql-persistent.json new file mode 100644 index 000000000..05bc7c236 --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-mysql-persistent.json @@ -0,0 +1,779 @@ +{ +    "kind": "Template", +    "apiVersion": "v1", +    "metadata": { +        "annotations": { +            "iconClass": "icon-jboss", +            "description": "Application template for JDG 6.5 and MySQL applications with persistent storage.", +            "tags": "datagrid,jboss,xpaas", +            "version": "1.2.0" +        }, +        "name": "datagrid65-mysql-persistent" +    }, +    "labels": { +        "template": "datagrid65-mysql-persistent", +        "xpaas": "1.2.0" +    }, +    "parameters": [ +        { +            "description": "The name for the application.", +            "name": "APPLICATION_NAME", +            "value": "datagrid-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": "User name for JDG user.", +            "name": "USERNAME", +            "value": "", +            "required": false +        }, +        { +            "description": "Password for JDG user.", +            "name": "PASSWORD", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "HTTPS_SECRET", +            "value": "datagrid-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": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/mysql", +            "name": "DB_JNDI", +            "value": "java:/jboss/datasources/mysql", +            "required": false +        }, +        { +            "description": "Database name", +            "name": "DB_DATABASE", +            "value": "root", +            "required": true +        }, +        { +            "description": "Database user name", +            "name": "DB_USERNAME", +            "from": "user[a-zA-Z0-9]{3}", +            "generate": "expression", +            "required": true +        }, +        { +            "description": "Database user password", +            "name": "DB_PASSWORD", +            "from": "[a-zA-Z0-9]{8}", +            "generate": "expression", +            "required": true +        }, +        { +            "description": "Sets xa-pool/min-pool-size for the configured datasource.", +            "name": "DB_MIN_POOL_SIZE", +            "required": false +        }, +        { +            "description": "Sets xa-pool/max-pool-size for the configured datasource.", +            "name": "DB_MAX_POOL_SIZE", +            "required": false +        }, +        { +            "description": "Sets transaction-isolation for the configured datasource.", +            "name": "DB_TX_ISOLATION", +            "required": false +        }, +        { +            "description": "Sets how the table names are stored and compared.", +            "name": "MYSQL_LOWER_CASE_TABLE_NAMES", +            "required": false +        }, +        { +            "description": "The maximum permitted number of simultaneous client connections.", +            "name": "MYSQL_MAX_CONNECTIONS", +            "required": false +        }, +        { +            "description": "The minimum length of the word to be included in a FULLTEXT index.", +            "name": "MYSQL_FT_MIN_WORD_LEN", +            "required": false +        }, +        { +            "description": "The maximum length of the word to be included in a FULLTEXT index.", +            "name": "MYSQL_FT_MAX_WORD_LEN", +            "required": false +        }, +        { +            "description": "Controls the innodb_use_native_aio setting value if the native AIO is broken.", +            "name": "MYSQL_AIO", +            "required": false +        }, +        { +            "description": "Size of persistent storage for database volume.", +            "name": "VOLUME_CAPACITY", +            "value": "512Mi", +            "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": "Comma-separated list of connector types that should be configured (defaults to 'memcached,hotrod,rest')", +            "name": "INFINISPAN_CONNECTORS", +            "value": "hotrod,memcached,rest", +            "required": false +        }, +        { +            "description": "Comma-separated list of caches to configure.  By default, a distributed-cache, with a mode of SYNC will be configured for each entry.", +            "name": "CACHE_NAMES", +            "value": "", +            "required": false +        }, +        { +            "description": "", +            "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the cache to expose through this memcached connector (defaults to 'default')", +            "name": "MEMCACHED_CACHE", +            "value": "default", +            "required": false +        }, +        { +            "description": "The domain, declared in the security subsystem, that should be used to authenticate access to the REST endpoint", +            "name": "REST_SECURITY_DOMAIN", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "JGROUPS_ENCRYPT_SECRET", +            "value": "datagrid-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": 11211, +                        "targetPort": 11211 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-memcached", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Memcached service for clustered applications." +                } +            } +        }, +        { +            "kind": "Service", +            "apiVersion": "v1", +            "spec": { +                "ports": [ +                    { +                        "port": 11333, +                        "targetPort": 11333 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-hotrod", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Hot Rod service for clustered applications." +                } +            } +        }, +        { +            "kind": "Service", +            "apiVersion": "v1", +            "spec": { +                "ports": [ +                    { +                        "port": 3306, +                        "targetPort": 3306 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}-mysql" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-mysql", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "The database server's 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": "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": "ImageStreamTag", +                                "namespace": "${IMAGE_STREAM_NAMESPACE}", +                                "name": "jboss-datagrid65-openshift:1.2" +                            } +                        } +                    }, +                    { +                        "type": "ConfigChange" +                    } +                ], +                "replicas": 1, +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                }, +                "template": { +                    "metadata": { +                        "name": "${APPLICATION_NAME}", +                        "labels": { +                            "deploymentConfig": "${APPLICATION_NAME}", +                            "application": "${APPLICATION_NAME}" +                        } +                    }, +                    "spec": { +                        "serviceAccount": "datagrid-service-account", +                        "terminationGracePeriodSeconds": 60, +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}", +                                "image": "jboss-datagrid65-openshift", +                                "imagePullPolicy": "Always", +                                "volumeMounts": [ +                                    { +                                        "name": "datagrid-keystore-volume", +                                        "mountPath": "/etc/datagrid-secret-volume", +                                        "readOnly": true +                                    }, +                                    { +                                        "name": "datagrid-jgroups-keystore-volume", +                                        "mountPath": "/etc/jgroups-encrypt-secret-volume", +                                        "readOnly": true +                                    } +                                ], +                                "livenessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/bin/livenessProbe.sh" +                                        ] +                                    } +                                }, +                                "readinessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/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" +                                    }, +                                    { +                                        "name": "memcached", +                                        "containerPort": 11211, +                                        "protocol": "TCP" +                                    }, +                                    { +                                        "name": "hotrod", +                                        "containerPort": 11222, +                                        "protocol": "TCP" +                                    } +                                ], +                                "env": [ +                                    { +                                        "name": "USERNAME", +                                        "value": "${USERNAME}" +                                    }, +                                    { +                                        "name": "PASSWORD", +                                        "value": "${PASSWORD}" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE_DIR", +                                        "value": "/etc/datagrid-secret-volume" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}" +                                    }, +                                    { +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}" +                                    }, +                                    { +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}" +                                    }, +                                    { +                                        "name": "DB_SERVICE_PREFIX_MAPPING", +                                        "value": "${APPLICATION_NAME}-mysql=DB" +                                    }, +                                    { +                                        "name": "DB_JNDI", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "DB_USERNAME", +                                        "value": "${DB_USERNAME}" +                                    }, +                                    { +                                        "name": "DB_PASSWORD", +                                        "value": "${DB_PASSWORD}" +                                    }, +                                    { +                                        "name": "DB_DATABASE", +                                        "value": "${DB_DATABASE}" +                                    }, +                                    { +                                        "name": "TX_DATABASE_PREFIX_MAPPING", +                                        "value": "${APPLICATION_NAME}-mysql=DB" +                                    }, +                                    { +                                        "name": "DB_MIN_POOL_SIZE", +                                        "value": "${DB_MIN_POOL_SIZE}" +                                    }, +                                    { +                                        "name": "DB_MAX_POOL_SIZE", +                                        "value": "${DB_MAX_POOL_SIZE}" +                                    }, +                                    { +                                        "name": "DB_TX_ISOLATION", +                                        "value": "${DB_TX_ISOLATION}" +                                    }, +                                    { +                                        "name": "DEFAULT_JDBC_STORE_TYPE", +                                        "value": "string" +                                    }, +                                    { +                                        "name": "DEFAULT_JDBC_STORE_DATASOURCE", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "MEMCACHED_JDBC_STORE_TYPE", +                                        "value": "string" +                                    }, +                                    { +                                        "name": "MEMCACHED_JDBC_STORE_DATASOURCE", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_LABELS", +                                        "value": "application=${APPLICATION_NAME}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_NAMESPACE", +                                        "valueFrom": { +                                            "fieldRef": { +                                                "fieldPath": "metadata.namespace" +                                            } +                                        } +                                    }, +                                    { +                                        "name": "INFINISPAN_CONNECTORS", +                                        "value": "${INFINISPAN_CONNECTORS}" +                                    }, +                                    { +                                        "name": "CACHE_NAMES", +                                        "value": "${CACHE_NAMES}" +                                    }, +                                    { +                                        "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +                                        "value": "${ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH}" +                                    }, +                                    { +                                        "name": "HOTROD_SERVICE_NAME", +                                        "value": "${APPLICATION_NAME}-hotrod" +                                    }, +                                    { +                                        "name": "MEMCACHED_CACHE", +                                        "value": "${MEMCACHED_CACHE}" +                                    }, +                                    { +                                        "name": "REST_SECURITY_DOMAIN", +                                        "value": "${REST_SECURITY_DOMAIN}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_SECRET", +                                        "value": "${JGROUPS_ENCRYPT_SECRET}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE", +                                        "value": "${JGROUPS_ENCRYPT_KEYSTORE}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE_DIR", +                                        "value": "/etc/jgroups-encrypt-secret-volume" +                                    }, +                                    { +                                        "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": "datagrid-keystore-volume", +                                "secret": { +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "datagrid-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}" +                                } +                            } +                        ] +                    } +                } +            } +        }, +        { +            "kind": "DeploymentConfig", +            "apiVersion": "v1", +            "metadata": { +                "name": "${APPLICATION_NAME}-mysql", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                } +            }, +            "spec": { +                "strategy": { +                    "type": "Recreate" +                }, +                "triggers": [ +                    { +                        "type": "ImageChange", +                        "imageChangeParams": { +                            "automatic": true, +                            "containerNames": [ +                                "${APPLICATION_NAME}-mysql" +                            ], +                            "from": { +                                "kind": "ImageStreamTag", +                                "namespace": "${IMAGE_STREAM_NAMESPACE}", +                                "name": "mysql:latest" +                            } +                        } +                    }, +                    { +                        "type": "ConfigChange" +                    } +                ], +                "replicas": 1, +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}-mysql" +                }, +                "template": { +                    "metadata": { +                        "name": "${APPLICATION_NAME}-mysql", +                        "labels": { +                            "deploymentConfig": "${APPLICATION_NAME}-mysql", +                            "application": "${APPLICATION_NAME}" +                        } +                    }, +                    "spec": { +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}-mysql", +                                "image": "mysql", +                                "imagePullPolicy": "Always", +                                "ports": [ +                                    { +                                        "containerPort": 3306, +                                        "protocol": "TCP" +                                    } +                                ], +                                "volumeMounts": [ +                                    { +                                        "mountPath": "/var/lib/mysql/data", +                                        "name": "${APPLICATION_NAME}-mysql-pvol" +                                    } +                                ], +                                "env": [ +                                    { +                                        "name": "MYSQL_USER", +                                        "value": "${DB_USERNAME}" +                                    }, +                                    { +                                        "name": "MYSQL_PASSWORD", +                                        "value": "${DB_PASSWORD}" +                                    }, +                                    { +                                        "name": "MYSQL_DATABASE", +                                        "value": "${DB_DATABASE}" +                                    }, +                                    { +                                        "name": "MYSQL_LOWER_CASE_TABLE_NAMES", +                                        "value": "${MYSQL_LOWER_CASE_TABLE_NAMES}" +                                    }, +                                    { +                                        "name": "MYSQL_MAX_CONNECTIONS", +                                        "value": "${MYSQL_MAX_CONNECTIONS}" +                                    }, +                                    { +                                        "name": "MYSQL_FT_MIN_WORD_LEN", +                                        "value": "${MYSQL_FT_MIN_WORD_LEN}" +                                    }, +                                    { +                                        "name": "MYSQL_FT_MAX_WORD_LEN", +                                        "value": "${MYSQL_FT_MAX_WORD_LEN}" +                                    }, +                                    { +                                        "name": "MYSQL_AIO", +                                        "value": "${MYSQL_AIO}" +                                    } +                                ] +                            } +                        ], +                        "volumes": [ +                            { +                                "name": "${APPLICATION_NAME}-mysql-pvol", +                                "persistentVolumeClaim": { +                                    "claimName": "${APPLICATION_NAME}-mysql-claim" +                                } +                            } +                        ] +                    } +                } +            } +        }, +        { +            "apiVersion": "v1", +            "kind": "PersistentVolumeClaim", +            "metadata": { +                "name": "${APPLICATION_NAME}-mysql-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/datagrid65-mysql.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-mysql.json new file mode 100644 index 000000000..1856c8dc2 --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-mysql.json @@ -0,0 +1,739 @@ +{ +    "kind": "Template", +    "apiVersion": "v1", +    "metadata": { +        "annotations": { +            "iconClass": "icon-jboss", +            "description": "Application template for JDG 6.5 and MySQL applications.", +            "tags": "datagrid,jboss,xpaas", +            "version": "1.2.0" +        }, +        "name": "datagrid65-mysql" +    }, +    "labels": { +        "template": "datagrid65-mysql", +        "xpaas": "1.2.0" +    }, +    "parameters": [ +        { +            "description": "The name for the application.", +            "name": "APPLICATION_NAME", +            "value": "datagrid-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": "User name for JDG user.", +            "name": "USERNAME", +            "value": "", +            "required": false +        }, +        { +            "description": "Password for JDG user.", +            "name": "PASSWORD", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "HTTPS_SECRET", +            "value": "datagrid-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": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/mysql", +            "name": "DB_JNDI", +            "value": "java:/jboss/datasources/mysql", +            "required": false +        }, +        { +            "description": "Database name", +            "name": "DB_DATABASE", +            "value": "root", +            "required": true +        }, +        { +            "description": "Database user name", +            "name": "DB_USERNAME", +            "from": "user[a-zA-Z0-9]{3}", +            "generate": "expression", +            "required": true +        }, +        { +            "description": "Database user password", +            "name": "DB_PASSWORD", +            "from": "[a-zA-Z0-9]{8}", +            "generate": "expression", +            "required": true +        }, +        { +            "description": "Sets xa-pool/min-pool-size for the configured datasource.", +            "name": "DB_MIN_POOL_SIZE", +            "required": false +        }, +        { +            "description": "Sets xa-pool/max-pool-size for the configured datasource.", +            "name": "DB_MAX_POOL_SIZE", +            "required": false +        }, +        { +            "description": "Sets transaction-isolation for the configured datasource.", +            "name": "DB_TX_ISOLATION", +            "required": false +        }, +        { +            "description": "Sets how the table names are stored and compared.", +            "name": "MYSQL_LOWER_CASE_TABLE_NAMES", +            "required": false +        }, +        { +            "description": "The maximum permitted number of simultaneous client connections.", +            "name": "MYSQL_MAX_CONNECTIONS", +            "required": false +        }, +        { +            "description": "The minimum length of the word to be included in a FULLTEXT index.", +            "name": "MYSQL_FT_MIN_WORD_LEN", +            "required": false +        }, +        { +            "description": "The maximum length of the word to be included in a FULLTEXT index.", +            "name": "MYSQL_FT_MAX_WORD_LEN", +            "required": false +        }, +        { +            "description": "Controls the innodb_use_native_aio setting value if the native AIO is broken.", +            "name": "MYSQL_AIO", +            "required": false +        }, +        { +            "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": "Comma-separated list of connector types that should be configured (defaults to 'memcached,hotrod,rest')", +            "name": "INFINISPAN_CONNECTORS", +            "value": "hotrod,memcached,rest", +            "required": false +        }, +        { +            "description": "Comma-separated list of caches to configure.  By default, a distributed-cache, with a mode of SYNC will be configured for each entry.", +            "name": "CACHE_NAMES", +            "value": "", +            "required": false +        }, +        { +            "description": "", +            "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the cache to expose through this memcached connector (defaults to 'default')", +            "name": "MEMCACHED_CACHE", +            "value": "default", +            "required": false +        }, +        { +            "description": "The domain, declared in the security subsystem, that should be used to authenticate access to the REST endpoint", +            "name": "REST_SECURITY_DOMAIN", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "JGROUPS_ENCRYPT_SECRET", +            "value": "datagrid-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": 11211, +                        "targetPort": 11211 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-memcached", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Memcached service for clustered applications." +                } +            } +        }, +        { +            "kind": "Service", +            "apiVersion": "v1", +            "spec": { +                "ports": [ +                    { +                        "port": 11333, +                        "targetPort": 11333 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-hotrod", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Hot Rod service for clustered applications." +                } +            } +        }, +        { +            "kind": "Service", +            "apiVersion": "v1", +            "spec": { +                "ports": [ +                    { +                        "port": 3306, +                        "targetPort": 3306 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}-mysql" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-mysql", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "The database server's 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": "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": "ImageStreamTag", +                                "namespace": "${IMAGE_STREAM_NAMESPACE}", +                                "name": "jboss-datagrid65-openshift:1.2" +                            } +                        } +                    }, +                    { +                        "type": "ConfigChange" +                    } +                ], +                "replicas": 1, +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                }, +                "template": { +                    "metadata": { +                        "name": "${APPLICATION_NAME}", +                        "labels": { +                            "deploymentConfig": "${APPLICATION_NAME}", +                            "application": "${APPLICATION_NAME}" +                        } +                    }, +                    "spec": { +                        "serviceAccount": "datagrid-service-account", +                        "terminationGracePeriodSeconds": 60, +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}", +                                "image": "jboss-datagrid65-openshift", +                                "imagePullPolicy": "Always", +                                "volumeMounts": [ +                                    { +                                        "name": "datagrid-keystore-volume", +                                        "mountPath": "/etc/datagrid-secret-volume", +                                        "readOnly": true +                                    }, +                                    { +                                        "name": "datagrid-jgroups-keystore-volume", +                                        "mountPath": "/etc/jgroups-encrypt-secret-volume", +                                        "readOnly": true +                                    } +                                ], +                                "livenessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/bin/livenessProbe.sh" +                                        ] +                                    } +                                }, +                                "readinessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/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" +                                    }, +                                    { +                                        "name": "memcached", +                                        "containerPort": 11211, +                                        "protocol": "TCP" +                                    }, +                                    { +                                        "name": "hotrod", +                                        "containerPort": 11222, +                                        "protocol": "TCP" +                                    } +                                ], +                                "env": [ +                                    { +                                        "name": "USERNAME", +                                        "value": "${USERNAME}" +                                    }, +                                    { +                                        "name": "PASSWORD", +                                        "value": "${PASSWORD}" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE_DIR", +                                        "value": "/etc/datagrid-secret-volume" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}" +                                    }, +                                    { +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}" +                                    }, +                                    { +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}" +                                    }, +                                    { +                                        "name": "DB_SERVICE_PREFIX_MAPPING", +                                        "value": "${APPLICATION_NAME}-mysql=DB" +                                    }, +                                    { +                                        "name": "DB_JNDI", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "DB_USERNAME", +                                        "value": "${DB_USERNAME}" +                                    }, +                                    { +                                        "name": "DB_PASSWORD", +                                        "value": "${DB_PASSWORD}" +                                    }, +                                    { +                                        "name": "DB_DATABASE", +                                        "value": "${DB_DATABASE}" +                                    }, +                                    { +                                        "name": "TX_DATABASE_PREFIX_MAPPING", +                                        "value": "${APPLICATION_NAME}-mysql=DB" +                                    }, +                                    { +                                        "name": "DB_MIN_POOL_SIZE", +                                        "value": "${DB_MIN_POOL_SIZE}" +                                    }, +                                    { +                                        "name": "DB_MAX_POOL_SIZE", +                                        "value": "${DB_MAX_POOL_SIZE}" +                                    }, +                                    { +                                        "name": "DB_TX_ISOLATION", +                                        "value": "${DB_TX_ISOLATION}" +                                    }, +                                    { +                                        "name": "DEFAULT_JDBC_STORE_TYPE", +                                        "value": "string" +                                    }, +                                    { +                                        "name": "DEFAULT_JDBC_STORE_DATASOURCE", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "MEMCACHED_JDBC_STORE_TYPE", +                                        "value": "string" +                                    }, +                                    { +                                        "name": "MEMCACHED_JDBC_STORE_DATASOURCE", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_LABELS", +                                        "value": "application=${APPLICATION_NAME}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_NAMESPACE", +                                        "valueFrom": { +                                            "fieldRef": { +                                                "fieldPath": "metadata.namespace" +                                            } +                                        } +                                    }, +                                    { +                                        "name": "INFINISPAN_CONNECTORS", +                                        "value": "${INFINISPAN_CONNECTORS}" +                                    }, +                                    { +                                        "name": "CACHE_NAMES", +                                        "value": "${CACHE_NAMES}" +                                    }, +                                    { +                                        "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +                                        "value": "${ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH}" +                                    }, +                                    { +                                        "name": "HOTROD_SERVICE_NAME", +                                        "value": "${APPLICATION_NAME}-hotrod" +                                    }, +                                    { +                                        "name": "MEMCACHED_CACHE", +                                        "value": "${MEMCACHED_CACHE}" +                                    }, +                                    { +                                        "name": "REST_SECURITY_DOMAIN", +                                        "value": "${REST_SECURITY_DOMAIN}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_SECRET", +                                        "value": "${JGROUPS_ENCRYPT_SECRET}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE", +                                        "value": "${JGROUPS_ENCRYPT_KEYSTORE}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE_DIR", +                                        "value": "/etc/jgroups-encrypt-secret-volume" +                                    }, +                                    { +                                        "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": "datagrid-keystore-volume", +                                "secret": { +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "datagrid-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}" +                                } +                            } +                        ] +                    } +                } +            } +        }, +        { +            "kind": "DeploymentConfig", +            "apiVersion": "v1", +            "metadata": { +                "name": "${APPLICATION_NAME}-mysql", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                } +            }, +            "spec": { +                "strategy": { +                    "type": "Recreate" +                }, +                "triggers": [ +                    { +                        "type": "ImageChange", +                        "imageChangeParams": { +                            "automatic": true, +                            "containerNames": [ +                                "${APPLICATION_NAME}-mysql" +                            ], +                            "from": { +                                "kind": "ImageStreamTag", +                                "namespace": "${IMAGE_STREAM_NAMESPACE}", +                                "name": "mysql:latest" +                            } +                        } +                    }, +                    { +                        "type": "ConfigChange" +                    } +                ], +                "replicas": 1, +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}-mysql" +                }, +                "template": { +                    "metadata": { +                        "name": "${APPLICATION_NAME}-mysql", +                        "labels": { +                            "deploymentConfig": "${APPLICATION_NAME}-mysql", +                            "application": "${APPLICATION_NAME}" +                        } +                    }, +                    "spec": { +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}-mysql", +                                "image": "mysql", +                                "imagePullPolicy": "Always", +                                "ports": [ +                                    { +                                        "containerPort": 3306, +                                        "protocol": "TCP" +                                    } +                                ], +                                "env": [ +                                    { +                                        "name": "MYSQL_USER", +                                        "value": "${DB_USERNAME}" +                                    }, +                                    { +                                        "name": "MYSQL_PASSWORD", +                                        "value": "${DB_PASSWORD}" +                                    }, +                                    { +                                        "name": "MYSQL_DATABASE", +                                        "value": "${DB_DATABASE}" +                                    }, +                                    { +                                        "name": "MYSQL_LOWER_CASE_TABLE_NAMES", +                                        "value": "${MYSQL_LOWER_CASE_TABLE_NAMES}" +                                    }, +                                    { +                                        "name": "MYSQL_MAX_CONNECTIONS", +                                        "value": "${MYSQL_MAX_CONNECTIONS}" +                                    }, +                                    { +                                        "name": "MYSQL_FT_MIN_WORD_LEN", +                                        "value": "${MYSQL_FT_MIN_WORD_LEN}" +                                    }, +                                    { +                                        "name": "MYSQL_FT_MAX_WORD_LEN", +                                        "value": "${MYSQL_FT_MAX_WORD_LEN}" +                                    }, +                                    { +                                        "name": "MYSQL_AIO", +                                        "value": "${MYSQL_AIO}" +                                    } +                                ] +                            } +                        ] +                    } +                } +            } +        } +    ] +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-postgresql-persistent.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-postgresql-persistent.json new file mode 100644 index 000000000..10d0f77ce --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-postgresql-persistent.json @@ -0,0 +1,752 @@ +{ +    "kind": "Template", +    "apiVersion": "v1", +    "metadata": { +        "annotations": { +            "iconClass": "icon-jboss", +            "description": "Application template for JDG 6.5 and PostgreSQL applications with persistent storage.", +            "tags": "datagrid,jboss,xpaas", +            "version": "1.2.0" +        }, +        "name": "datagrid65-postgresql-persistent" +    }, +    "labels": { +        "template": "datagrid65-postgresql-persistent", +        "xpaas": "1.2.0" +    }, +    "parameters": [ +        { +            "description": "The name for the application.", +            "name": "APPLICATION_NAME", +            "value": "datagrid-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": "User name for JDG user.", +            "name": "USERNAME", +            "value": "", +            "required": false +        }, +        { +            "description": "Password for JDG user.", +            "name": "PASSWORD", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "HTTPS_SECRET", +            "value": "datagrid-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": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/postgresql", +            "name": "DB_JNDI", +            "value": "java:jboss/datasources/postgresql", +            "required": false +        }, +        { +            "description": "Database name", +            "name": "DB_DATABASE", +            "value": "root", +            "required": true +        }, +        { +            "description": "Database user name", +            "name": "DB_USERNAME", +            "from": "user[a-zA-Z0-9]{3}", +            "generate": "expression", +            "required": true +        }, +        { +            "description": "Database user password", +            "name": "DB_PASSWORD", +            "from": "[a-zA-Z0-9]{8}", +            "generate": "expression", +            "required": true +        }, +        { +            "description": "Sets xa-pool/min-pool-size for the configured datasource.", +            "name": "DB_MIN_POOL_SIZE", +            "required": false +        }, +        { +            "description": "Sets xa-pool/max-pool-size for the configured datasource.", +            "name": "DB_MAX_POOL_SIZE", +            "required": false +        }, +        { +            "description": "Sets transaction-isolation for the configured datasource.", +            "name": "DB_TX_ISOLATION", +            "required": false +        }, +        { +            "description": "The maximum number of client connections allowed. This also sets the maximum number of prepared transactions.", +            "name": "POSTGRESQL_MAX_CONNECTIONS", +            "required": false +        }, +        { +            "description": "Configures how much memory is dedicated to PostgreSQL for caching data.", +            "name": "POSTGRESQL_SHARED_BUFFERS", +            "required": false +        }, +        { +            "description": "Size of persistent storage for database volume.", +            "name": "VOLUME_CAPACITY", +            "value": "512Mi", +            "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": "Comma-separated list of connector types that should be configured (defaults to 'memcached,hotrod,rest')", +            "name": "INFINISPAN_CONNECTORS", +            "value": "hotrod,memcached,rest", +            "required": false +        }, +        { +            "description": "Comma-separated list of caches to configure.  By default, a distributed-cache, with a mode of SYNC will be configured for each entry.", +            "name": "CACHE_NAMES", +            "value": "", +            "required": false +        }, +        { +            "description": "", +            "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the cache to expose through this memcached connector (defaults to 'default')", +            "name": "MEMCACHED_CACHE", +            "value": "default", +            "required": false +        }, +        { +            "description": "The domain, declared in the security subsystem, that should be used to authenticate access to the REST endpoint", +            "name": "REST_SECURITY_DOMAIN", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "JGROUPS_ENCRYPT_SECRET", +            "value": "datagrid-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": 11211, +                        "targetPort": 11211 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-memcached", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Memcached service for clustered applications." +                } +            } +        }, +        { +            "kind": "Service", +            "apiVersion": "v1", +            "spec": { +                "ports": [ +                    { +                        "port": 11333, +                        "targetPort": 11333 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-hotrod", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Hot Rod service for clustered applications." +                } +            } +        }, +        { +            "kind": "Service", +            "apiVersion": "v1", +            "spec": { +                "ports": [ +                    { +                        "port": 5432, +                        "targetPort": 5432 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}-postgresql" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-postgresql", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "The database server's 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": "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": "ImageStreamTag", +                                "namespace": "${IMAGE_STREAM_NAMESPACE}", +                                "name": "jboss-datagrid65-openshift:1.2" +                            } +                        } +                    }, +                    { +                        "type": "ConfigChange" +                    } +                ], +                "replicas": 1, +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                }, +                "template": { +                    "metadata": { +                        "name": "${APPLICATION_NAME}", +                        "labels": { +                            "deploymentConfig": "${APPLICATION_NAME}", +                            "application": "${APPLICATION_NAME}" +                        } +                    }, +                    "spec": { +                        "serviceAccount": "datagrid-service-account", +                        "terminationGracePeriodSeconds": 60, +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}", +                                "image": "jboss-datagrid65-openshift", +                                "imagePullPolicy": "Always", +                                "volumeMounts": [ +                                    { +                                        "name": "datagrid-keystore-volume", +                                        "mountPath": "/etc/datagrid-secret-volume", +                                        "readOnly": true +                                    }, +                                    { +                                        "name": "datagrid-jgroups-keystore-volume", +                                        "mountPath": "/etc/jgroups-encrypt-secret-volume", +                                        "readOnly": true +                                    } +                                ], +                                "livenessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/bin/livenessProbe.sh" +                                        ] +                                    } +                                }, +                                "readinessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/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" +                                    }, +                                    { +                                        "name": "memcached", +                                        "containerPort": 11211, +                                        "protocol": "TCP" +                                    }, +                                    { +                                        "name": "hotrod", +                                        "containerPort": 11222, +                                        "protocol": "TCP" +                                    } +                                ], +                                "env": [ +                                    { +                                        "name": "USERNAME", +                                        "value": "${USERNAME}" +                                    }, +                                    { +                                        "name": "PASSWORD", +                                        "value": "${PASSWORD}" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE_DIR", +                                        "value": "/etc/datagrid-secret-volume" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}" +                                    }, +                                    { +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}" +                                    }, +                                    { +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}" +                                    }, +                                    { +                                        "name": "DB_SERVICE_PREFIX_MAPPING", +                                        "value": "${APPLICATION_NAME}-postgresql=DB" +                                    }, +                                    { +                                        "name": "DB_JNDI", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "DB_USERNAME", +                                        "value": "${DB_USERNAME}" +                                    }, +                                    { +                                        "name": "DB_PASSWORD", +                                        "value": "${DB_PASSWORD}" +                                    }, +                                    { +                                        "name": "DB_DATABASE", +                                        "value": "${DB_DATABASE}" +                                    }, +                                    { +                                        "name": "TX_DATABASE_PREFIX_MAPPING", +                                        "value": "${APPLICATION_NAME}-postgresql=DB" +                                    }, +                                    { +                                        "name": "DB_MIN_POOL_SIZE", +                                        "value": "${DB_MIN_POOL_SIZE}" +                                    }, +                                    { +                                        "name": "DB_MAX_POOL_SIZE", +                                        "value": "${DB_MAX_POOL_SIZE}" +                                    }, +                                    { +                                        "name": "DB_TX_ISOLATION", +                                        "value": "${DB_TX_ISOLATION}" +                                    }, +                                    { +                                        "name": "DEFAULT_JDBC_STORE_TYPE", +                                        "value": "string" +                                    }, +                                    { +                                        "name": "DEFAULT_JDBC_STORE_DATASOURCE", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "MEMCACHED_JDBC_STORE_TYPE", +                                        "value": "string" +                                    }, +                                    { +                                        "name": "MEMCACHED_JDBC_STORE_DATASOURCE", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_LABELS", +                                        "value": "application=${APPLICATION_NAME}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_NAMESPACE", +                                        "valueFrom": { +                                            "fieldRef": { +                                                "fieldPath": "metadata.namespace" +                                            } +                                        } +                                    }, +                                    { +                                        "name": "INFINISPAN_CONNECTORS", +                                        "value": "${INFINISPAN_CONNECTORS}" +                                    }, +                                    { +                                        "name": "CACHE_NAMES", +                                        "value": "${CACHE_NAMES}" +                                    }, +                                    { +                                        "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +                                        "value": "${ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH}" +                                    }, +                                    { +                                        "name": "HOTROD_SERVICE_NAME", +                                        "value": "${APPLICATION_NAME}-hotrod" +                                    }, +                                    { +                                        "name": "MEMCACHED_CACHE", +                                        "value": "${MEMCACHED_CACHE}" +                                    }, +                                    { +                                        "name": "REST_SECURITY_DOMAIN", +                                        "value": "${REST_SECURITY_DOMAIN}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_SECRET", +                                        "value": "${JGROUPS_ENCRYPT_SECRET}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE", +                                        "value": "${JGROUPS_ENCRYPT_KEYSTORE}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE_DIR", +                                        "value": "/etc/jgroups-encrypt-secret-volume" +                                    }, +                                    { +                                        "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": "datagrid-keystore-volume", +                                "secret": { +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "datagrid-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}" +                                } +                            } +                        ] +                    } +                } +            } +        }, +        { +            "kind": "DeploymentConfig", +            "apiVersion": "v1", +            "metadata": { +                "name": "${APPLICATION_NAME}-postgresql", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                } +            }, +            "spec": { +                "strategy": { +                    "type": "Recreate" +                }, +                "triggers": [ +                    { +                        "type": "ImageChange", +                        "imageChangeParams": { +                            "automatic": true, +                            "containerNames": [ +                                "${APPLICATION_NAME}-postgresql" +                            ], +                            "from": { +                                "kind": "ImageStreamTag", +                                "namespace": "${IMAGE_STREAM_NAMESPACE}", +                                "name": "postgresql:latest" +                            } +                        } +                    }, +                    { +                        "type": "ConfigChange" +                    } +                ], +                "replicas": 1, +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}-postgresql" +                }, +                "template": { +                    "metadata": { +                        "name": "${APPLICATION_NAME}-postgresql", +                        "labels": { +                            "deploymentConfig": "${APPLICATION_NAME}-postgresql", +                            "application": "${APPLICATION_NAME}" +                        } +                    }, +                    "spec": { +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}-postgresql", +                                "image": "postgresql", +                                "imagePullPolicy": "Always", +                                "ports": [ +                                    { +                                        "containerPort": 5432, +                                        "protocol": "TCP" +                                    } +                                ], +                                "volumeMounts": [ +                                    { +                                        "mountPath": "/var/lib/pgsql/data", +                                        "name": "${APPLICATION_NAME}-postgresql-pvol" +                                    } +                                ], +                                "env": [ +                                    { +                                        "name": "POSTGRESQL_USER", +                                        "value": "${DB_USERNAME}" +                                    }, +                                    { +                                        "name": "POSTGRESQL_PASSWORD", +                                        "value": "${DB_PASSWORD}" +                                    }, +                                    { +                                        "name": "POSTGRESQL_DATABASE", +                                        "value": "${DB_DATABASE}" +                                    }, +                                    { +                                        "name": "POSTGRESQL_MAX_CONNECTIONS", +                                        "value": "${POSTGRESQL_MAX_CONNECTIONS}" +                                    }, +                                    { +                                        "name": "POSTGRESQL_SHARED_BUFFERS", +                                        "value": "${POSTGRESQL_SHARED_BUFFERS}" +                                    } +                                ] +                            } +                        ], +                        "volumes": [ +                            { +                                "name": "${APPLICATION_NAME}-postgresql-pvol", +                                "persistentVolumeClaim": { +                                    "claimName": "${APPLICATION_NAME}-postgresql-claim" +                                } +                            } +                        ] +                    } +                } +            } +        }, +        { +            "apiVersion": "v1", +            "kind": "PersistentVolumeClaim", +            "metadata": { +                "name": "${APPLICATION_NAME}-postgresql-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/datagrid65-postgresql.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-postgresql.json new file mode 100644 index 000000000..9dd378f92 --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/datagrid65-postgresql.json @@ -0,0 +1,712 @@ +{ +    "kind": "Template", +    "apiVersion": "v1", +    "metadata": { +        "annotations": { +            "iconClass": "icon-jboss", +            "description": "Application template for JDG 6.5 and PostgreSQL applications built using.", +            "tags": "datagrid,jboss,xpaas", +            "version": "1.2.0" +        }, +        "name": "datagrid65-postgresql" +    }, +    "labels": { +        "template": "datagrid65-postgresql", +        "xpaas": "1.2.0" +    }, +    "parameters": [ +        { +            "description": "The name for the application.", +            "name": "APPLICATION_NAME", +            "value": "datagrid-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": "User name for JDG user.", +            "name": "USERNAME", +            "value": "", +            "required": false +        }, +        { +            "description": "Password for JDG user.", +            "name": "PASSWORD", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "HTTPS_SECRET", +            "value": "datagrid-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": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/postgresql", +            "name": "DB_JNDI", +            "value": "java:jboss/datasources/postgresql", +            "required": false +        }, +        { +            "description": "Database name", +            "name": "DB_DATABASE", +            "value": "root", +            "required": true +        }, +        { +            "description": "Database user name", +            "name": "DB_USERNAME", +            "from": "user[a-zA-Z0-9]{3}", +            "generate": "expression", +            "required": true +        }, +        { +            "description": "Database user password", +            "name": "DB_PASSWORD", +            "from": "[a-zA-Z0-9]{8}", +            "generate": "expression", +            "required": true +        }, +        { +            "description": "Sets xa-pool/min-pool-size for the configured datasource.", +            "name": "DB_MIN_POOL_SIZE", +            "required": false +        }, +        { +            "description": "Sets xa-pool/max-pool-size for the configured datasource.", +            "name": "DB_MAX_POOL_SIZE", +            "required": false +        }, +        { +            "description": "Sets transaction-isolation for the configured datasource.", +            "name": "DB_TX_ISOLATION", +            "required": false +        }, +        { +            "description": "The maximum number of client connections allowed. This also sets the maximum number of prepared transactions.", +            "name": "POSTGRESQL_MAX_CONNECTIONS", +            "required": false +        }, +        { +            "description": "Configures how much memory is dedicated to PostgreSQL for caching data.", +            "name": "POSTGRESQL_SHARED_BUFFERS", +            "required": false +        }, +        { +            "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": "Comma-separated list of connector types that should be configured (defaults to 'memcached,hotrod,rest')", +            "name": "INFINISPAN_CONNECTORS", +            "value": "hotrod,memcached,rest", +            "required": false +        }, +        { +            "description": "Comma-separated list of caches to configure.  By default, a distributed-cache, with a mode of SYNC will be configurd for each entry.", +            "name": "CACHE_NAMES", +            "value": "", +            "required": false +        }, +        { +            "description": "", +            "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the cache to expose through this memcached connector (defaults to 'default')", +            "name": "MEMCACHED_CACHE", +            "value": "default", +            "required": false +        }, +        { +            "description": "The domain, declared in the security subsystem, that should be used to authenticate access to the REST endpoint", +            "name": "REST_SECURITY_DOMAIN", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "JGROUPS_ENCRYPT_SECRET", +            "value": "datagrid-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": 11211, +                        "targetPort": 11211 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-memcached", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Memcached service for clustered applications." +                } +            } +        }, +        { +            "kind": "Service", +            "apiVersion": "v1", +            "spec": { +                "ports": [ +                    { +                        "port": 11333, +                        "targetPort": 11333 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-hotrod", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "Hot Rod service for clustered applications." +                } +            } +        }, +        { +            "kind": "Service", +            "apiVersion": "v1", +            "spec": { +                "ports": [ +                    { +                        "port": 5432, +                        "targetPort": 5432 +                    } +                ], +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}-postgresql" +                } +            }, +            "metadata": { +                "name": "${APPLICATION_NAME}-postgresql", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                }, +                "annotations": { +                    "description": "The database server's 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": "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": "ImageStreamTag", +                                "namespace": "${IMAGE_STREAM_NAMESPACE}", +                                "name": "jboss-datagrid65-openshift:1.2" +                            } +                        } +                    }, +                    { +                        "type": "ConfigChange" +                    } +                ], +                "replicas": 1, +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}" +                }, +                "template": { +                    "metadata": { +                        "name": "${APPLICATION_NAME}", +                        "labels": { +                            "deploymentConfig": "${APPLICATION_NAME}", +                            "application": "${APPLICATION_NAME}" +                        } +                    }, +                    "spec": { +                        "serviceAccount": "datagrid-service-account", +                        "terminationGracePeriodSeconds": 60, +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}", +                                "image": "jboss-datagrid65-openshift", +                                "imagePullPolicy": "Always", +                                "volumeMounts": [ +                                    { +                                        "name": "datagrid-keystore-volume", +                                        "mountPath": "/etc/datagrid-secret-volume", +                                        "readOnly": true +                                    }, +                                    { +                                        "name": "datagrid-jgroups-keystore-volume", +                                        "mountPath": "/etc/jgroups-encrypt-secret-volume", +                                        "readOnly": true +                                    } +                                ], +                                "livenessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/bin/livenessProbe.sh" +                                        ] +                                    } +                                }, +                                "readinessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/datagrid/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" +                                    }, +                                    { +                                        "name": "memcached", +                                        "containerPort": 11211, +                                        "protocol": "TCP" +                                    }, +                                    { +                                        "name": "hotrod", +                                        "containerPort": 11222, +                                        "protocol": "TCP" +                                    } +                                ], +                                "env": [ +                                    { +                                        "name": "USERNAME", +                                        "value": "${USERNAME}" +                                    }, +                                    { +                                        "name": "PASSWORD", +                                        "value": "${PASSWORD}" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE_DIR", +                                        "value": "/etc/datagrid-secret-volume" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}" +                                    }, +                                    { +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}" +                                    }, +                                    { +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}" +                                    }, +                                    { +                                        "name": "DB_SERVICE_PREFIX_MAPPING", +                                        "value": "${APPLICATION_NAME}-postgresql=DB" +                                    }, +                                    { +                                        "name": "DB_JNDI", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "DB_USERNAME", +                                        "value": "${DB_USERNAME}" +                                    }, +                                    { +                                        "name": "DB_PASSWORD", +                                        "value": "${DB_PASSWORD}" +                                    }, +                                    { +                                        "name": "DB_DATABASE", +                                        "value": "${DB_DATABASE}" +                                    }, +                                    { +                                        "name": "TX_DATABASE_PREFIX_MAPPING", +                                        "value": "${APPLICATION_NAME}-postgresql=DB" +                                    }, +                                    { +                                        "name": "DB_MIN_POOL_SIZE", +                                        "value": "${DB_MIN_POOL_SIZE}" +                                    }, +                                    { +                                        "name": "DB_MAX_POOL_SIZE", +                                        "value": "${DB_MAX_POOL_SIZE}" +                                    }, +                                    { +                                        "name": "DB_TX_ISOLATION", +                                        "value": "${DB_TX_ISOLATION}" +                                    }, +                                    { +                                        "name": "DEFAULT_JDBC_STORE_TYPE", +                                        "value": "string" +                                    }, +                                    { +                                        "name": "DEFAULT_JDBC_STORE_DATASOURCE", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "MEMCACHED_JDBC_STORE_TYPE", +                                        "value": "string" +                                    }, +                                    { +                                        "name": "MEMCACHED_JDBC_STORE_DATASOURCE", +                                        "value": "${DB_JNDI}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_LABELS", +                                        "value": "application=${APPLICATION_NAME}" +                                    }, +                                    { +                                        "name": "OPENSHIFT_KUBE_PING_NAMESPACE", +                                        "valueFrom": { +                                            "fieldRef": { +                                                "fieldPath": "metadata.namespace" +                                            } +                                        } +                                    }, +                                    { +                                        "name": "INFINISPAN_CONNECTORS", +                                        "value": "${INFINISPAN_CONNECTORS}" +                                    }, +                                    { +                                        "name": "CACHE_NAMES", +                                        "value": "${CACHE_NAMES}" +                                    }, +                                    { +                                        "name": "ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH", +                                        "value": "${ENCRYPTION_REQUIRE_SSL_CLIENT_AUTH}" +                                    }, +                                    { +                                        "name": "HOTROD_SERVICE_NAME", +                                        "value": "${APPLICATION_NAME}-hotrod" +                                    }, +                                    { +                                        "name": "MEMCACHED_CACHE", +                                        "value": "${MEMCACHED_CACHE}" +                                    }, +                                    { +                                        "name": "REST_SECURITY_DOMAIN", +                                        "value": "${REST_SECURITY_DOMAIN}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_SECRET", +                                        "value": "${JGROUPS_ENCRYPT_SECRET}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE", +                                        "value": "${JGROUPS_ENCRYPT_KEYSTORE}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE_DIR", +                                        "value": "/etc/jgroups-encrypt-secret-volume" +                                    }, +                                    { +                                        "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": "datagrid-keystore-volume", +                                "secret": { +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "datagrid-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}" +                                } +                            } +                        ] +                    } +                } +            } +        }, +        { +            "kind": "DeploymentConfig", +            "apiVersion": "v1", +            "metadata": { +                "name": "${APPLICATION_NAME}-postgresql", +                "labels": { +                    "application": "${APPLICATION_NAME}" +                } +            }, +            "spec": { +                "strategy": { +                    "type": "Recreate" +                }, +                "triggers": [ +                    { +                        "type": "ImageChange", +                        "imageChangeParams": { +                            "automatic": true, +                            "containerNames": [ +                                "${APPLICATION_NAME}-postgresql" +                            ], +                            "from": { +                                "kind": "ImageStreamTag", +                                "namespace": "${IMAGE_STREAM_NAMESPACE}", +                                "name": "postgresql:latest" +                            } +                        } +                    }, +                    { +                        "type": "ConfigChange" +                    } +                ], +                "replicas": 1, +                "selector": { +                    "deploymentConfig": "${APPLICATION_NAME}-postgresql" +                }, +                "template": { +                    "metadata": { +                        "name": "${APPLICATION_NAME}-postgresql", +                        "labels": { +                            "deploymentConfig": "${APPLICATION_NAME}-postgresql", +                            "application": "${APPLICATION_NAME}" +                        } +                    }, +                    "spec": { +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}-postgresql", +                                "image": "postgresql", +                                "imagePullPolicy": "Always", +                                "ports": [ +                                    { +                                        "containerPort": 5432, +                                        "protocol": "TCP" +                                    } +                                ], +                                "env": [ +                                    { +                                        "name": "POSTGRESQL_USER", +                                        "value": "${DB_USERNAME}" +                                    }, +                                    { +                                        "name": "POSTGRESQL_PASSWORD", +                                        "value": "${DB_PASSWORD}" +                                    }, +                                    { +                                        "name": "POSTGRESQL_DATABASE", +                                        "value": "${DB_DATABASE}" +                                    }, +                                    { +                                        "name": "POSTGRESQL_MAX_CONNECTIONS", +                                        "value": "${POSTGRESQL_MAX_CONNECTIONS}" +                                    }, +                                    { +                                        "name": "POSTGRESQL_SHARED_BUFFERS", +                                        "value": "${POSTGRESQL_SHARED_BUFFERS}" +                                    } +                                ] +                            } +                        ] +                    } +                } +            } +        } +    ] +} 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 new file mode 100644 index 000000000..0c82eaa61 --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/decisionserver62-amq-s2i.json @@ -0,0 +1,684 @@ +{ +    "kind": "Template", +    "apiVersion": "v1", +    "metadata": { +        "annotations": { +            "description": "Application template for BRMS Realtime Decision Server 6 A-MQ applications built using S2I.", +            "iconClass": "icon-jboss", +            "tags": "decisionserver,amq,java,messaging,jboss,xpaas", +            "version": "1.2.0" +        }, +        "name": "decisionserver62-amq-s2i" +    }, +    "labels": { +        "template": "decisionserver62-amq-s2i", +        "xpaas": "1.2.0" +    }, +    "parameters": [ +        { +            "description": "The KIE Container deployment configuration in format: containerId=groupId:artifactId:version|c2=g2:a2:v2", +            "name": "KIE_CONTAINER_DEPLOYMENT", +            "value": "HelloRulesContainer=org.openshift.quickstarts:decisionserver-hellorules:1.2.0.Final", +            "required": false +        }, +        { +            "description": "The user name to access the KIE Server REST or JMS interface.", +            "name": "KIE_SERVER_USER", +            "value": "kieserver", +            "required": false +        }, +        { +            "description": "The password to access the KIE Server REST or JMS interface. Must be different than username; must not be root, admin, or administrator; must contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), and 1 non-alphanumeric symbol(s).", +            "name": "KIE_SERVER_PASSWORD", +            "from": "[a-zA-Z]{6}[0-9]{1}!", +            "generate": "expression", +            "required": false +        }, +        { +            "description": "JAAS LoginContext domain that shall be used to authenticate users when using JMS.", +            "name": "KIE_SERVER_DOMAIN", +            "value": "other", +            "required": false +        }, +        { +            "description": "JNDI name of response queue for JMS.", +            "name": "KIE_SERVER_JMS_QUEUES_RESPONSE", +            "value": "queue/KIE.SERVER.RESPONSE", +            "required": false +        }, +        { +            "description": "The name for the application.", +            "name": "APPLICATION_NAME", +            "value": "kie-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.2", +            "required": false +        }, +        { +            "description": "Path within Git project to build; empty for root project directory.", +            "name": "CONTEXT_DIR", +            "value": "decisionserver/hellorules", +            "required": false +        }, +        { +            "description": "JNDI name for connection factory used by applications to connect to the broker, e.g. java:/JmsXA", +            "name": "MQ_JNDI", +            "value": "java:/JmsXA", +            "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": "KIE.SERVER.REQUEST,KIE.SERVER.RESPONSE", +            "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": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "HTTPS_SECRET", +            "value": "decisionserver-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": "jboss", +            "required": false +        }, +        { +            "description": "The password for the keystore and certificate", +            "name": "HTTPS_PASSWORD", +            "value": "mykeystorepass", +            "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 +        } +    ], +    "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": { +                        "env": [ +                            { +                                "name": "KIE_CONTAINER_DEPLOYMENT", +                                "value": "${KIE_CONTAINER_DEPLOYMENT}" +                            } +                        ], +                        "forcePull": true, +                        "from": { +                            "kind": "ImageStreamTag", +                            "namespace": "${IMAGE_STREAM_NAMESPACE}", +                            "name": "jboss-decisionserver62-openshift:1.2" +                        } +                    } +                }, +                "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": { +                        "serviceAccount": "decisionserver-service-account", +                        "terminationGracePeriodSeconds": 60, +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}", +                                "image": "${APPLICATION_NAME}", +                                "imagePullPolicy": "Always", +                                "volumeMounts": [ +                                    { +                                        "name": "decisionserver-keystore-volume", +                                        "mountPath": "/etc/decisionserver-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": "KIE_CONTAINER_DEPLOYMENT", +                                        "value": "${KIE_CONTAINER_DEPLOYMENT}" +                                    }, +                                    { +                                        "name": "KIE_SERVER_USER", +                                        "value": "${KIE_SERVER_USER}" +                                    }, +                                    { +                                        "name": "KIE_SERVER_PASSWORD", +                                        "value": "${KIE_SERVER_PASSWORD}" +                                    }, +                                    { +                                        "name": "KIE_SERVER_DOMAIN", +                                        "value": "${KIE_SERVER_DOMAIN}" +                                    }, +                                    { +                                        "name": "KIE_SERVER_JMS_QUEUES_RESPONSE", +                                        "value": "${KIE_SERVER_JMS_QUEUES_RESPONSE}" +                                    }, +                                    { +                                        "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": "HTTPS_KEYSTORE_DIR", +                                        "value": "/etc/decisionserver-secret-volume" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}" +                                    }, +                                    { +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}" +                                    }, +                                    { +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}" +                                    } +                                ] +                            } +                        ], +                        "volumes": [ +                            { +                                "name": "decisionserver-keystore-volume", +                                "secret": { +                                    "secretName": "${HTTPS_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.2" +                            } +                        } +                    }, +                    { +                        "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": "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/decisionserver62-basic-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/decisionserver62-basic-s2i.json new file mode 100644 index 000000000..097720375 --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/decisionserver62-basic-s2i.json @@ -0,0 +1,344 @@ +{ +    "kind": "Template", +    "apiVersion": "v1", +    "metadata": { +        "annotations": { +            "description": "Application template for BRMS Realtime Decision Server 6 applications built using S2I.", +            "iconClass": "icon-jboss", +            "tags": "decisionserver,java,jboss,xpaas", +            "version": "1.2.0" +        }, +        "name": "decisionserver62-basic-s2i" +    }, +    "labels": { +        "template": "decisionserver62-basic-s2i", +        "xpaas": "1.2.0" +    }, +    "parameters": [ +        { +            "description": "The KIE Container deployment configuration in format: containerId=groupId:artifactId:version|c2=g2:a2:v2", +            "name": "KIE_CONTAINER_DEPLOYMENT", +            "value": "HelloRulesContainer=org.openshift.quickstarts:decisionserver-hellorules:1.2.0.Final", +            "required": false +        }, +        { +            "description": "The user name to access the KIE Server REST or JMS interface.", +            "name": "KIE_SERVER_USER", +            "value": "kieserver", +            "required": false +        }, +        { +            "description": "The password to access the KIE Server REST or JMS interface. Must be different than username; must not be root, admin, or administrator; must contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), and 1 non-alphanumeric symbol(s).", +            "name": "KIE_SERVER_PASSWORD", +            "from": "[a-zA-Z]{6}[0-9]{1}!", +            "generate": "expression", +            "required": false +        }, +        { +            "description": "The name for the application.", +            "name": "APPLICATION_NAME", +            "value": "kie-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": "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.2", +            "required": false +        }, +        { +            "description": "Path within Git project to build; empty for root project directory.", +            "name": "CONTEXT_DIR", +            "value": "decisionserver/hellorules", +            "required": false +        }, +        { +            "description": "Queue names", +            "name": "HORNETQ_QUEUES", +            "value": "", +            "required": false +        }, +        { +            "description": "Topic names", +            "name": "HORNETQ_TOPICS", +            "value": "", +            "required": false +        }, +        { +            "description": "HornetQ cluster admin password", +            "name": "HORNETQ_CLUSTER_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 +        } +    ], +    "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": "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": "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": { +                        "env": [ +                            { +                                "name": "KIE_CONTAINER_DEPLOYMENT", +                                "value": "${KIE_CONTAINER_DEPLOYMENT}" +                            } +                        ], +                        "forcePull": true, +                        "from": { +                            "kind": "ImageStreamTag", +                            "namespace": "${IMAGE_STREAM_NAMESPACE}", +                            "name": "jboss-decisionserver62-openshift:1.2" +                        } +                    } +                }, +                "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": { +                        "terminationGracePeriodSeconds": 60, +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}", +                                "image": "${APPLICATION_NAME}", +                                "imagePullPolicy": "Always", +                                "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": "ping", +                                        "containerPort": 8888, +                                        "protocol": "TCP" +                                    } +                                ], +                                "env": [ +                                    { +                                        "name": "KIE_CONTAINER_DEPLOYMENT", +                                        "value": "${KIE_CONTAINER_DEPLOYMENT}" +                                    }, +                                    { +                                        "name": "KIE_SERVER_USER", +                                        "value": "${KIE_SERVER_USER}" +                                    }, +                                    { +                                        "name": "KIE_SERVER_PASSWORD", +                                        "value": "${KIE_SERVER_PASSWORD}" +                                    }, +                                    { +                                        "name": "HORNETQ_CLUSTER_PASSWORD", +                                        "value": "${HORNETQ_CLUSTER_PASSWORD}" +                                    }, +                                    { +                                        "name": "HORNETQ_QUEUES", +                                        "value": "${HORNETQ_QUEUES}" +                                    }, +                                    { +                                        "name": "HORNETQ_TOPICS", +                                        "value": "${HORNETQ_TOPICS}" +                                    } +                                ] +                            } +                        ] +                    } +                } +            } +        } +    ] +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/decisionserver62-https-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/decisionserver62-https-s2i.json new file mode 100644 index 000000000..d0505fc5f --- /dev/null +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/decisionserver62-https-s2i.json @@ -0,0 +1,478 @@ +{ +    "kind": "Template", +    "apiVersion": "v1", +    "metadata": { +        "annotations": { +            "description": "Application template for BRMS Realtime Decision Server 6 HTTPS applications built using S2I.", +            "iconClass": "icon-jboss", +            "tags": "decisionserver,java,jboss,xpaas", +            "version": "1.2.0" +        }, +        "name": "decisionserver62-https-s2i" +    }, +    "labels": { +        "template": "decisionserver62-https-s2i", +        "xpaas": "1.2.0" +    }, +    "parameters": [ +        { +            "description": "The KIE Container deployment configuration in format: containerId=groupId:artifactId:version|c2=g2:a2:v2", +            "name": "KIE_CONTAINER_DEPLOYMENT", +            "value": "HelloRulesContainer=org.openshift.quickstarts:decisionserver-hellorules:1.2.0.Final", +            "required": false +        }, +        { +            "description": "The protocol to access the KIE Server REST interface.", +            "name": "KIE_SERVER_PROTOCOL", +            "value": "https", +            "required": false +        }, +        { +            "description": "The port to access the KIE Server REST interface.", +            "name": "KIE_SERVER_PORT", +            "value": "8443", +            "required": false +        }, +        { +            "description": "The user name to access the KIE Server REST or JMS interface.", +            "name": "KIE_SERVER_USER", +            "value": "kieserver", +            "required": false +        }, +        { +            "description": "The password to access the KIE Server REST or JMS interface. Must be different than username; must not be root, admin, or administrator; must contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), and 1 non-alphanumeric symbol(s).", +            "name": "KIE_SERVER_PASSWORD", +            "from": "[a-zA-Z]{6}[0-9]{1}!", +            "generate": "expression", +            "required": false +        }, +        { +            "description": "The name for the application.", +            "name": "APPLICATION_NAME", +            "value": "kie-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.2", +            "required": false +        }, +        { +            "description": "Path within Git project to build; empty for root project directory.", +            "name": "CONTEXT_DIR", +            "value": "decisionserver/hellorules", +            "required": false +        }, +        { +            "description": "Queue names", +            "name": "HORNETQ_QUEUES", +            "value": "", +            "required": false +        }, +        { +            "description": "Topic names", +            "name": "HORNETQ_TOPICS", +            "value": "", +            "required": false +        }, +        { +            "description": "The name of the secret containing the keystore file", +            "name": "HTTPS_SECRET", +            "value": "decisionserver-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": "jboss", +            "required": false +        }, +        { +            "description": "The password for the keystore and certificate", +            "name": "HTTPS_PASSWORD", +            "value": "mykeystorepass", +            "required": false +        }, +        { +            "description": "HornetQ cluster admin password", +            "name": "HORNETQ_CLUSTER_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 +        } +    ], +    "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": "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": { +                        "env": [ +                            { +                                "name": "KIE_CONTAINER_DEPLOYMENT", +                                "value": "${KIE_CONTAINER_DEPLOYMENT}" +                            } +                        ], +                        "forcePull": true, +                        "from": { +                            "kind": "ImageStreamTag", +                            "namespace": "${IMAGE_STREAM_NAMESPACE}", +                            "name": "jboss-decisionserver62-openshift:1.2" +                        } +                    } +                }, +                "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": { +                        "serviceAccount": "decisionserver-service-account", +                        "terminationGracePeriodSeconds": 60, +                        "containers": [ +                            { +                                "name": "${APPLICATION_NAME}", +                                "image": "${APPLICATION_NAME}", +                                "imagePullPolicy": "Always", +                                "volumeMounts": [ +                                    { +                                        "name": "decisionserver-keystore-volume", +                                        "mountPath": "/etc/decisionserver-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": "KIE_CONTAINER_DEPLOYMENT", +                                        "value": "${KIE_CONTAINER_DEPLOYMENT}" +                                    }, +                                    { +                                        "name": "KIE_SERVER_PROTOCOL", +                                        "value": "${KIE_SERVER_PROTOCOL}" +                                    }, +                                    { +                                        "name": "KIE_SERVER_PORT", +                                        "value": "${KIE_SERVER_PORT}" +                                    }, +                                    { +                                        "name": "KIE_SERVER_USER", +                                        "value": "${KIE_SERVER_USER}" +                                    }, +                                    { +                                        "name": "KIE_SERVER_PASSWORD", +                                        "value": "${KIE_SERVER_PASSWORD}" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE_DIR", +                                        "value": "/etc/decisionserver-secret-volume" +                                    }, +                                    { +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}" +                                    }, +                                    { +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}" +                                    }, +                                    { +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}" +                                    }, +                                    { +                                        "name": "HORNETQ_CLUSTER_PASSWORD", +                                        "value": "${HORNETQ_CLUSTER_PASSWORD}" +                                    }, +                                    { +                                        "name": "HORNETQ_QUEUES", +                                        "value": "${HORNETQ_QUEUES}" +                                    }, +                                    { +                                        "name": "HORNETQ_TOPICS", +                                        "value": "${HORNETQ_TOPICS}" +                                    } +                                ] +                            } +                        ], +                        "volumes": [ +                            { +                                "name": "decisionserver-keystore-volume", +                                "secret": { +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            } +                        ] +                    } +                } +            } +        } +    ] +} 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 2fc3b5b25..4b38dade3 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.1.0" +            "version": "1.2.0"          },          "name": "eap64-amq-persistent-s2i"      },      "labels": {          "template": "eap64-amq-persistent-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,21 +22,27 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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", +            "value": "https://github.com/jboss-developer/jboss-eap-quickstarts.git",              "required": true          },          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "6.4.x",              "required": false          },          { @@ -77,25 +83,25 @@          },          {              "description": "The name of the secret containing the keystore file", -            "name": "EAP_HTTPS_SECRET", +            "name": "HTTPS_SECRET",              "value": "eap-app-secret",              "required": false          },          {              "description": "The name of the keystore file within the secret", -            "name": "EAP_HTTPS_KEYSTORE", +            "name": "HTTPS_KEYSTORE",              "value": "keystore.jks",              "required": false          },          {              "description": "The name associated with the server certificate", -            "name": "EAP_HTTPS_NAME", +            "name": "HTTPS_NAME",              "value": "",              "required": false          },          {              "description": "The password for the keystore and certificate", -            "name": "EAP_HTTPS_PASSWORD", +            "name": "HTTPS_PASSWORD",              "value": "",              "required": false          }, @@ -146,6 +152,37 @@              "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": [ @@ -235,7 +272,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -255,7 +292,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -299,7 +336,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap64-openshift:1.1" +                            "name": "jboss-eap64-openshift:1.2"                          }                      }                  }, @@ -388,8 +425,22 @@                                          "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": [ @@ -401,6 +452,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -458,20 +514,44 @@                                          }                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE_DIR", +                                        "name": "HTTPS_KEYSTORE_DIR",                                          "value": "/etc/eap-secret-volume"                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE", -                                        "value": "${EAP_HTTPS_KEYSTORE}" +                                        "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": "EAP_HTTPS_NAME", -                                        "value": "${EAP_HTTPS_NAME}" +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE", +                                        "value": "${JGROUPS_ENCRYPT_KEYSTORE}"                                      },                                      { -                                        "name": "EAP_HTTPS_PASSWORD", -                                        "value": "${EAP_HTTPS_PASSWORD}" +                                        "name": "JGROUPS_ENCRYPT_NAME", +                                        "value": "${JGROUPS_ENCRYPT_NAME}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_PASSWORD", +                                        "value": "${JGROUPS_ENCRYPT_PASSWORD}" +                                    }, +                                    { +                                        "name": "JGROUPS_CLUSTER_PASSWORD", +                                        "value": "${JGROUPS_CLUSTER_PASSWORD}"                                      }                                  ]                              } @@ -480,7 +560,13 @@                              {                                  "name": "eap-keystore-volume",                                  "secret": { -                                    "secretName": "${EAP_HTTPS_SECRET}" +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "eap-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}"                                  }                              }                          ] @@ -512,7 +598,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.1" +                                "name": "jboss-amq-62:1.2"                              }                          }                      }, @@ -544,7 +630,7 @@                                          "command": [                                              "/bin/bash",                                              "-c", -                                            "curl -s -L -u ${AMQ_ADMIN_USERNAME}:${AMQ_ADMIN_PASSWORD} 'http://localhost:8161/hawtio/jolokia/read/org.apache.activemq:type=Broker,brokerName=*,service=Health/CurrentStatus' | grep -q '\"CurrentStatus\" *: *\"Good\"'" +                                            "/opt/amq/bin/readinessProbe.sh"                                          ]                                      }                                  }, 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 a420bb1ea..d321af9c9 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.1.0" +            "version": "1.2.0"          },          "name": "eap64-amq-s2i"      },      "labels": {          "template": "eap64-amq-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,21 +22,27 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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", +            "value": "https://github.com/jboss-developer/jboss-eap-quickstarts.git",              "required": true          },          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "6.4.x",              "required": false          },          { @@ -71,25 +77,25 @@          },          {              "description": "The name of the secret containing the keystore file", -            "name": "EAP_HTTPS_SECRET", +            "name": "HTTPS_SECRET",              "value": "eap-app-secret",              "required": false          },          {              "description": "The name of the keystore file within the secret", -            "name": "EAP_HTTPS_KEYSTORE", +            "name": "HTTPS_KEYSTORE",              "value": "keystore.jks",              "required": false          },          {              "description": "The name associated with the server certificate", -            "name": "EAP_HTTPS_NAME", +            "name": "HTTPS_NAME",              "value": "",              "required": false          },          {              "description": "The password for the keystore and certificate", -            "name": "EAP_HTTPS_PASSWORD", +            "name": "HTTPS_PASSWORD",              "value": "",              "required": false          }, @@ -140,6 +146,37 @@              "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": [ @@ -229,7 +266,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -249,7 +286,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -293,7 +330,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap64-openshift:1.1" +                            "name": "jboss-eap64-openshift:1.2"                          }                      }                  }, @@ -382,8 +419,22 @@                                          "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": [ @@ -395,6 +446,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -452,20 +508,44 @@                                          }                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE_DIR", +                                        "name": "HTTPS_KEYSTORE_DIR",                                          "value": "/etc/eap-secret-volume"                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE", -                                        "value": "${EAP_HTTPS_KEYSTORE}" +                                        "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": "EAP_HTTPS_NAME", -                                        "value": "${EAP_HTTPS_NAME}" +                                        "name": "JGROUPS_ENCRYPT_KEYSTORE", +                                        "value": "${JGROUPS_ENCRYPT_KEYSTORE}"                                      },                                      { -                                        "name": "EAP_HTTPS_PASSWORD", -                                        "value": "${EAP_HTTPS_PASSWORD}" +                                        "name": "JGROUPS_ENCRYPT_NAME", +                                        "value": "${JGROUPS_ENCRYPT_NAME}" +                                    }, +                                    { +                                        "name": "JGROUPS_ENCRYPT_PASSWORD", +                                        "value": "${JGROUPS_ENCRYPT_PASSWORD}" +                                    }, +                                    { +                                        "name": "JGROUPS_CLUSTER_PASSWORD", +                                        "value": "${JGROUPS_CLUSTER_PASSWORD}"                                      }                                  ]                              } @@ -474,7 +554,13 @@                              {                                  "name": "eap-keystore-volume",                                  "secret": { -                                    "secretName": "${EAP_HTTPS_SECRET}" +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "eap-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}"                                  }                              }                          ] @@ -506,7 +592,7 @@                              "from": {                                  "kind": "ImageStreamTag",                                  "namespace": "${IMAGE_STREAM_NAMESPACE}", -                                "name": "jboss-amq-62:1.1" +                                "name": "jboss-amq-62:1.2"                              }                          }                      }, @@ -538,7 +624,7 @@                                          "command": [                                              "/bin/bash",                                              "-c", -                                            "curl -s -L -u ${AMQ_ADMIN_USERNAME}:${AMQ_ADMIN_PASSWORD} 'http://localhost:8161/hawtio/jolokia/read/org.apache.activemq:type=Broker,brokerName=*,service=Health/CurrentStatus' | grep -q '\"CurrentStatus\" *: *\"Good\"'" +                                            "/opt/amq/bin/readinessProbe.sh"                                          ]                                      }                                  }, diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-basic-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-basic-s2i.json index 3f90eb8be..2e3849e2a 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-basic-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-jboss",              "description": "Application template for EAP 6 applications built using S2I.",              "tags": "eap,javaee,java,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "eap64-basic-s2i"      },      "labels": {          "template": "eap64-basic-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,8 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -83,6 +83,13 @@              "name": "IMAGE_STREAM_NAMESPACE",              "value": "openshift",              "required": true +        }, +        { +            "description": "JGroups cluster password", +            "name": "JGROUPS_CLUSTER_PASSWORD", +            "from": "[a-zA-Z0-9]{8}", +            "generate": "expression", +            "required": true          }      ],      "objects": [ @@ -124,7 +131,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -165,7 +172,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap64-openshift:1.1" +                            "name": "jboss-eap64-openshift:1.2"                          }                      }                  }, @@ -248,6 +255,15 @@                                  "name": "${APPLICATION_NAME}",                                  "image": "${APPLICATION_NAME}",                                  "imagePullPolicy": "Always", +                                "livenessProbe": { +                                    "exec": { +                                        "command": [ +                                            "/bin/bash", +                                            "-c", +                                            "/opt/eap/bin/livenessProbe.sh" +                                        ] +                                    } +                                },                                  "readinessProbe": {                                      "exec": {                                          "command": [ @@ -259,6 +275,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -293,6 +314,10 @@                                      {                                          "name": "HORNETQ_TOPICS",                                          "value": "${HORNETQ_TOPICS}" +                                    }, +                                    { +                                        "name": "JGROUPS_CLUSTER_PASSWORD", +                                        "value": "${JGROUPS_CLUSTER_PASSWORD}"                                      }                                  ]                              } @@ -302,4 +327,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-https-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-https-s2i.json index 220d2f5b9..54514cb6b 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-https-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-https-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-jboss",              "description": "Application template for EAP 6 applications built using S2I.",              "tags": "eap,javaee,java,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "eap64-https-s2i"      },      "labels": {          "template": "eap64-https-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -59,25 +65,25 @@          },          {              "description": "The name of the secret containing the keystore file", -            "name": "EAP_HTTPS_SECRET", +            "name": "HTTPS_SECRET",              "value": "eap-app-secret",              "required": true          },          {              "description": "The name of the keystore file within the secret", -            "name": "EAP_HTTPS_KEYSTORE", +            "name": "HTTPS_KEYSTORE",              "value": "keystore.jks",              "required": false          },          {              "description": "The name associated with the server certificate", -            "name": "EAP_HTTPS_NAME", +            "name": "HTTPS_NAME",              "value": "",              "required": false          },          {              "description": "The password for the keystore and certificate", -            "name": "EAP_HTTPS_PASSWORD", +            "name": "HTTPS_PASSWORD",              "value": "",              "required": false          }, @@ -107,6 +113,37 @@              "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": [ @@ -172,7 +209,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -192,7 +229,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -236,7 +273,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap64-openshift:1.1" +                            "name": "jboss-eap64-openshift:1.2"                          }                      }                  }, @@ -325,8 +362,22 @@                                          "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": [ @@ -338,6 +389,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -367,20 +423,20 @@                                          }                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE_DIR", +                                        "name": "HTTPS_KEYSTORE_DIR",                                          "value": "/etc/eap-secret-volume"                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE", -                                        "value": "${EAP_HTTPS_KEYSTORE}" +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}"                                      },                                      { -                                        "name": "EAP_HTTPS_NAME", -                                        "value": "${EAP_HTTPS_NAME}" +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}"                                      },                                      { -                                        "name": "EAP_HTTPS_PASSWORD", -                                        "value": "${EAP_HTTPS_PASSWORD}" +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}"                                      },                                      {                                          "name": "HORNETQ_CLUSTER_PASSWORD", @@ -393,6 +449,30 @@                                      {                                          "name": "HORNETQ_TOPICS",                                          "value": "${HORNETQ_TOPICS}" +                                    }, +                                    { +                                        "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}"                                      }                                  ]                              } @@ -401,7 +481,13 @@                              {                                  "name": "eap-keystore-volume",                                  "secret": { -                                    "secretName": "${EAP_HTTPS_SECRET}" +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "eap-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}"                                  }                              }                          ] @@ -410,4 +496,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mongodb-persistent-s2i.json index a1a3a9f2c..2c0f21ae3 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mongodb-persistent-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 6 MongDB applications with persistent storage built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mongodb,javaee,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "eap64-mongodb-persistent-s2i"      },      "labels": {          "template": "eap64-mongodb-persistent-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -77,25 +83,25 @@          },          {              "description": "The name of the secret containing the keystore file", -            "name": "EAP_HTTPS_SECRET", +            "name": "HTTPS_SECRET",              "value": "eap-app-secret",              "required": false          },          {              "description": "The name of the keystore file within the secret", -            "name": "EAP_HTTPS_KEYSTORE", +            "name": "HTTPS_KEYSTORE",              "value": "keystore.jks",              "required": false          },          {              "description": "The name associated with the server certificate", -            "name": "EAP_HTTPS_NAME", +            "name": "HTTPS_NAME",              "value": "",              "required": false          },          {              "description": "The password for the keystore and certificate", -            "name": "EAP_HTTPS_PASSWORD", +            "name": "HTTPS_PASSWORD",              "value": "",              "required": false          }, @@ -176,6 +182,37 @@              "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": [ @@ -265,7 +302,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -285,7 +322,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -329,7 +366,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap64-openshift:1.1" +                            "name": "jboss-eap64-openshift:1.2"                          }                      }                  }, @@ -418,8 +455,22 @@                                          "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": [ @@ -431,6 +482,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -496,20 +552,20 @@                                          }                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE_DIR", +                                        "name": "HTTPS_KEYSTORE_DIR",                                          "value": "/etc/eap-secret-volume"                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE", -                                        "value": "${EAP_HTTPS_KEYSTORE}" +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}"                                      },                                      { -                                        "name": "EAP_HTTPS_NAME", -                                        "value": "${EAP_HTTPS_NAME}" +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}"                                      },                                      { -                                        "name": "EAP_HTTPS_PASSWORD", -                                        "value": "${EAP_HTTPS_PASSWORD}" +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}"                                      },                                      {                                          "name": "HORNETQ_CLUSTER_PASSWORD", @@ -522,6 +578,30 @@                                      {                                          "name": "HORNETQ_TOPICS",                                          "value": "${HORNETQ_TOPICS}" +                                    }, +                                    { +                                        "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}"                                      }                                  ]                              } @@ -530,7 +610,13 @@                              {                                  "name": "eap-keystore-volume",                                  "secret": { -                                    "secretName": "${EAP_HTTPS_SECRET}" +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "eap-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}"                                  }                              }                          ] @@ -666,4 +752,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mongodb-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mongodb-s2i.json index dfd1443ed..6f604d29e 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mongodb-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 6 MongDB applications built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mongodb,javaee,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "eap64-mongodb-s2i"      },      "labels": {          "template": "eap64-mongodb-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -71,25 +77,25 @@          },          {              "description": "The name of the secret containing the keystore file", -            "name": "EAP_HTTPS_SECRET", +            "name": "HTTPS_SECRET",              "value": "eap-app-secret",              "required": false          },          {              "description": "The name of the keystore file within the secret", -            "name": "EAP_HTTPS_KEYSTORE", +            "name": "HTTPS_KEYSTORE",              "value": "keystore.jks",              "required": false          },          {              "description": "The name associated with the server certificate", -            "name": "EAP_HTTPS_NAME", +            "name": "HTTPS_NAME",              "value": "",              "required": false          },          {              "description": "The password for the keystore and certificate", -            "name": "EAP_HTTPS_PASSWORD", +            "name": "HTTPS_PASSWORD",              "value": "",              "required": false          }, @@ -170,6 +176,37 @@              "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": [ @@ -259,7 +296,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -279,7 +316,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -323,7 +360,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap64-openshift:1.1" +                            "name": "jboss-eap64-openshift:1.2"                          }                      }                  }, @@ -412,8 +449,22 @@                                          "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": [ @@ -425,6 +476,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -490,20 +546,20 @@                                          }                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE_DIR", +                                        "name": "HTTPS_KEYSTORE_DIR",                                          "value": "/etc/eap-secret-volume"                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE", -                                        "value": "${EAP_HTTPS_KEYSTORE}" +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}"                                      },                                      { -                                        "name": "EAP_HTTPS_NAME", -                                        "value": "${EAP_HTTPS_NAME}" +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}"                                      },                                      { -                                        "name": "EAP_HTTPS_PASSWORD", -                                        "value": "${EAP_HTTPS_PASSWORD}" +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}"                                      },                                      {                                          "name": "HORNETQ_CLUSTER_PASSWORD", @@ -516,6 +572,30 @@                                      {                                          "name": "HORNETQ_TOPICS",                                          "value": "${HORNETQ_TOPICS}" +                                    }, +                                    { +                                        "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}"                                      }                                  ]                              } @@ -524,7 +604,13 @@                              {                                  "name": "eap-keystore-volume",                                  "secret": { -                                    "secretName": "${EAP_HTTPS_SECRET}" +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "eap-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}"                                  }                              }                          ] @@ -626,4 +712,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mysql-persistent-s2i.json index fdd368a5f..d2631580b 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mysql-persistent-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 6 MySQL applications with persistent storage built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mysql,javaee,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "eap64-mysql-persistent-s2i"      },      "labels": {          "template": "eap64-mysql-persistent-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -77,25 +83,25 @@          },          {              "description": "The name of the secret containing the keystore file", -            "name": "EAP_HTTPS_SECRET", +            "name": "HTTPS_SECRET",              "value": "eap-app-secret",              "required": false          },          {              "description": "The name of the keystore file within the secret", -            "name": "EAP_HTTPS_KEYSTORE", +            "name": "HTTPS_KEYSTORE",              "value": "keystore.jks",              "required": false          },          {              "description": "The name associated with the server certificate", -            "name": "EAP_HTTPS_NAME", +            "name": "HTTPS_NAME",              "value": "",              "required": false          },          {              "description": "The password for the keystore and certificate", -            "name": "EAP_HTTPS_PASSWORD", +            "name": "HTTPS_PASSWORD",              "value": "",              "required": false          }, @@ -179,6 +185,37 @@              "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": [ @@ -268,7 +305,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -288,7 +325,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -332,7 +369,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap64-openshift:1.1" +                            "name": "jboss-eap64-openshift:1.2"                          }                      }                  }, @@ -421,8 +458,22 @@                                          "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": [ @@ -434,6 +485,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -499,20 +555,20 @@                                          }                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE_DIR", +                                        "name": "HTTPS_KEYSTORE_DIR",                                          "value": "/etc/eap-secret-volume"                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE", -                                        "value": "${EAP_HTTPS_KEYSTORE}" +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}"                                      },                                      { -                                        "name": "EAP_HTTPS_NAME", -                                        "value": "${EAP_HTTPS_NAME}" +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}"                                      },                                      { -                                        "name": "EAP_HTTPS_PASSWORD", -                                        "value": "${EAP_HTTPS_PASSWORD}" +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}"                                      },                                      {                                          "name": "HORNETQ_CLUSTER_PASSWORD", @@ -525,6 +581,30 @@                                      {                                          "name": "HORNETQ_TOPICS",                                          "value": "${HORNETQ_TOPICS}" +                                    }, +                                    { +                                        "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}"                                      }                                  ]                              } @@ -533,7 +613,13 @@                              {                                  "name": "eap-keystore-volume",                                  "secret": { -                                    "secretName": "${EAP_HTTPS_SECRET}" +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "eap-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}"                                  }                              }                          ] @@ -673,4 +759,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mysql-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mysql-s2i.json index ff6bdc112..ba6a32fec 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-mysql-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 6 MySQL applications built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,mysql,javaee,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "eap64-mysql-s2i"      },      "labels": {          "template": "eap64-mysql-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -71,25 +77,25 @@          },          {              "description": "The name of the secret containing the keystore file", -            "name": "EAP_HTTPS_SECRET", +            "name": "HTTPS_SECRET",              "value": "eap-app-secret",              "required": false          },          {              "description": "The name of the keystore file within the secret", -            "name": "EAP_HTTPS_KEYSTORE", +            "name": "HTTPS_KEYSTORE",              "value": "keystore.jks",              "required": false          },          {              "description": "The name associated with the server certificate", -            "name": "EAP_HTTPS_NAME", +            "name": "HTTPS_NAME",              "value": "",              "required": false          },          {              "description": "The password for the keystore and certificate", -            "name": "EAP_HTTPS_PASSWORD", +            "name": "HTTPS_PASSWORD",              "value": "",              "required": false          }, @@ -173,6 +179,37 @@              "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": [ @@ -262,7 +299,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -282,7 +319,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -326,7 +363,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap64-openshift:1.1" +                            "name": "jboss-eap64-openshift:1.2"                          }                      }                  }, @@ -415,8 +452,22 @@                                          "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": [ @@ -428,6 +479,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -493,20 +549,20 @@                                          }                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE_DIR", +                                        "name": "HTTPS_KEYSTORE_DIR",                                          "value": "/etc/eap-secret-volume"                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE", -                                        "value": "${EAP_HTTPS_KEYSTORE}" +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}"                                      },                                      { -                                        "name": "EAP_HTTPS_NAME", -                                        "value": "${EAP_HTTPS_NAME}" +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}"                                      },                                      { -                                        "name": "EAP_HTTPS_PASSWORD", -                                        "value": "${EAP_HTTPS_PASSWORD}" +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}"                                      },                                      {                                          "name": "HORNETQ_CLUSTER_PASSWORD", @@ -519,6 +575,30 @@                                      {                                          "name": "HORNETQ_TOPICS",                                          "value": "${HORNETQ_TOPICS}" +                                    }, +                                    { +                                        "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}"                                      }                                  ]                              } @@ -527,7 +607,13 @@                              {                                  "name": "eap-keystore-volume",                                  "secret": { -                                    "secretName": "${EAP_HTTPS_SECRET}" +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "eap-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}"                                  }                              }                          ] @@ -633,4 +719,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-postgresql-persistent-s2i.json index 6443afdb0..670260769 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-postgresql-persistent-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 6 PostgreSQL applications with persistent storage built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,postgresql,javaee,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "eap64-postgresql-persistent-s2i"      },      "labels": {          "template": "eap64-postgresql-persistent-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -77,25 +83,25 @@          },          {              "description": "The name of the secret containing the keystore file", -            "name": "EAP_HTTPS_SECRET", +            "name": "HTTPS_SECRET",              "value": "eap-app-secret",              "required": false          },          {              "description": "The name of the keystore file within the secret", -            "name": "EAP_HTTPS_KEYSTORE", +            "name": "HTTPS_KEYSTORE",              "value": "keystore.jks",              "required": false          },          {              "description": "The name associated with the server certificate", -            "name": "EAP_HTTPS_NAME", +            "name": "HTTPS_NAME",              "value": "",              "required": false          },          {              "description": "The password for the keystore and certificate", -            "name": "EAP_HTTPS_PASSWORD", +            "name": "HTTPS_PASSWORD",              "value": "",              "required": false          }, @@ -164,6 +170,37 @@              "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": [ @@ -253,7 +290,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -273,7 +310,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -317,7 +354,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap64-openshift:1.1" +                            "name": "jboss-eap64-openshift:1.2"                          }                      }                  }, @@ -406,8 +443,22 @@                                          "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": [ @@ -419,6 +470,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -484,20 +540,20 @@                                          }                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE_DIR", +                                        "name": "HTTPS_KEYSTORE_DIR",                                          "value": "/etc/eap-secret-volume"                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE", -                                        "value": "${EAP_HTTPS_KEYSTORE}" +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}"                                      },                                      { -                                        "name": "EAP_HTTPS_NAME", -                                        "value": "${EAP_HTTPS_NAME}" +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}"                                      },                                      { -                                        "name": "EAP_HTTPS_PASSWORD", -                                        "value": "${EAP_HTTPS_PASSWORD}" +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}"                                      },                                      {                                          "name": "HORNETQ_CLUSTER_PASSWORD", @@ -510,6 +566,30 @@                                      {                                          "name": "HORNETQ_TOPICS",                                          "value": "${HORNETQ_TOPICS}" +                                    }, +                                    { +                                        "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}"                                      }                                  ]                              } @@ -518,7 +598,13 @@                              {                                  "name": "eap-keystore-volume",                                  "secret": { -                                    "secretName": "${EAP_HTTPS_SECRET}" +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "eap-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}"                                  }                              }                          ] @@ -646,4 +732,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-postgresql-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-postgresql-s2i.json index e879e51cf..822731335 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/eap64-postgresql-s2i.json @@ -6,13 +6,13 @@              "description": "Application template for EAP 6 PostgreSQL applications built using S2I.",              "iconClass": "icon-jboss",              "tags": "eap,postgresql,javaee,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "eap64-postgresql-s2i"      },      "labels": {          "template": "eap64-postgresql-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -71,25 +77,25 @@          },          {              "description": "The name of the secret containing the keystore file", -            "name": "EAP_HTTPS_SECRET", +            "name": "HTTPS_SECRET",              "value": "eap-app-secret",              "required": false          },          {              "description": "The name of the keystore file within the secret", -            "name": "EAP_HTTPS_KEYSTORE", +            "name": "HTTPS_KEYSTORE",              "value": "keystore.jks",              "required": false          },          {              "description": "The name associated with the server certificate", -            "name": "EAP_HTTPS_NAME", +            "name": "HTTPS_NAME",              "value": "",              "required": false          },          {              "description": "The password for the keystore and certificate", -            "name": "EAP_HTTPS_PASSWORD", +            "name": "HTTPS_PASSWORD",              "value": "",              "required": false          }, @@ -158,6 +164,37 @@              "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": [ @@ -247,7 +284,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -267,7 +304,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -311,7 +348,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-eap64-openshift:1.1" +                            "name": "jboss-eap64-openshift:1.2"                          }                      }                  }, @@ -400,8 +437,22 @@                                          "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": [ @@ -413,6 +464,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -478,20 +534,20 @@                                          }                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE_DIR", +                                        "name": "HTTPS_KEYSTORE_DIR",                                          "value": "/etc/eap-secret-volume"                                      },                                      { -                                        "name": "EAP_HTTPS_KEYSTORE", -                                        "value": "${EAP_HTTPS_KEYSTORE}" +                                        "name": "HTTPS_KEYSTORE", +                                        "value": "${HTTPS_KEYSTORE}"                                      },                                      { -                                        "name": "EAP_HTTPS_NAME", -                                        "value": "${EAP_HTTPS_NAME}" +                                        "name": "HTTPS_NAME", +                                        "value": "${HTTPS_NAME}"                                      },                                      { -                                        "name": "EAP_HTTPS_PASSWORD", -                                        "value": "${EAP_HTTPS_PASSWORD}" +                                        "name": "HTTPS_PASSWORD", +                                        "value": "${HTTPS_PASSWORD}"                                      },                                      {                                          "name": "HORNETQ_CLUSTER_PASSWORD", @@ -504,6 +560,30 @@                                      {                                          "name": "HORNETQ_TOPICS",                                          "value": "${HORNETQ_TOPICS}" +                                    }, +                                    { +                                        "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}"                                      }                                  ]                              } @@ -512,7 +592,13 @@                              {                                  "name": "eap-keystore-volume",                                  "secret": { -                                    "secretName": "${EAP_HTTPS_SECRET}" +                                    "secretName": "${HTTPS_SECRET}" +                                } +                            }, +                            { +                                "name": "eap-jgroups-keystore-volume", +                                "secret": { +                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}"                                  }                              }                          ] @@ -606,4 +692,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-basic-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-basic-s2i.json index 729079130..376f2f61b 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-basic-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS applications built using S2I.",              "tags": "tomcat,tomcat7,java,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat7-basic-s2i"      },      "labels": {          "template": "jws30-tomcat7-basic-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,8 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +36,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -119,7 +119,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -160,7 +160,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat7-openshift:1.1" +                            "name": "jboss-webserver30-tomcat7-openshift:1.2"                          }                      }                  }, @@ -254,6 +254,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-https-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-https-s2i.json index 7ce7e7fe2..e7bbd1154 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-https-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-https-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS applications built using S2I.",              "tags": "tomcat,tomcat7,java,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat7-https-s2i"      },      "labels": {          "template": "jws30-tomcat7-https-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -167,7 +173,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -187,7 +193,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -231,7 +237,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat7-openshift:1.1" +                            "name": "jboss-webserver30-tomcat7-openshift:1.2"                          }                      }                  }, @@ -333,6 +339,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mongodb-persistent-s2i.json index 9a08ec0b0..3a3ca8e24 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mongodb-persistent-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS MongoDB applications with persistent storage built using S2I.",              "tags": "tomcat,tomcat7,mongodb,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat7-mongodb-persistent-s2i"      },      "labels": {          "template": "jws30-tomcat7-mongodb-persistent-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -260,7 +266,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -280,7 +286,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -324,7 +330,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat7-openshift:1.1" +                            "name": "jboss-webserver30-tomcat7-openshift:1.2"                          }                      }                  }, @@ -426,6 +432,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -640,4 +651,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mongodb-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mongodb-s2i.json index b8dfb3ad3..b3fd295b9 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mongodb-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS MongoDB applications built using S2I.",              "tags": "tomcat,tomcat7,mongodb,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat7-mongodb-s2i"      },      "labels": {          "template": "jws30-tomcat7-mongodb-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -254,7 +260,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -274,7 +280,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -318,7 +324,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat7-openshift:1.1" +                            "name": "jboss-webserver30-tomcat7-openshift:1.2"                          }                      }                  }, @@ -420,6 +426,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -600,4 +611,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mysql-persistent-s2i.json index d36e330d3..b0b2f5ec4 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mysql-persistent-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS MySQL applications with persistent storage built using S2I.",              "tags": "tomcat,tomcat7,mysql,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat7-mysql-persistent-s2i"      },      "labels": {          "template": "jws30-tomcat7-mysql-persistent-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -46,9 +52,9 @@              "required": false          },          { -            "description": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/mongodb", +            "description": "Database JNDI name used by application to resolve the datasource, e.g. jboss/datasources/mysqlDS",              "name": "DB_JNDI", -            "value": "java:jboss/datasources/TodoListDS", +            "value": "jboss/datasources/defaultDS",              "required": false          },          { @@ -263,7 +269,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -283,7 +289,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -327,7 +333,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat7-openshift:1.1" +                            "name": "jboss-webserver30-tomcat7-openshift:1.2"                          }                      }                  }, @@ -429,6 +435,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -642,4 +653,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mysql-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mysql-s2i.json index f5309db60..e48276f1b 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-mysql-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS MySQL applications built using S2I.",              "tags": "tomcat,tomcat7,mysql,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat7-mysql-s2i"      },      "labels": {          "template": "jws30-tomcat7-mysql-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -46,9 +52,9 @@              "required": false          },          { -            "description": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/mongodb", +            "description": "Database JNDI name used by application to resolve the datasource, e.g. jboss/datasources/mysqlDS",              "name": "DB_JNDI", -            "value": "java:jboss/datasources/TodoListDS", +            "value": "jboss/datasources/defaultDS",              "required": false          },          { @@ -257,7 +263,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -277,7 +283,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -321,7 +327,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat7-openshift:1.1" +                            "name": "jboss-webserver30-tomcat7-openshift:1.2"                          }                      }                  }, @@ -423,6 +429,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -602,4 +613,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-postgresql-persistent-s2i.json index ee88a4c69..d7876d066 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-postgresql-persistent-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS PostgreSQL applications with persistent storage built using S2I.",              "tags": "tomcat,tomcat7,postgresql,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat7-postgresql-persistent-s2i"      },      "labels": {          "template": "jws30-tomcat7-postgresql-persistent-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -46,9 +52,9 @@              "required": false          },          { -            "description": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/mongodb", +            "description": "Database JNDI name used by application to resolve the datasource, e.g. jboss/datasources/postgresqlDS",              "name": "DB_JNDI", -            "value": "java:jboss/datasources/TodoListDS", +            "value": "jboss/datasources/defaultDS",              "required": false          },          { @@ -248,7 +254,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -268,7 +274,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -312,7 +318,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat7-openshift:1.1" +                            "name": "jboss-webserver30-tomcat7-openshift:1.2"                          }                      }                  }, @@ -414,6 +420,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -615,4 +626,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-postgresql-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-postgresql-s2i.json index f5940a7a1..5c1bdf6d5 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat7-postgresql-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS PostgreSQL applications built using S2I.",              "tags": "tomcat,tomcat7,postgresql,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat7-postgresql-s2i"      },      "labels": {          "template": "jws30-tomcat7-postgresql-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -46,9 +52,9 @@              "required": false          },          { -            "description": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/mongodb", +            "description": "Database JNDI name used by application to resolve the datasource, e.g. jboss/datasources/postgresqlDS",              "name": "DB_JNDI", -            "value": "java:jboss/datasources/TodoListDS", +            "value": "jboss/datasources/defaultDS",              "required": false          },          { @@ -242,7 +248,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -262,7 +268,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -306,7 +312,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat7-openshift:1.1" +                            "name": "jboss-webserver30-tomcat7-openshift:1.2"                          }                      }                  }, @@ -408,6 +414,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -575,4 +586,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-basic-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-basic-s2i.json index b24ce40ae..b425891c6 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-basic-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-basic-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS applications built using S2I.",              "tags": "tomcat,tomcat8,java,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat8-basic-s2i"      },      "labels": {          "template": "jws30-tomcat8-basic-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,8 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +36,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -119,7 +119,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -160,7 +160,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat8-openshift:1.1" +                            "name": "jboss-webserver30-tomcat8-openshift:1.2"                          }                      }                  }, @@ -254,6 +254,11 @@                                  },                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-https-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-https-s2i.json index 7e788d0db..a20518cbc 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-https-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-https-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS applications built using S2I.",              "tags": "tomcat,tomcat8,java,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat8-https-s2i"      },      "labels": {          "template": "jws30-tomcat8-https-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -167,7 +173,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -187,7 +193,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -231,7 +237,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat8-openshift:1.1" +                            "name": "jboss-webserver30-tomcat8-openshift:1.2"                          }                      }                  }, @@ -333,6 +339,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mongodb-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mongodb-persistent-s2i.json index 2f1d69c75..46b99593d 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mongodb-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mongodb-persistent-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS MongoDB applications with persistent storage built using S2I.",              "tags": "tomcat,tomcat8,mongodb,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat8-mongodb-persistent-s2i"      },      "labels": {          "template": "jws30-tomcat8-mongodb-persistent-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -260,7 +266,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -280,7 +286,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -324,7 +330,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat8-openshift:1.1" +                            "name": "jboss-webserver30-tomcat8-openshift:1.2"                          }                      }                  }, @@ -426,6 +432,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -640,4 +651,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mongodb-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mongodb-s2i.json index bad676f2e..c01b6888a 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mongodb-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mongodb-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS MongoDB applications built using S2I.",              "tags": "tomcat,tomcat8,mongodb,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat8-mongodb-s2i"      },      "labels": {          "template": "jws30-tomcat8-mongodb-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -254,7 +260,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -274,7 +280,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -318,7 +324,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat8-openshift:1.1" +                            "name": "jboss-webserver30-tomcat8-openshift:1.2"                          }                      }                  }, @@ -420,6 +426,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -600,4 +611,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mysql-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mysql-persistent-s2i.json index e20a45982..ebe1dc6af 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mysql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mysql-persistent-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS MySQL applications with persistent storage built using S2I.",              "tags": "tomcat,tomcat8,mysql,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat8-mysql-persistent-s2i"      },      "labels": {          "template": "jws30-tomcat8-mysql-persistent-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -46,9 +52,9 @@              "required": false          },          { -            "description": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/mongodb", +            "description": "Database JNDI name used by application to resolve the datasource, e.g. jboss/datasources/mysqlDS",              "name": "DB_JNDI", -            "value": "java:jboss/datasources/TodoListDS", +            "value": "jboss/datasources/defaultDS",              "required": false          },          { @@ -263,7 +269,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -283,7 +289,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -327,7 +333,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat8-openshift:1.1" +                            "name": "jboss-webserver30-tomcat8-openshift:1.2"                          }                      }                  }, @@ -429,6 +435,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -642,4 +653,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mysql-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mysql-s2i.json index 1b9624756..fe068842a 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mysql-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-mysql-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS MySQL applications built using S2I.",              "tags": "tomcat,tomcat8,mysql,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat8-mysql-s2i"      },      "labels": {          "template": "jws30-tomcat8-mysql-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -46,9 +52,9 @@              "required": false          },          { -            "description": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/mongodb", +            "description": "Database JNDI name used by application to resolve the datasource, e.g. jboss/datasources/mysqlDS",              "name": "DB_JNDI", -            "value": "java:jboss/datasources/TodoListDS", +            "value": "jboss/datasources/defaultDS",              "required": false          },          { @@ -257,7 +263,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -277,7 +283,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -321,7 +327,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat8-openshift:1.1" +                            "name": "jboss-webserver30-tomcat8-openshift:1.2"                          }                      }                  }, @@ -423,6 +429,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -602,4 +613,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-postgresql-persistent-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-postgresql-persistent-s2i.json index dc492a38e..302a55315 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-postgresql-persistent-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-postgresql-persistent-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS PostgreSQL applications with persistent storage built using S2I.",              "tags": "tomcat,tomcat8,postgresql,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat8-postgresql-persistent-s2i"      },      "labels": {          "template": "jws30-tomcat8-postgresql-persistent-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -46,9 +52,9 @@              "required": false          },          { -            "description": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/mongodb", +            "description": "Database JNDI name used by application to resolve the datasource, e.g. jboss/datasources/postgresqlDS",              "name": "DB_JNDI", -            "value": "java:jboss/datasources/TodoListDS", +            "value": "jboss/datasources/defaultDS",              "required": false          },          { @@ -248,7 +254,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -268,7 +274,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -312,7 +318,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat8-openshift:1.1" +                            "name": "jboss-webserver30-tomcat8-openshift:1.2"                          }                      }                  }, @@ -414,6 +420,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -615,4 +626,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-postgresql-s2i.json b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-postgresql-s2i.json index 242b37a79..af2415905 100644 --- a/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-postgresql-s2i.json +++ b/roles/openshift_examples/files/examples/v1.1/xpaas-templates/jws30-tomcat8-postgresql-s2i.json @@ -6,13 +6,13 @@              "iconClass": "icon-tomcat",              "description": "Application template for JWS PostgreSQL applications built using S2I.",              "tags": "tomcat,tomcat8,postgresql,java,database,jboss,xpaas", -            "version": "1.1.0" +            "version": "1.2.0"          },          "name": "jws30-tomcat8-postgresql-s2i"      },      "labels": {          "template": "jws30-tomcat8-postgresql-s2i", -        "xpaas": "1.1.0" +        "xpaas": "1.2.0"      },      "parameters": [          { @@ -22,8 +22,14 @@              "required": true          },          { -            "description": "Custom hostname for service routes.  Leave blank for default hostname, e.g.: <application-name>.<project>.<default-domain-suffix>", -            "name": "APPLICATION_DOMAIN", +            "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          }, @@ -36,7 +42,7 @@          {              "description": "Git branch/tag reference",              "name": "SOURCE_REPOSITORY_REF", -            "value": "1.1", +            "value": "1.2",              "required": false          },          { @@ -46,9 +52,9 @@              "required": false          },          { -            "description": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/mongodb", +            "description": "Database JNDI name used by application to resolve the datasource, e.g. jboss/datasources/postgresqlDS",              "name": "DB_JNDI", -            "value": "java:jboss/datasources/TodoListDS", +            "value": "jboss/datasources/defaultDS",              "required": false          },          { @@ -242,7 +248,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTP}",                  "to": {                      "name": "${APPLICATION_NAME}"                  } @@ -262,7 +268,7 @@                  }              },              "spec": { -                "host": "${APPLICATION_DOMAIN}", +                "host": "${HOSTNAME_HTTPS}",                  "to": {                      "name": "secure-${APPLICATION_NAME}"                  }, @@ -306,7 +312,7 @@                          "from": {                              "kind": "ImageStreamTag",                              "namespace": "${IMAGE_STREAM_NAMESPACE}", -                            "name": "jboss-webserver30-tomcat8-openshift:1.1" +                            "name": "jboss-webserver30-tomcat8-openshift:1.2"                          }                      }                  }, @@ -407,6 +413,11 @@                                  ],                                  "ports": [                                      { +                                        "name": "jolokia", +                                        "containerPort": 8778, +                                        "protocol": "TCP" +                                    }, +                                    {                                          "name": "http",                                          "containerPort": 8080,                                          "protocol": "TCP" @@ -573,4 +584,4 @@              }          }      ] -}
\ No newline at end of file +} diff --git a/roles/os_zabbix/vars/template_docker.yml b/roles/os_zabbix/vars/template_docker.yml index bfabf50c5..a05e552e3 100644 --- a/roles/os_zabbix/vars/template_docker.yml +++ b/roles/os_zabbix/vars/template_docker.yml @@ -12,6 +12,16 @@ g_template_docker:      - Docker Daemon      value_type: int +  - key: docker.container.dns.resolution +    applications: +    - Docker Daemon +    value_type: int + +  - key: docker.container.existing.dns.resolution.failed +    applications: +    - Docker Daemon +    value_type: int +    - key: docker.storage.is_loopback      applications:      - Docker Storage @@ -62,6 +72,16 @@ g_template_docker:      url: 'https://github.com/openshift/ops-sop/blob/master/V3/Alerts/check_docker_ping.asciidoc'      priority: high +  - name: 'docker.container.dns.resolution failed on {HOST.NAME}' +    expression: '{Template Docker:docker.container.dns.resolution.min(#3)}>0' +    url: 'https://github.com/openshift/ops-sop/blob/master/V3/Alerts/check_docker_dns.asciidoc' +    priority: average + +  - name: 'docker.container.existing.dns.resolution.failed on {HOST.NAME}' +    expression: '{Template Docker:docker.container.existing.dns.resolution.failed.min(#3)}>0' +    url: 'https://github.com/openshift/ops-sop/blob/master/V3/Alerts/check_docker_dns.asciidoc' +    priority: average +    - name: 'Docker storage is using LOOPBACK on {HOST.NAME}'      expression: '{Template Docker:docker.storage.is_loopback.last()}<>0'      url: 'https://github.com/openshift/ops-sop/blob/master/V3/Alerts/check_docker_loopback.asciidoc' diff --git a/roles/os_zabbix/vars/template_zagg_server.yml b/roles/os_zabbix/vars/template_zagg_server.yml index 0e8e53bb7..db5665993 100644 --- a/roles/os_zabbix/vars/template_zagg_server.yml +++ b/roles/os_zabbix/vars/template_zagg_server.yml @@ -7,7 +7,12 @@ g_template_zagg_server:      - Zagg Server      value_type: int -  - key: zagg.server.processor.errors +  - key: zagg.server.metrics.errors +    applications: +    - Zagg Server +    value_type: int + +  - key: zagg.server.heartbeat.errors      applications:      - Zagg Server      value_type: int @@ -18,8 +23,13 @@ g_template_zagg_server:      value_type: int    ztriggers: -  - name: 'Error sending metrics on {HOST.NAME}' -    expression: '{Template Zagg Server:zagg.server.processor.errors.min(#3)}>0' +  - name: 'Error processing metrics on {HOST.NAME}' +    expression: '{Template Zagg Server:zagg.server.metrics.errors.min(#3)}>0' +    url: 'https://github.com/openshift/ops-sop/blob/master/V3/Alerts/zagg_server.asciidoc' +    priority: average + +  - name: 'Error processing heartbeats on {HOST.NAME}' +    expression: '{Template Zagg Server:zagg.server.heartbeat.errors.min(#3)}>0'      url: 'https://github.com/openshift/ops-sop/blob/master/V3/Alerts/zagg_server.asciidoc'      priority: average diff --git a/roles/oso_host_monitoring/templates/oso-rhel7-zagg-client.service.j2 b/roles/oso_host_monitoring/templates/oso-rhel7-zagg-client.service.j2 index 978e40b88..bcc8a5e03 100644 --- a/roles/oso_host_monitoring/templates/oso-rhel7-zagg-client.service.j2 +++ b/roles/oso_host_monitoring/templates/oso-rhel7-zagg-client.service.j2 @@ -42,7 +42,7 @@ ExecStart=/usr/bin/docker run --name {{ osohm_zagg_client }}             -v /etc/localtime:/etc/localtime                                                  \             -v /run/pcp:/run/pcp                                                              \             -v /var/run/docker.sock:/var/run/docker.sock                                      \ -           -v /var/run/openvswitch/db.sock:/var/run/openvswitch/db.sock                      \ +           -v /var/run/openvswitch:/var/run/openvswitch                      \  {% if hostvars[inventory_hostname]['ec2_tag_host-type'] == 'master' %}             -v /etc/openshift/master/admin.kubeconfig:/etc/openshift/master/admin.kubeconfig  \             -v /etc/openshift/master/master.etcd-client.crt:/etc/openshift/master/master.etcd-client.crt \  | 
