{
    "apiVersion": "v1",
    "kind": "Template",
    "labels": {
        "template": "decisionserver64-basic-s2i",
        "xpaas": "1.4.17"
    },
    "message": "A new BRMS application has been created in your project. The username/password for accessing the KIE Server REST or JMS interface is ${KIE_SERVER_USER}/${KIE_SERVER_PASSWORD}.",
    "metadata": {
        "annotations": {
            "description": "Application template for Red Hat JBoss BRMS 6.4 decision server applications built using S2I.",
            "iconClass": "icon-decisionserver",
            "openshift.io/display-name": "Red Hat JBoss BRMS 6.4 decision server (no https)",
            "openshift.io/provider-display-name": "Red Hat, Inc.",
            "tags": "decisionserver,jboss,xpaas",
            "template.openshift.io/bindable": "false",
            "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-brms/",
            "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat JBoss BRMS 6.4 decision server, including a build configuration and application deployment configuration.",
            "template.openshift.io/support-url": "https://access.redhat.com",
            "version": "1.4.17"
        },
        "name": "decisionserver64-basic-s2i"
    },
    "objects": [
        {
            "apiVersion": "v1",
            "kind": "Service",
            "metadata": {
                "annotations": {
                    "description": "The web server's http port."
                },
                "labels": {
                    "application": "${APPLICATION_NAME}"
                },
                "name": "${APPLICATION_NAME}"
            },
            "spec": {
                "ports": [
                    {
                        "port": 8080,
                        "targetPort": 8080
                    }
                ],
                "selector": {
                    "deploymentConfig": "${APPLICATION_NAME}"
                }
            }
        },
        {
            "apiVersion": "v1",
            "id": "${APPLICATION_NAME}-http",
            "kind": "Route",
            "metadata": {
                "annotations": {
                    "description": "Route for application's http service."
                },
                "labels": {
                    "application": "${APPLICATION_NAME}"
                },
                "name": "${APPLICATION_NAME}"
            },
            "spec": {
                "host": "${HOSTNAME_HTTP}",
                "to": {
                    "name": "${APPLICATION_NAME}"
                }
            }
        },
        {
            "apiVersion": "v1",
            "kind": "ImageStream",
            "metadata": {
                "labels": {
                    "application": "${APPLICATION_NAME}"
                },
                "name": "${APPLICATION_NAME}"
            }
        },
        {
            "apiVersion": "v1",
            "kind": "BuildConfig",
            "metadata": {
                "annotations": {
                    "template.alpha.openshift.io/wait-for-ready": "true"
                },
                "labels": {
                    "application": "${APPLICATION_NAME}"
                },
                "name": "${APPLICATION_NAME}"
            },
            "spec": {
                "output": {
                    "to": {
                        "kind": "ImageStreamTag",
                        "name": "${APPLICATION_NAME}:latest"
                    }
                },
                "source": {
                    "contextDir": "${CONTEXT_DIR}",
                    "git": {
                        "ref": "${SOURCE_REPOSITORY_REF}",
                        "uri": "${SOURCE_REPOSITORY_URL}"
                    },
                    "type": "Git"
                },
                "strategy": {
                    "sourceStrategy": {
                        "env": [
                            {
                                "name": "KIE_CONTAINER_DEPLOYMENT",
                                "value": "${KIE_CONTAINER_DEPLOYMENT}"
                            },
                            {
                                "name": "MAVEN_MIRROR_URL",
                                "value": "${MAVEN_MIRROR_URL}"
                            },
                            {
                                "name": "ARTIFACT_DIR",
                                "value": "${ARTIFACT_DIR}"
                            }
                        ],
                        "forcePull": true,
                        "from": {
                            "kind": "ImageStreamTag",
                            "name": "jboss-decisionserver64-openshift:1.6",
                            "namespace": "${IMAGE_STREAM_NAMESPACE}"
                        }
                    },
                    "type": "Source"
                },
                "triggers": [
                    {
                        "github": {
                            "secret": "${GITHUB_WEBHOOK_SECRET}"
                        },
                        "type": "GitHub"
                    },
                    {
                        "generic": {
                            "secret": "${GENERIC_WEBHOOK_SECRET}"
                        },
                        "type": "Generic"
                    },
                    {
                        "imageChange": {},
                        "type": "ImageChange"
                    },
                    {
                        "type": "ConfigChange"
                    }
                ]
            }
        },
        {
            "apiVersion": "v1",
            "kind": "DeploymentConfig",
            "metadata": {
                "annotations": {
                    "template.alpha.openshift.io/wait-for-ready": "true"
                },
                "labels": {
                    "application": "${APPLICATION_NAME}",
                    "service": "${APPLICATION_NAME}"
                },
                "name": "${APPLICATION_NAME}"
            },
            "spec": {
                "replicas": 1,
                "selector": {
                    "deploymentConfig": "${APPLICATION_NAME}"
                },
                "strategy": {
                    "type": "Recreate"
                },
                "template": {
                    "metadata": {
                        "labels": {
                            "application": "${APPLICATION_NAME}",
                            "deploymentConfig": "${APPLICATION_NAME}"
                        },
                        "name": "${APPLICATION_NAME}"
                    },
                    "spec": {
                        "containers": [
                            {
                                "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}"
                                    }
                                ],
                                "image": "${APPLICATION_NAME}",
                                "imagePullPolicy": "Always",
                                "livenessProbe": {
                                    "exec": {
                                        "command": [
                                            "/bin/bash",
                                            "-c",
                                            "/opt/eap/bin/livenessProbe.sh"
                                        ]
                                    },
                                    "initialDelaySeconds": 60
                                },
                                "name": "${APPLICATION_NAME}",
                                "ports": [
                                    {
                                        "containerPort": 8778,
                                        "name": "jolokia",
                                        "protocol": "TCP"
                                    },
                                    {
                                        "containerPort": 8080,
                                        "name": "http",
                                        "protocol": "TCP"
                                    }
                                ],
                                "readinessProbe": {
                                    "exec": {
                                        "command": [
                                            "/bin/bash",
                                            "-c",
                                            "/opt/eap/bin/readinessProbe.sh"
                                        ]
                                    }
                                },
                                "resources": {
                                    "limits": {
                                        "memory": "${MEMORY_LIMIT}"
                                    }
                                }
                            }
                        ],
                        "terminationGracePeriodSeconds": 60
                    }
                },
                "triggers": [
                    {
                        "imageChangeParams": {
                            "automatic": true,
                            "containerNames": [
                                "${APPLICATION_NAME}"
                            ],
                            "from": {
                                "kind": "ImageStream",
                                "name": "${APPLICATION_NAME}"
                            }
                        },
                        "type": "ImageChange"
                    },
                    {
                        "type": "ConfigChange"
                    }
                ]
            }
        }
    ],
    "parameters": [
        {
            "description": "The KIE Container deployment configuration in format: containerId=groupId:artifactId:version|c2=g2:a2:v2",
            "displayName": "KIE Container Deployment",
            "name": "KIE_CONTAINER_DEPLOYMENT",
            "required": false,
            "value": "decisionserver-hellorules=org.openshift.quickstarts:decisionserver-hellorules:1.4.0.Final"
        },
        {
            "description": "The user name to access the KIE Server REST or JMS interface.",
            "displayName": "KIE Server Username",
            "name": "KIE_SERVER_USER",
            "required": false,
            "value": "kieserver"
        },
        {
            "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).",
            "displayName": "KIE Server Password",
            "from": "[a-zA-Z]{6}[0-9]{1}!",
            "generate": "expression",
            "name": "KIE_SERVER_PASSWORD",
            "required": false
        },
        {
            "description": "The name for the application.",
            "displayName": "Application Name",
            "name": "APPLICATION_NAME",
            "required": true,
            "value": "kie-app"
        },
        {
            "description": "Custom hostname for http service route.  Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>",
            "displayName": "Custom http Route Hostname",
            "name": "HOSTNAME_HTTP",
            "required": false,
            "value": ""
        },
        {
            "description": "Git source URI for application",
            "displayName": "Git Repository URL",
            "name": "SOURCE_REPOSITORY_URL",
            "required": true,
            "value": "https://github.com/jboss-openshift/openshift-quickstarts.git"
        },
        {
            "description": "Git branch/tag reference",
            "displayName": "Git Reference",
            "name": "SOURCE_REPOSITORY_REF",
            "required": false,
            "value": "1.4"
        },
        {
            "description": "Path within Git project to build; empty for root project directory.",
            "displayName": "Context Directory",
            "name": "CONTEXT_DIR",
            "required": false,
            "value": "decisionserver/hellorules"
        },
        {
            "description": "Queue names",
            "displayName": "Queues",
            "name": "HORNETQ_QUEUES",
            "required": false,
            "value": ""
        },
        {
            "description": "Topic names",
            "displayName": "Topics",
            "name": "HORNETQ_TOPICS",
            "required": false,
            "value": ""
        },
        {
            "description": "HornetQ cluster admin password",
            "displayName": "HornetQ Password",
            "from": "[a-zA-Z0-9]{8}",
            "generate": "expression",
            "name": "HORNETQ_CLUSTER_PASSWORD",
            "required": true
        },
        {
            "description": "GitHub trigger secret",
            "displayName": "Github Webhook Secret",
            "from": "[a-zA-Z0-9]{8}",
            "generate": "expression",
            "name": "GITHUB_WEBHOOK_SECRET",
            "required": true
        },
        {
            "description": "Generic build trigger secret",
            "displayName": "Generic Webhook Secret",
            "from": "[a-zA-Z0-9]{8}",
            "generate": "expression",
            "name": "GENERIC_WEBHOOK_SECRET",
            "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.",
            "displayName": "ImageStream Namespace",
            "name": "IMAGE_STREAM_NAMESPACE",
            "required": true,
            "value": "openshift"
        },
        {
            "description": "Maven mirror to use for S2I builds",
            "displayName": "Maven mirror URL",
            "name": "MAVEN_MIRROR_URL",
            "required": false,
            "value": ""
        },
        {
            "description": "List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.",
            "displayName": "List of directories from which archives will be copied into the deployment folder.",
            "name": "ARTIFACT_DIR",
            "required": false,
            "value": ""
        },
        {
            "description": "Container memory limit",
            "displayName": "Container memory limit",
            "name": "MEMORY_LIMIT",
            "required": false,
            "value": "1Gi"
        }
    ]
}