{
    "apiVersion": "v1",
    "kind": "Template",
    "labels": {
        "jdv64": "1.7.0",
        "template": "datavirt64-secure-s2i"
    },
    "message": "A new data service has been created in your project.  The username/password for accessing the service is ${TEIID_USERNAME}/${TEIID_PASSWORD}.  Please be sure to create the following secrets: \"${CONFIGURATION_NAME}\" containing the datasource configuration details required by the deployed VDB(s); \"${HTTPS_SECRET}\" containing the ${HTTPS_KEYSTORE} file used for serving secure content; \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.",
    "metadata": {
        "annotations": {
            "description": "An example JBoss Data Virtualization application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.",
            "iconClass": "icon-datavirt",
            "openshift.io/display-name": "JBoss Data Virtualization 6.4 (with SSL)",
            "openshift.io/provider-display-name": "Red Hat, Inc.",
            "tags": "jdv,datavirt,database,jboss",
            "template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-data-virtualization/",
            "template.openshift.io/long-description": "This template defines resources needed to develop Red Hat Data Virtualization based application, including a build configuration, application deployment configuration and ability to configure certificates for serving secure content.",
            "template.openshift.io/support-url": "https://access.redhat.com",
            "version": "1.7.0"
        },
        "name": "datavirt64-secure-s2i"
    },
    "objects": [
        {
            "apiVersion": "v1",
            "kind": "Service",
            "metadata": {
                "annotations": {
                    "description": "The data virtualization services."
                },
                "labels": {
                    "application": "${APPLICATION_NAME}"
                },
                "name": "${APPLICATION_NAME}"
            },
            "spec": {
                "ports": [
                    {
                        "name": "http",
                        "port": 8080,
                        "targetPort": "http"
                    },
                    {
                        "name": "https",
                        "port": 8443,
                        "targetPort": "https"
                    },
                    {
                        "name": "jdbc",
                        "port": 31000,
                        "targetPort": "jdbc"
                    },
                    {
                        "name": "jdbcs",
                        "port": 31443,
                        "targetPort": "jdbcs"
                    },
                    {
                        "name": "odbc",
                        "port": 35432,
                        "targetPort": "odbc"
                    },
                    {
                        "name": "odbcs",
                        "port": 35443,
                        "targetPort": "odbcs"
                    }
                ],
                "selector": {
                    "deploymentConfig": "${APPLICATION_NAME}"
                }
            }
        },
        {
            "apiVersion": "v1",
            "kind": "Service",
            "metadata": {
                "annotations": {
                    "description": "The JGroups ping port for clustering.",
                    "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true"
                },
                "labels": {
                    "application": "${APPLICATION_NAME}"
                },
                "name": "${APPLICATION_NAME}-ping"
            },
            "spec": {
                "clusterIP": "None",
                "ports": [
                    {
                        "name": "ping",
                        "port": 8888
                    }
                ],
                "selector": {
                    "deploymentConfig": "${APPLICATION_NAME}"
                }
            }
        },
        {
            "apiVersion": "v1",
            "id": "${APPLICATION_NAME}-http",
            "kind": "Route",
            "metadata": {
                "annotations": {
                    "description": "Route for application's http (REST) service."
                },
                "labels": {
                    "application": "${APPLICATION_NAME}"
                },
                "name": "${APPLICATION_NAME}"
            },
            "spec": {
                "host": "${HOSTNAME_HTTP}",
                "port": {
                    "targetPort": "http"
                },
                "to": {
                    "name": "${APPLICATION_NAME}"
                }
            }
        },
        {
            "apiVersion": "v1",
            "id": "${APPLICATION_NAME}-https",
            "kind": "Route",
            "metadata": {
                "annotations": {
                    "description": "Route for application's https (REST) service."
                },
                "labels": {
                    "application": "${APPLICATION_NAME}"
                },
                "name": "secure-${APPLICATION_NAME}"
            },
            "spec": {
                "host": "${HOSTNAME_HTTPS}",
                "port": {
                    "targetPort": "https"
                },
                "tls": {
                    "termination": "passthrough"
                },
                "to": {
                    "name": "${APPLICATION_NAME}"
                }
            }
        },
        {
            "apiVersion": "v1",
            "id": "${APPLICATION_NAME}-jdbc",
            "kind": "Route",
            "metadata": {
                "annotations": {
                    "description": "Route for application's JDBC service."
                },
                "labels": {
                    "application": "${APPLICATION_NAME}"
                },
                "name": "jdbc-${APPLICATION_NAME}"
            },
            "spec": {
                "host": "${HOSTNAME_JDBC}",
                "port": {
                    "targetPort": "jdbcs"
                },
                "tls": {
                    "termination": "passthrough"
                },
                "to": {
                    "name": "${APPLICATION_NAME}"
                }
            }
        },
        {
            "apiVersion": "v1",
            "kind": "ImageStream",
            "metadata": {
                "labels": {
                    "application": "${APPLICATION_NAME}"
                },
                "name": "${APPLICATION_NAME}"
            }
        },
        {
            "apiVersion": "v1",
            "kind": "BuildConfig",
            "metadata": {
                "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": "MAVEN_MIRROR_URL",
                                "value": "${MAVEN_MIRROR_URL}"
                            },
                            {
                                "name": "CUSTOM_INSTALL_DIRECTORIES",
                                "value": "extensions/*"
                            },
                            {
                                "name": "VDB_DIRS",
                                "value": "${VDB_DIRS}"
                            },
                            {
                                "name": "ARTIFACT_DIR",
                                "value": "${ARTIFACT_DIR}"
                            }
                        ],
                        "forcePull": true,
                        "from": {
                            "kind": "ImageStreamTag",
                            "name": "jboss-datavirt64-openshift:1.7",
                            "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": {
                "labels": {
                    "application": "${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": "JGROUPS_PING_PROTOCOL",
                                        "value": "openshift.DNS_PING"
                                    },
                                    {
                                        "name": "OPENSHIFT_DNS_PING_SERVICE_NAME",
                                        "value": "${APPLICATION_NAME}-ping"
                                    },
                                    {
                                        "name": "OPENSHIFT_DNS_PING_SERVICE_PORT",
                                        "value": "8888"
                                    },
                                    {
                                        "name": "HORNETQ_CLUSTER_PASSWORD",
                                        "value": "${HORNETQ_CLUSTER_PASSWORD}"
                                    },
                                    {
                                        "name": "HORNETQ_QUEUES",
                                        "value": "${HORNETQ_QUEUES}"
                                    },
                                    {
                                        "name": "HORNETQ_TOPICS",
                                        "value": "${HORNETQ_TOPICS}"
                                    },
                                    {
                                        "name": "HTTPS_KEYSTORE_DIR",
                                        "value": "/etc/datavirt-secret-volume"
                                    },
                                    {
                                        "name": "HTTPS_KEYSTORE",
                                        "value": "${HTTPS_KEYSTORE}"
                                    },
                                    {
                                        "name": "HTTPS_KEYSTORE_TYPE",
                                        "value": "${HTTPS_KEYSTORE_TYPE}"
                                    },
                                    {
                                        "name": "HTTPS_NAME",
                                        "value": "${HTTPS_NAME}"
                                    },
                                    {
                                        "name": "HTTPS_PASSWORD",
                                        "value": "${HTTPS_PASSWORD}"
                                    },
                                    {
                                        "name": "JGROUPS_ENCRYPT_SECRET",
                                        "value": "${JGROUPS_ENCRYPT_SECRET}"
                                    },
                                    {
                                        "name": "JGROUPS_ENCRYPT_KEYSTORE_DIR",
                                        "value": "/etc/jgroups-encrypt-secret-volume"
                                    },
                                    {
                                        "name": "JGROUPS_ENCRYPT_KEYSTORE",
                                        "value": "${JGROUPS_ENCRYPT_KEYSTORE}"
                                    },
                                    {
                                        "name": "JGROUPS_ENCRYPT_NAME",
                                        "value": "${JGROUPS_ENCRYPT_NAME}"
                                    },
                                    {
                                        "name": "JGROUPS_ENCRYPT_PASSWORD",
                                        "value": "${JGROUPS_ENCRYPT_PASSWORD}"
                                    },
                                    {
                                        "name": "JGROUPS_CLUSTER_PASSWORD",
                                        "value": "${JGROUPS_CLUSTER_PASSWORD}"
                                    },
                                    {
                                        "name": "AUTO_DEPLOY_EXPLODED",
                                        "value": "${AUTO_DEPLOY_EXPLODED}"
                                    },
                                    {
                                        "name": "TEIID_USERNAME",
                                        "value": "${TEIID_USERNAME}"
                                    },
                                    {
                                        "name": "TEIID_PASSWORD",
                                        "value": "${TEIID_PASSWORD}"
                                    },
                                    {
                                        "name": "ENV_FILES",
                                        "value": "/etc/datavirt-environment/*"
                                    },
                                    {
                                        "name": "DATAVIRT_TRANSPORT_KEYSTORE",
                                        "value": "${HTTPS_KEYSTORE}"
                                    },
                                    {
                                        "name": "DATAVIRT_TRANSPORT_KEYSTORE_TYPE",
                                        "value": "${HTTPS_KEYSTORE_TYPE}"
                                    },
                                    {
                                        "name": "DATAVIRT_TRANSPORT_KEY_ALIAS",
                                        "value": "${HTTPS_NAME}"
                                    },
                                    {
                                        "name": "DATAVIRT_TRANSPORT_KEYSTORE_PASSWORD",
                                        "value": "${HTTPS_PASSWORD}"
                                    },
                                    {
                                        "name": "SSO_URL",
                                        "value": "${SSO_URL}"
                                    },
                                    {
                                        "name": "SSO_SERVICE_URL",
                                        "value": "${SSO_SERVICE_URL}"
                                    },
                                    {
                                        "name": "SSO_REALM",
                                        "value": "${SSO_REALM}"
                                    },
                                    {
                                        "name": "SSO_USERNAME",
                                        "value": "${SSO_USERNAME}"
                                    },
                                    {
                                        "name": "SSO_PASSWORD",
                                        "value": "${SSO_PASSWORD}"
                                    },
                                    {
                                        "name": "SSO_PUBLIC_KEY",
                                        "value": "${SSO_PUBLIC_KEY}"
                                    },
                                    {
                                        "name": "SSO_BEARER_ONLY",
                                        "value": "${SSO_BEARER_ONLY}"
                                    },
                                    {
                                        "name": "SSO_SAML_KEYSTORE_SECRET",
                                        "value": "${SSO_SAML_KEYSTORE_SECRET}"
                                    },
                                    {
                                        "name": "SSO_SAML_KEYSTORE",
                                        "value": "${SSO_SAML_KEYSTORE}"
                                    },
                                    {
                                        "name": "SSO_SAML_KEYSTORE_DIR",
                                        "value": "/etc/sso-saml-secret-volume"
                                    },
                                    {
                                        "name": "SSO_SAML_CERTIFICATE_NAME",
                                        "value": "${SSO_SAML_CERTIFICATE_NAME}"
                                    },
                                    {
                                        "name": "SSO_SAML_KEYSTORE_PASSWORD",
                                        "value": "${SSO_SAML_KEYSTORE_PASSWORD}"
                                    },
                                    {
                                        "name": "SSO_SECRET",
                                        "value": "${SSO_SECRET}"
                                    },
                                    {
                                        "name": "SSO_ENABLE_CORS",
                                        "value": "${SSO_ENABLE_CORS}"
                                    },
                                    {
                                        "name": "SSO_SAML_LOGOUT_PAGE",
                                        "value": "${SSO_SAML_LOGOUT_PAGE}"
                                    },
                                    {
                                        "name": "SSO_DISABLE_SSL_CERTIFICATE_VALIDATION",
                                        "value": "${SSO_DISABLE_SSL_CERTIFICATE_VALIDATION}"
                                    },
                                    {
                                        "name": "SSO_TRUSTSTORE",
                                        "value": "${SSO_TRUSTSTORE}"
                                    },
                                    {
                                        "name": "SSO_TRUSTSTORE_DIR",
                                        "value": "/etc/sso-secret-volume"
                                    },
                                    {
                                        "name": "SSO_TRUSTSTORE_PASSWORD",
                                        "value": "${SSO_TRUSTSTORE_PASSWORD}"
                                    },
                                    {
                                        "name": "SSO_OPENIDCONNECT_DEPLOYMENTS",
                                        "value": "${SSO_OPENIDCONNECT_DEPLOYMENTS}"
                                    },
                                    {
                                        "name": "SSO_SAML_DEPLOYMENTS",
                                        "value": "${SSO_SAML_DEPLOYMENTS}"
                                    },
                                    {
                                        "name": "HOSTNAME_HTTP",
                                        "value": "${HOSTNAME_HTTP}"
                                    },
                                    {
                                        "name": "HOSTNAME_HTTPS",
                                        "value": "${HOSTNAME_HTTPS}"
                                    }
                                ],
                                "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"
                                    },
                                    {
                                        "containerPort": 8443,
                                        "name": "https",
                                        "protocol": "TCP"
                                    },
                                    {
                                        "containerPort": 31000,
                                        "name": "jdbc",
                                        "protocol": "TCP"
                                    },
                                    {
                                        "containerPort": 31443,
                                        "name": "jdbcs",
                                        "protocol": "TCP"
                                    },
                                    {
                                        "containerPort": 35432,
                                        "name": "odbc",
                                        "protocol": "TCP"
                                    },
                                    {
                                        "containerPort": 35443,
                                        "name": "odbcs",
                                        "protocol": "TCP"
                                    },
                                    {
                                        "containerPort": 8888,
                                        "name": "ping",
                                        "protocol": "TCP"
                                    }
                                ],
                                "readinessProbe": {
                                    "exec": {
                                        "command": [
                                            "/bin/bash",
                                            "-c",
                                            "/opt/eap/bin/readinessProbe.sh"
                                        ]
                                    }
                                },
                                "resources": {
                                    "limits": {
                                        "memory": "${MEMORY_LIMIT}"
                                    }
                                },
                                "volumeMounts": [
                                    {
                                        "mountPath": "/etc/datavirt-environment",
                                        "name": "configuration",
                                        "readOnly": true
                                    },
                                    {
                                        "mountPath": "/etc/datavirt-secret-volume",
                                        "name": "datavirt-keystore-volume",
                                        "readOnly": true
                                    },
                                    {
                                        "mountPath": "/etc/jgroups-encrypt-secret-volume",
                                        "name": "datavirt-jgroups-keystore-volume",
                                        "readOnly": true
                                    }
                                ]
                            }
                        ],
                        "terminationGracePeriodSeconds": 60,
                        "volumes": [
                            {
                                "name": "configuration",
                                "secret": {
                                    "secretName": "${CONFIGURATION_NAME}"
                                }
                            },
                            {
                                "name": "datavirt-keystore-volume",
                                "secret": {
                                    "secretName": "${HTTPS_SECRET}"
                                }
                            },
                            {
                                "name": "datavirt-jgroups-keystore-volume",
                                "secret": {
                                    "secretName": "${JGROUPS_ENCRYPT_SECRET}"
                                }
                            }
                        ]
                    }
                },
                "triggers": [
                    {
                        "imageChangeParams": {
                            "automatic": true,
                            "containerNames": [
                                "${APPLICATION_NAME}"
                            ],
                            "from": {
                                "kind": "ImageStreamTag",
                                "name": "${APPLICATION_NAME}:latest"
                            }
                        },
                        "type": "ImageChange"
                    },
                    {
                        "type": "ConfigChange"
                    }
                ]
            }
        }
    ],
    "parameters": [
        {
            "description": "The name for the application.",
            "displayName": "Application Name",
            "name": "APPLICATION_NAME",
            "required": true,
            "value": "datavirt-app"
        },
        {
            "description": "The name of the secret containing configuration properties for the data sources.",
            "displayName": "Configuration Secret Name",
            "name": "CONFIGURATION_NAME",
            "required": true,
            "value": "datavirt-app-config"
        },
        {
            "description": "Specify a custom hostname for the http route.  Leave blank to use default hostname, e.g.: <service-name>-<project>.<default-domain-suffix>",
            "displayName": "Custom http Route Hostname",
            "name": "HOSTNAME_HTTP",
            "required": false,
            "value": ""
        },
        {
            "description": "Specify a custom hostname for the https route.  Leave blank to use default hostname, e.g.: secure-<service-name>-<project>.<default-domain-suffix>",
            "displayName": "Custom https Route Hostname",
            "name": "HOSTNAME_HTTPS",
            "required": false,
            "value": ""
        },
        {
            "description": "Specify a custom hostname for the JDBC route.  Leave blank to use default hostname, e.g.: secure-<service-name>-<project>.<default-domain-suffix>",
            "displayName": "Custom JDBC Route Hostname",
            "name": "HOSTNAME_JDBC",
            "required": false,
            "value": ""
        },
        {
            "description": "The URL of the repository with your application source code.",
            "displayName": "Git Repository URL",
            "name": "SOURCE_REPOSITORY_URL",
            "required": true,
            "value": "https://github.com/jboss-openshift/openshift-quickstarts"
        },
        {
            "description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch.",
            "displayName": "Git Reference",
            "name": "SOURCE_REPOSITORY_REF",
            "required": false,
            "value": "master"
        },
        {
            "description": "Set this to the relative path to your project if it is not in the root of your repository.",
            "displayName": "Context Directory",
            "name": "CONTEXT_DIR",
            "required": false,
            "value": "datavirt64/dynamicvdb-datafederation/app"
        },
        {
            "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": "The name of the secret containing the keystore to be used for serving secure content.",
            "displayName": "Server Keystore Secret Name",
            "name": "HTTPS_SECRET",
            "required": true,
            "value": "datavirt-app-secret"
        },
        {
            "description": "The name of the keystore file within the secret.",
            "displayName": "Server Keystore Filename",
            "name": "HTTPS_KEYSTORE",
            "required": false,
            "value": "keystore.jks"
        },
        {
            "description": "The type of the keystore file (JKS or JCEKS).",
            "displayName": "Server Keystore Type",
            "name": "HTTPS_KEYSTORE_TYPE",
            "required": false,
            "value": ""
        },
        {
            "description": "The name associated with the server certificate.",
            "displayName": "Server Certificate Name",
            "name": "HTTPS_NAME",
            "required": false,
            "value": "jboss"
        },
        {
            "description": "The password for the keystore and certificate",
            "displayName": "Server Keystore Password",
            "name": "HTTPS_PASSWORD",
            "required": false,
            "value": "mykeystorepass"
        },
        {
            "description": "Username associated with Teiid data service.",
            "displayName": "Teiid Username",
            "from": "[\\a]{8}",
            "generate": "expression",
            "name": "TEIID_USERNAME",
            "required": true
        },
        {
            "description": "Password for Teiid user.",
            "displayName": "Teiid User Password",
            "from": "[\\a\\A]{8}[\\d]{1}[\\A]{1}",
            "generate": "expression",
            "name": "TEIID_PASSWORD",
            "required": true
        },
        {
            "description": "A secret string used to configure the GitHub webhook.",
            "displayName": "Github Webhook Secret",
            "from": "[a-zA-Z0-9]{8}",
            "generate": "expression",
            "name": "GITHUB_WEBHOOK_SECRET",
            "required": true
        },
        {
            "description": "A secret string used to configure the Generic webhook.",
            "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": "The name of the secret containing the keystore to be used for securing JGroups communications.",
            "displayName": "JGroups Secret Name",
            "name": "JGROUPS_ENCRYPT_SECRET",
            "required": false,
            "value": "datavirt-app-secret"
        },
        {
            "description": "The name of the keystore file within the JGroups secret.",
            "displayName": "JGroups Keystore Filename",
            "name": "JGROUPS_ENCRYPT_KEYSTORE",
            "required": false,
            "value": "jgroups.jceks"
        },
        {
            "description": "The name associated with the JGroups server certificate",
            "displayName": "JGroups Certificate Name",
            "name": "JGROUPS_ENCRYPT_NAME",
            "required": false,
            "value": "secret-key"
        },
        {
            "description": "The password for the keystore and certificate",
            "displayName": "JGroups Keystore Password",
            "name": "JGROUPS_ENCRYPT_PASSWORD",
            "required": false,
            "value": "password"
        },
        {
            "description": "Password used by JGroups to authenticate nodes in the cluster.",
            "displayName": "JGroups Cluster Password",
            "from": "[a-zA-Z0-9]{8}",
            "generate": "expression",
            "name": "JGROUPS_CLUSTER_PASSWORD",
            "required": true
        },
        {
            "description": "Controls whether exploded deployment content should be automatically deployed",
            "displayName": "Deploy Exploded Archives",
            "name": "AUTO_DEPLOY_EXPLODED",
            "required": false,
            "value": "false"
        },
        {
            "description": "Comma delimited list of source directories containing VDBs for deployment",
            "displayName": "VDB Deployment Directories",
            "name": "VDB_DIRS",
            "required": false,
            "value": ""
        },
        {
            "description": "The URL for the SSO server (e.g. https://secure-sso-myproject.example.com/auth).  This is the URL through which the user will be redirected when a login or token is required by the application.",
            "displayName": "SSO Server URL",
            "name": "SSO_URL",
            "required": false,
            "value": ""
        },
        {
            "description": "The URL for the interal SSO service, where secure-sso is the kubernetes service exposed by the SSO server.  This is used to create the application client(s) (see SSO_USERNAME).  This can also be the same as SSO_URL.",
            "displayName": "SSO Server Service URL",
            "name": "SSO_SERVICE_URL",
            "required": false,
            "value": ""
        },
        {
            "description": "The SSO realm to which the application client(s) should be associated (e.g. demo).",
            "displayName": "SSO Realm",
            "name": "SSO_REALM",
            "required": false,
            "value": ""
        },
        {
            "description": "The username used to access the SSO service.  This is used to create the appliction client(s) within the specified SSO realm. This should match the SSO_SERVICE_USERNAME specified through one of the sso70-* templates.",
            "displayName": "SSO Username",
            "name": "SSO_USERNAME",
            "required": false,
            "value": ""
        },
        {
            "description": "The password for the SSO service user.",
            "displayName": "SSO User's Password",
            "name": "SSO_PASSWORD",
            "required": false,
            "value": ""
        },
        {
            "description": "SSO Realm Public Key. Public key is recommended to be passed into the template to avoid man-in-the-middle security vulnerability.  This can be retrieved from the SSO server, for the specified realm.",
            "displayName": "SSO Realm Public Key",
            "name": "SSO_PUBLIC_KEY",
            "required": false,
            "value": ""
        },
        {
            "description": "SSO Client Access Type. true or false",
            "displayName": "SSO Bearer Only",
            "name": "SSO_BEARER_ONLY",
            "required": false,
            "value": ""
        },
        {
            "description": "The name of the secret containing the keystore file",
            "displayName": "SSO SAML Keystore Secret",
            "name": "SSO_SAML_KEYSTORE_SECRET",
            "required": false,
            "value": "datavirt-app-secret"
        },
        {
            "description": "The name of the keystore file within the secret",
            "displayName": "SSO SAML Keystore File",
            "name": "SSO_SAML_KEYSTORE",
            "required": false,
            "value": "keystore.jks"
        },
        {
            "description": "The name associated with the server certificate",
            "displayName": "SSO SAML Certificate Alias",
            "name": "SSO_SAML_CERTIFICATE_NAME",
            "required": false,
            "value": ""
        },
        {
            "description": "The password for the keystore and certificate",
            "displayName": "SSO SAML Keystore Password",
            "name": "SSO_SAML_KEYSTORE_PASSWORD",
            "required": false,
            "value": ""
        },
        {
            "description": "The SSO Client Secret for Confidential Access",
            "displayName": "SSO Client Secret",
            "from": "[a-zA-Z0-9]{8}",
            "generate": "expression",
            "name": "SSO_SECRET",
            "required": false
        },
        {
            "description": "Enable CORS for SSO applications. true or false",
            "displayName": "SSO Enable CORS",
            "name": "SSO_ENABLE_CORS",
            "required": false,
            "value": "false"
        },
        {
            "description": "SSO logout page for SAML applications",
            "displayName": "SSO SAML Logout Page",
            "name": "SSO_SAML_LOGOUT_PAGE",
            "required": false,
            "value": "/"
        },
        {
            "description": "If true SSL communication between EAP and the SSO Server will be insecure (i.e. certificate validation is disabled with curl)",
            "displayName": "SSO Disable SSL Certificate Validation",
            "name": "SSO_DISABLE_SSL_CERTIFICATE_VALIDATION",
            "required": false,
            "value": "true"
        },
        {
            "description": "The name of the truststore file within the secret (e.g. truststore.jks)",
            "displayName": "SSO Truststore File",
            "name": "SSO_TRUSTSTORE",
            "required": false,
            "value": ""
        },
        {
            "description": "The password for the truststore and certificate (e.g. mykeystorepass)",
            "displayName": "SSO Truststore Password",
            "name": "SSO_TRUSTSTORE_PASSWORD",
            "required": false,
            "value": ""
        },
        {
            "description": "The name of the secret containing the truststore file (e.g. truststore-secret). Used for volume secretName",
            "displayName": "SSO Truststore Secret",
            "name": "SSO_TRUSTSTORE_SECRET",
            "required": false,
            "value": "datavirt-app-secret"
        },
        {
            "description": "Comma delimited list of deployments that shoulds be exploded and enabled for SSO OpenIDConnect via auth-method",
            "displayName": "SSO OpenIDConnect Deployments",
            "name": "SSO_OPENIDCONNECT_DEPLOYMENTS",
            "required": false,
            "value": ""
        },
        {
            "description": "Comma delimited list of deployments that shoulds be exploded and enabled for SSO SAML via auth-method",
            "displayName": "SSO SAML Deployments",
            "name": "SSO_SAML_DEPLOYMENTS",
            "required": false,
            "value": ""
        },
        {
            "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": "Artifact Directories",
            "name": "ARTIFACT_DIR",
            "required": false,
            "value": ""
        },
        {
            "description": "Container memory limit",
            "name": "MEMORY_LIMIT",
            "required": false,
            "value": "1Gi"
        }
    ]
}