{
	"kind": "Template",
	"apiVersion": "v1",
	"metadata": {
		"name": "eap73-sso-s2i",
		"creationTimestamp": null,
		"annotations": {
			"description": "An example JBoss Enterprise Application Platform application Single Sign-On application. For more information about using this template, see https://github.com/jboss-container-images/jboss-eap-7-openshift-image/blob/7.3.x/README.adoc",
			"iconClass": "icon-eap",
			"openshift.io/display-name": "JBoss EAP 7.3 (OpenJDK 8) + Single Sign-On with passthrough TLS",
			"openshift.io/provider-display-name": "Red Hat, Inc.",
			"tags": "eap,javaee,java,jboss,hidden",
			"template.openshift.io/documentation-url": "https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/",
			"template.openshift.io/long-description": "This template defines resources needed to develop a JBoss Enterprise Application Platform based application, including a build configuration, application deployment configuration, integrated with Red Hat Single Sign-On and secure communication using passthrough TLS.",
			"template.openshift.io/support-url": "https://access.redhat.com",
			"version": "7.3"
		}
	},
	"message": "A new JBoss EAP application with SSL and SSO support has been created in your project. Please be sure to create the following secrets: \"${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.",
	"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",
			"kind": "Service",
			"metadata": {
				"annotations": {
					"description": "The web server's https port."
				},
				"labels": {
					"application": "${APPLICATION_NAME}"
				},
				"name": "secure-${APPLICATION_NAME}"
			},
			"spec": {
				"ports": [
					{
						"port": 8443,
						"targetPort": 8443
					}
				],
				"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
					}
				],
				"publishNotReadyAddresses": true,
				"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": {
				"to": {
					"name": "${APPLICATION_NAME}"
				}
			}
		},
		{
			"apiVersion": "v1",
			"id": "${APPLICATION_NAME}-https",
			"kind": "Route",
			"metadata": {
				"annotations": {
					"description": "Route for application's https service."
				},
				"labels": {
					"application": "${APPLICATION_NAME}"
				},
				"name": "secure-${APPLICATION_NAME}"
			},
			"spec": {
				"host": "${HOSTNAME_HTTPS}",
				"tls": {
					"termination": "passthrough"
				},
				"to": {
					"name": "secure-${APPLICATION_NAME}"
				}
			}
		},
		{
			"apiVersion": "v1",
			"kind": "ImageStream",
			"metadata": {
				"labels": {
					"application": "${APPLICATION_NAME}"
				},
				"name": "${APPLICATION_NAME}"
			}
		},
		{
			"apiVersion": "v1",
			"kind": "ImageStream",
			"metadata": {
				"labels": {
					"application": "${APPLICATION_NAME}"
				},
				"name": "${APPLICATION_NAME}-build-artifacts"
			}
		},
		{
			"apiVersion": "v1",
			"kind": "BuildConfig",
			"metadata": {
				"labels": {
					"application": "${APPLICATION_NAME}"
				},
				"name": "${APPLICATION_NAME}-build-artifacts"
			},
			"spec": {
				"output": {
					"to": {
						"kind": "ImageStreamTag",
						"name": "${APPLICATION_NAME}-build-artifacts:latest"
					}
				},
				"source": {
					"contextDir": "${CONTEXT_DIR}",
					"git": {
						"ref": "${SOURCE_REPOSITORY_REF}",
						"uri": "${SOURCE_REPOSITORY_URL}"
					},
					"images": [
						{
							"from": {
								"kind": "ImageStreamTag",
								"name": "${SSO_IMAGE_NAME}",
								"namespace": "${IMAGE_STREAM_NAMESPACE}"
							},
							"paths": [
								{
									"destinationDir": "./${CONTEXT_DIR}/extensions/sso-adapters",
									"sourcePath": "/opt/rh/rh-sso/client/eap7/."
								}
							]
						}
					],
					"type": "Git"
				},
				"strategy": {
					"sourceStrategy": {
						"env": [
							{
								"name": "CUSTOM_INSTALL_DIRECTORIES",
								"value": "extensions/*"
							},
							{
								"name": "ARTIFACT_DIR",
								"value": "${ARTIFACT_DIR}"
							},
							{
								"name": "MAVEN_MIRROR_URL",
								"value": "${MAVEN_MIRROR_URL}"
							},
							{
								"name": "MAVEN_ARGS_APPEND",
								"value": "${MAVEN_ARGS_APPEND}"
							},
							{
								"name": "GALLEON_PROVISION_LAYERS",
								"value": "${GALLEON_PROVISION_LAYERS}"
							},
							{
								"name": "GALLEON_PROVISION_DEFAULT_FAT_SERVER",
								"value": "true"
							}
						],
						"forcePull": true,
						"from": {
							"kind": "ImageStreamTag",
							"name": "${EAP_IMAGE_NAME}",
							"namespace": "${IMAGE_STREAM_NAMESPACE}"
						},
						"incremental": true
					},
					"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": "BuildConfig",
			"metadata": {
				"labels": {
					"application": "${APPLICATION_NAME}"
				},
				"name": "${APPLICATION_NAME}"
			},
			"spec": {
				"output": {
					"to": {
						"kind": "ImageStreamTag",
						"name": "${APPLICATION_NAME}:latest"
					}
				},
				"source": {
					"dockerfile": "FROM ${EAP_RUNTIME_IMAGE_NAME}\nCOPY /server $JBOSS_HOME\nUSER root\nRUN chown -R jboss:root $JBOSS_HOME \u0026\u0026 chmod -R ug+rwX $JBOSS_HOME\nUSER jboss\nCMD $JBOSS_HOME/bin/openshift-launch.sh",
					"images": [
						{
							"from": {
								"kind": "ImageStreamTag",
								"name": "${APPLICATION_NAME}-build-artifacts:latest"
							},
							"paths": [
								{
									"destinationDir": ".",
									"sourcePath": "/s2i-output/server/"
								}
							]
						}
					]
				},
				"strategy": {
					"dockerStrategy": {
						"from": {
							"kind": "ImageStreamTag",
							"name": "${EAP_RUNTIME_IMAGE_NAME}",
							"namespace": "${IMAGE_STREAM_NAMESPACE}"
						},
						"imageOptimizationPolicy": "SkipLayers"
					},
					"type": "Docker"
				},
				"triggers": [
					{
						"imageChange": {
							"from": {
								"kind": "ImageStreamTag",
								"name": "${APPLICATION_NAME}-build-artifacts:latest"
							}
						},
						"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": "dns.DNS_PING"
									},
									{
										"name": "OPENSHIFT_DNS_PING_SERVICE_NAME",
										"value": "${APPLICATION_NAME}-ping"
									},
									{
										"name": "OPENSHIFT_DNS_PING_SERVICE_PORT",
										"value": "8888"
									},
									{
										"name": "HOSTNAME_HTTP",
										"value": "${HOSTNAME_HTTP}"
									},
									{
										"name": "HOSTNAME_HTTPS",
										"value": "${HOSTNAME_HTTPS}"
									},
									{
										"name": "HTTPS_KEYSTORE_DIR",
										"value": "/etc/eap-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": "MQ_CLUSTER_PASSWORD",
										"value": "${MQ_CLUSTER_PASSWORD}"
									},
									{
										"name": "MQ_QUEUES",
										"value": "${MQ_QUEUES}"
									},
									{
										"name": "MQ_TOPICS",
										"value": "${MQ_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}"
									},
									{
										"name": "AUTO_DEPLOY_EXPLODED",
										"value": "${AUTO_DEPLOY_EXPLODED}"
									},
									{
										"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": "ENABLE_GENERATE_DEFAULT_DATASOURCE",
										"value": "${ENABLE_GENERATE_DEFAULT_DATASOURCE}"
									}
								],
								"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": 8888,
										"name": "ping",
										"protocol": "TCP"
									}
								],
								"readinessProbe": {
									"exec": {
										"command": [
											"/bin/bash",
											"-c",
											"/opt/eap/bin/readinessProbe.sh"
										]
									},
									"initialDelaySeconds": 10
								},
								"resources": {
									"limits": {
										"memory": "${MEMORY_LIMIT}"
									}
								},
								"volumeMounts": [
									{
										"mountPath": "/etc/sso-saml-secret-volume",
										"name": "sso-saml-keystore-volume",
										"readOnly": true
									},
									{
										"mountPath": "/etc/eap-secret-volume",
										"name": "eap-keystore-volume",
										"readOnly": true
									},
									{
										"mountPath": "/etc/jgroups-encrypt-secret-volume",
										"name": "eap-jgroups-keystore-volume",
										"readOnly": true
									},
									{
										"mountPath": "/etc/sso-secret-volume",
										"name": "sso-truststore-volume",
										"readOnly": true
									}
								]
							}
						],
						"terminationGracePeriodSeconds": 75,
						"volumes": [
							{
								"name": "sso-saml-keystore-volume",
								"secret": {
									"secretName": "${SSO_SAML_KEYSTORE_SECRET}"
								}
							},
							{
								"name": "eap-keystore-volume",
								"secret": {
									"secretName": "${HTTPS_SECRET}"
								}
							},
							{
								"name": "eap-jgroups-keystore-volume",
								"secret": {
									"secretName": "${JGROUPS_ENCRYPT_SECRET}"
								}
							},
							{
								"name": "sso-truststore-volume",
								"secret": {
									"secretName": "${SSO_TRUSTSTORE_SECRET}"
								}
							}
						]
					}
				},
				"triggers": [
					{
						"imageChangeParams": {
							"automatic": true,
							"containerNames": [
								"${APPLICATION_NAME}"
							],
							"from": {
								"kind": "ImageStreamTag",
								"name": "${APPLICATION_NAME}:latest"
							}
						},
						"type": "ImageChange"
					},
					{
						"type": "ConfigChange"
					}
				]
			}
		}
	],
	"parameters": [
		{
			"name": "APPLICATION_NAME",
			"displayName": "Application Name",
			"description": "The name for the application.",
			"value": "eap-app",
			"required": true
		},
		{
			"name": "EAP_IMAGE_NAME",
			"displayName": "EAP Image Name",
			"description": "Name of the EAP image to use, example: jboss-eap73-openshift:7.3",
			"value": "jboss-eap73-openshift:7.3",
			"required": true
		},
		{
			"name": "EAP_RUNTIME_IMAGE_NAME",
			"displayName": "EAP Runtime Image Name",
			"description": "Name of the EAP image to use, example: jboss-eap73-runtime-openshift:7.3",
			"value": "jboss-eap73-runtime-openshift:7.3",
			"required": true
		},
		{
			"name": "SSO_IMAGE_NAME",
			"displayName": "SSO Image Name",
			"description": "Name of the SSO image to use, examples: redhat-sso73-openshift:1.0",
			"value": "redhat-sso73-openshift:1.0",
			"required": true
		},
		{
			"name": "HOSTNAME_HTTPS",
			"displayName": "Custom https Route Hostname",
			"description": "Hostname for https service route (e.g. secure-eap-app-myproject.example.com).  Required for SSO-enabled applications.  This is added to the white list of redirects in the SSO server.",
			"required": true
		},
		{
			"name": "SOURCE_REPOSITORY_URL",
			"displayName": "Git Repository URL",
			"description": "Git source URI for application",
			"value": "https://github.com/redhat-developer/redhat-sso-quickstarts",
			"required": true
		},
		{
			"name": "SOURCE_REPOSITORY_REF",
			"displayName": "Git Reference",
			"description": "Git branch/tag reference",
			"value": "7.0.x-ose"
		},
		{
			"name": "CONTEXT_DIR",
			"displayName": "Context Directory",
			"description": "Path within Git project to build; empty for root project directory."
		},
		{
			"name": "GALLEON_PROVISION_LAYERS",
			"displayName": "Galleon layers",
			"description": "Comma separated list of Galleon layers to provision a server."
		},
		{
			"name": "ENABLE_GENERATE_DEFAULT_DATASOURCE",
			"displayName": "Enable ExampleDS datasource",
			"description": "Enable ExampleDS datasource.",
			"value": "false"
		},
		{
			"name": "MQ_QUEUES",
			"displayName": "Queues",
			"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. Note that all queues used by the application *must* be specified here in order to be created automatically on the remote AMQ broker."
		},
		{
			"name": "MQ_TOPICS",
			"displayName": "Topics",
			"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. Note that all topics used by the application *must* be specified here in order to be created automatically on the remote AMQ broker."
		},
		{
			"name": "MQ_CLUSTER_PASSWORD",
			"displayName": "AMQ cluster password",
			"description": "AMQ cluster admin password",
			"generate": "expression",
			"from": "[a-zA-Z0-9]{8}",
			"required": true
		},
		{
			"name": "HTTPS_SECRET",
			"displayName": "Server Keystore Secret Name",
			"description": "The name of the secret containing the keystore file",
			"value": "eap7-app-secret",
			"required": true
		},
		{
			"name": "HTTPS_KEYSTORE",
			"displayName": "Server Keystore Filename",
			"description": "The name of the keystore file within the secret",
			"value": "keystore.jks"
		},
		{
			"name": "HTTPS_KEYSTORE_TYPE",
			"displayName": "Server Keystore Type",
			"description": "The type of the keystore file (JKS or JCEKS)"
		},
		{
			"name": "HTTPS_NAME",
			"displayName": "Server Certificate Name",
			"description": "The name associated with the server certificate (e.g. jboss)"
		},
		{
			"name": "HTTPS_PASSWORD",
			"displayName": "Server Keystore Password",
			"description": "The password for the keystore and certificate (e.g. mykeystorepass)"
		},
		{
			"name": "GITHUB_WEBHOOK_SECRET",
			"displayName": "Github Webhook Secret",
			"description": "GitHub trigger secret",
			"generate": "expression",
			"from": "[a-zA-Z0-9]{8}",
			"required": true
		},
		{
			"name": "GENERIC_WEBHOOK_SECRET",
			"displayName": "Generic Webhook Secret",
			"description": "Generic build trigger secret",
			"generate": "expression",
			"from": "[a-zA-Z0-9]{8}",
			"required": true
		},
		{
			"name": "IMAGE_STREAM_NAMESPACE",
			"displayName": "ImageStream Namespace",
			"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.",
			"value": "openshift",
			"required": true
		},
		{
			"name": "JGROUPS_ENCRYPT_SECRET",
			"displayName": "JGroups Secret Name",
			"description": "The name of the secret containing the keystore file",
			"value": "eap7-app-secret"
		},
		{
			"name": "JGROUPS_ENCRYPT_KEYSTORE",
			"displayName": "JGroups Keystore Filename",
			"description": "The name of the keystore file within the secret",
			"value": "jgroups.jceks"
		},
		{
			"name": "JGROUPS_ENCRYPT_NAME",
			"displayName": "JGroups Certificate Name",
			"description": "The name associated with the server certificate (e.g. secret-key)"
		},
		{
			"name": "JGROUPS_ENCRYPT_PASSWORD",
			"displayName": "JGroups Keystore Password",
			"description": "The password for the keystore and certificate (e.g. password)"
		},
		{
			"name": "JGROUPS_CLUSTER_PASSWORD",
			"displayName": "JGroups Cluster Password",
			"description": "JGroups cluster password",
			"generate": "expression",
			"from": "[a-zA-Z0-9]{8}",
			"required": true
		},
		{
			"name": "AUTO_DEPLOY_EXPLODED",
			"displayName": "Deploy Exploded Archives",
			"description": "Controls whether exploded deployment content should be automatically deployed",
			"value": "false"
		},
		{
			"name": "SSO_URL",
			"displayName": "URL for SSO",
			"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.",
			"required": true
		},
		{
			"name": "SSO_SERVICE_URL",
			"displayName": "URL for SSO (internal service)",
			"description": "The URL for the internal SSO service, where secure-sso (the default) 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.",
			"value": "https://secure-sso:8443/auth"
		},
		{
			"name": "SSO_REALM",
			"displayName": "SSO Realm",
			"description": "The SSO realm to which the application client(s) should be associated (e.g. demo).",
			"required": true
		},
		{
			"name": "SSO_USERNAME",
			"displayName": "SSO Username",
			"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."
		},
		{
			"name": "SSO_PASSWORD",
			"displayName": "SSO Password",
			"description": "The password for the SSO service user."
		},
		{
			"name": "SSO_PUBLIC_KEY",
			"displayName": "SSO Public Key",
			"description": "SSO Public Key. Public key is recommended to be passed into the template to avoid man-in-the-middle security vulnerability"
		},
		{
			"name": "SSO_BEARER_ONLY",
			"displayName": "SSO Bearer Only?",
			"description": "SSO Client Access Type"
		},
		{
			"name": "ARTIFACT_DIR",
			"displayName": "Artifact Directories",
			"description": "List of directories from which archives will be copied into the deployment folder.  If unspecified, all archives in /target will be copied.",
			"value": "app-jee-jsp/target,service-jee-jaxrs/target,app-profile-jee-jsp/target,app-profile-saml-jee-jsp/target"
		},
		{
			"name": "SSO_SAML_KEYSTORE_SECRET",
			"displayName": "SSO SAML Keystore Secret",
			"description": "The name of the secret containing the keystore file",
			"value": "eap7-app-secret"
		},
		{
			"name": "SSO_SAML_KEYSTORE",
			"displayName": "SSO SAML Keystore",
			"description": "The name of the keystore file within the secret",
			"value": "keystore.jks"
		},
		{
			"name": "SSO_SAML_CERTIFICATE_NAME",
			"displayName": "SSO SAML Certificate Name",
			"description": "The name associated with the server certificate",
			"value": "jboss"
		},
		{
			"name": "SSO_SAML_KEYSTORE_PASSWORD",
			"displayName": "SSO SAML Keystore Password",
			"description": "The password for the keystore and certificate",
			"value": "mykeystorepass"
		},
		{
			"name": "SSO_SECRET",
			"displayName": "SSO Client Secret",
			"description": "The SSO Client Secret for Confidential Access",
			"generate": "expression",
			"from": "[a-zA-Z0-9]{8}",
			"required": true
		},
		{
			"name": "SSO_ENABLE_CORS",
			"displayName": "Enable CORS for SSO?",
			"description": "Enable CORS for SSO applications",
			"value": "false"
		},
		{
			"name": "SSO_SAML_LOGOUT_PAGE",
			"displayName": "SSO SAML Logout Page",
			"description": "SSO logout page for SAML applications",
			"value": "/"
		},
		{
			"name": "SSO_DISABLE_SSL_CERTIFICATE_VALIDATION",
			"displayName": "Disable SSL Validation in EAP-\u003eSSO communication",
			"description": "If true SSL communication between EAP and the SSO Server will be insecure (i.e. certificate validation is disabled with curl)",
			"value": "true"
		},
		{
			"name": "SSO_TRUSTSTORE",
			"displayName": "SSO Trust Store",
			"description": "The name of the truststore file within the secret (e.g. truststore.jks)"
		},
		{
			"name": "SSO_TRUSTSTORE_PASSWORD",
			"displayName": "SSO Trust Store Password",
			"description": "The password for the truststore and certificate (e.g. mykeystorepass)"
		},
		{
			"name": "SSO_TRUSTSTORE_SECRET",
			"displayName": "SSO Trust Store Secret",
			"description": "The name of the secret containing the truststore file (e.g. truststore-secret). Used for volume secretName",
			"value": "eap7-app-secret"
		},
		{
			"name": "MAVEN_MIRROR_URL",
			"displayName": "Maven mirror URL",
			"description": "Maven mirror to use for S2I builds"
		},
		{
			"name": "MAVEN_ARGS_APPEND",
			"displayName": "Maven Additional Arguments",
			"description": "Maven additional arguments to use for S2I builds"
		},
		{
			"name": "MEMORY_LIMIT",
			"description": "Container memory limit",
			"value": "1Gi"
		}
	],
	"labels": {
		"template": "eap73-sso-s2i",
		"xpaas": "7.3"
	}
}