deprecated.web-template.json Maven / Gradle / Ivy
{
"kind": "Template",
"apiVersion": "v1",
"metadata": {
"annotations": {
"description": "WINDUP Web Console template",
"iconClass": "icon-jboss",
"tags": "wildfly,postgresql,javaee,java,database,jboss,xpaas",
"version": "1.3.2",
"openshift.io/display-name": "Migration Toolkit for Applications"
},
"name": "windup-web-console"
},
"labels": {
"app": "windup-web-console",
"template": "windup-web-console",
"xpaas": "1.3.2"
},
"message": "Migration Toolkit for Applications server has been installed. The username/password for accessing the PostgreSQL database \"${DB_DATABASE}\" is ${DB_USERNAME}/${DB_PASSWORD}. Please be sure to create the \"${JGROUPS_ENCRYPT_SECRET}\" containing the ${JGROUPS_ENCRYPT_KEYSTORE} file used for securing JGroups communications.",
"parameters": [
{
"displayName": "Application Name",
"description": "The name for the application.",
"name": "APPLICATION_NAME",
"value": "windup-web-console",
"required": true
},
{
"displayName": "Requested CPU",
"description": "The number of CPU cores to request.",
"name": "REQUESTED_CPU",
"value": "4",
"required": true
},
{
"displayName": "Requested Memory",
"description": "The amount of memory to request (eg, 4Gi).",
"name": "REQUESTED_MEMORY",
"value": "4Gi",
"required": true
},
{
"displayName": "Serialization Method",
"description": "The value determines the approach used for transferring data between the UI components and the analysis engine.",
"name": "MESSAGING_SERIALIZER",
"value": "http.post.serializer",
"required": true
},
{
"displayName": "Custom http Route Hostname",
"description": "Custom hostname for http service route. Leave blank for default hostname, e.g.: -.",
"name": "HOSTNAME_HTTP",
"value": "",
"required": false
},
{
"displayName": "Database JNDI Name",
"description": "Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/postgresql",
"name": "DB_JNDI",
"value": "java:jboss/datasources/WindupServicesDS",
"required": false
},
{
"displayName": "Database Name",
"description": "Database name",
"name": "DB_DATABASE",
"value": "windup",
"required": true
},
{
"displayName": "Database Volume Capacity",
"description": "Size of persistent storage for database volume.",
"name": "VOLUME_CAPACITY",
"value": "20G",
"required": true
},
{
"displayName": "Queues",
"description": "Queue names",
"name": "MQ_QUEUES",
"value": "",
"required": false
},
{
"displayName": "Topics",
"description": "Topic names",
"name": "MQ_TOPICS",
"value": "",
"required": false
},
{
"displayName": "Datasource Minimum Pool Size",
"description": "Sets xa-pool/min-pool-size for the configured datasource.",
"name": "DB_MIN_POOL_SIZE",
"required": false
},
{
"displayName": "Datasource Maximum Pool Size",
"description": "Sets xa-pool/max-pool-size for the configured datasource.",
"name": "DB_MAX_POOL_SIZE",
"required": false
},
{
"displayName": "Datasource Transaction Isolation",
"description": "Sets transaction-isolation for the configured datasource.",
"name": "DB_TX_ISOLATION",
"required": false
},
{
"displayName": "PostgreSQL Maximum number of connections",
"description": "The maximum number of client connections allowed. This also sets the maximum number of prepared transactions.",
"name": "POSTGRESQL_MAX_CONNECTIONS",
"value": "200",
"required": false
},
{
"displayName": "PostgreSQL Shared Buffers",
"description": "Configures how much memory is dedicated to PostgreSQL for caching data.",
"name": "POSTGRESQL_SHARED_BUFFERS",
"required": false
},
{
"displayName": "A-MQ cluster password",
"description": "A-MQ cluster admin password",
"name": "MQ_CLUSTER_PASSWORD",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression",
"required": true
},
{
"displayName": "Database Username",
"description": "Database user name",
"name": "DB_USERNAME",
"from": "user[a-zA-Z0-9]{3}",
"generate": "expression",
"required": true
},
{
"displayName": "Database Password",
"description": "Database user password",
"name": "DB_PASSWORD",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression",
"required": true
},
{
"displayName": "Github Webhook Secret",
"description": "GitHub trigger secret",
"name": "GITHUB_WEBHOOK_SECRET",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression",
"required": true
},
{
"displayName": "Generic Webhook Secret",
"description": "Generic build trigger secret",
"name": "GENERIC_WEBHOOK_SECRET",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression",
"required": true
},
{
"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.",
"name": "IMAGE_STREAM_NAMESPACE",
"value": "openshift",
"required": true
},
{
"displayName": "JGroups Secret Name",
"description": "The name of the secret containing the keystore file",
"name": "JGROUPS_ENCRYPT_SECRET",
"value": "wildfly-app-secret",
"required": false
},
{
"displayName": "JGroups Keystore Filename",
"description": "The name of the keystore file within the secret",
"name": "JGROUPS_ENCRYPT_KEYSTORE",
"value": "jgroups.jceks",
"required": false
},
{
"displayName": "JGroups Certificate Name",
"description": "The name associated with the server certificate",
"name": "JGROUPS_ENCRYPT_NAME",
"value": "",
"required": false
},
{
"displayName": "JGroups Keystore Password",
"description": "The password for the keystore and certificate",
"name": "JGROUPS_ENCRYPT_PASSWORD",
"value": "",
"required": false
},
{
"displayName": "JGroups Cluster Password",
"description": "JGroups cluster password",
"name": "JGROUPS_CLUSTER_PASSWORD",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression",
"required": true
},
{
"displayName": "Deploy Exploded Archives",
"description": "Controls whether exploded deployment content should be automatically deployed",
"name": "AUTO_DEPLOY_EXPLODED",
"value": "false",
"required": false
},
{
"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.",
"name": "SSO_URL",
"value": "/auth",
"required": true
},
{
"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.",
"name": "SSO_SERVICE_URL",
"value": "/auth",
"required": false
},
{
"displayName": "SSO Realm",
"description": "The SSO realm to which the application client(s) should be associated (e.g. demo).",
"name": "SSO_REALM",
"value": "windup",
"required": true
},
{
"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_USERNAME",
"value": "",
"required": false
},
{
"displayName": "SSO Password",
"description": "The password for the SSO service user.",
"name": "SSO_PASSWORD",
"value": "",
"required": false
},
{
"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_PUBLIC_KEY",
"value": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhlI4WQ3tbIFE71M0HAO3TfvJFxH0P16wdOSzc/Fr9l8/tOn8cN5sgkGpnyEWcawgv2z4nouUkpV92/vo9fadKr3KVUMVaE3EaR3BmsC0Ct6TY7mYD+sz/yGoSWqwmGYocEJRIXAuMCX3jCu6CKMSV+1qjpcyYqzRaVWTB/EV76Sx+CSh9rEMLl8mE6owxNWQck03KgvWCA70l/LAu1M1bWy1aozoUKiTryX0nTxbHbj4qg3vvHC6igYndJ4zLr30QlCVn1iQ1jXC1MQUJ+Mwc8yZlkhaoAfDS1iM9I8NUcpcQAIn2baD8/aBrS1F9woYYRvo0vFH5N0+Rw4xjgSDlQIDAQAB",
"required": false
},
{
"displayName": "SSO Bearer Only?",
"description": "SSO Client Access Type",
"name": "SSO_BEARER_ONLY",
"value": "",
"required": false
},
{
"displayName": "SSO SAML Keystore Secret",
"description": "The name of the secret containing the keystore file",
"name": "SSO_SAML_KEYSTORE_SECRET",
"value": "wildfly-app-secret",
"required": false
},
{
"displayName": "SSO SAML Keystore",
"description": "The name of the keystore file within the secret",
"name": "SSO_SAML_KEYSTORE",
"value": "keystore.jks",
"required": false
},
{
"displayName": "SSO SAML Certificate Name",
"description": "The name associated with the server certificate",
"name": "SSO_SAML_CERTIFICATE_NAME",
"value": "jboss",
"required": false
},
{
"displayName": "SSO SAML Keystore Password",
"description": "The password for the keystore and certificate",
"name": "SSO_SAML_KEYSTORE_PASSWORD",
"value": "mykeystorepass",
"required": false
},
{
"displayName": "SSO Client Secret",
"description": "The SSO Client Secret for Confidential Access",
"name": "SSO_SECRET",
"from": "[a-zA-Z0-9]{8}",
"generate": "expression",
"required": true
},
{
"displayName": "Enable CORS for SSO?",
"description": "Enable CORS for SSO applications",
"name": "SSO_ENABLE_CORS",
"value": "false",
"required": false
},
{
"displayName": "SSO SAML Logout Page",
"description": "SSO logout page for SAML applications",
"name": "SSO_SAML_LOGOUT_PAGE",
"value": "/",
"required": false
},
{
"displayName": "Disable SSL Validation in Wildfly->SSO communication",
"description": "If true SSL communication between Wildfly and the SSO Server will be insecure (i.e. certificate validation is disabled with curl)",
"name": "SSO_DISABLE_SSL_CERTIFICATE_VALIDATION",
"value": "true",
"required": false
},
{
"displayName": "SSO Trust Store",
"description": "The name of the truststore file within the secret (e.g. truststore.jks)",
"name": "SSO_TRUSTSTORE",
"value": "",
"required": false
},
{
"displayName": "SSO Trust Store Password",
"description": "The password for the truststore and certificate (e.g. mykeystorepass)",
"name": "SSO_TRUSTSTORE_PASSWORD",
"value": "",
"required": false
},
{
"displayName": "SSO Trust Store Secret",
"description": "The name of the secret containing the truststore file (e.g. truststore-secret). Used for volume secretName",
"name": "SSO_TRUSTSTORE_SECRET",
"value": "wildfly-app-secret",
"required": false
},
{
"displayName": "Quay Images User ID",
"description": "The value of the user name for the images from Quay to be used",
"name": "DOCKER_IMAGES_USER",
"value": "windupeng",
"required": true
},
{
"displayName": "Quay Images Tag",
"description": "The value of the tag for the images from Quay to be used",
"name": "DOCKER_IMAGES_TAG",
"value": "latest",
"required": true
},
{
"displayName": "Undertow max post size",
"description": "The maximum value of the size the an HTTP post request",
"name": "MAX_POST_SIZE",
"value": "4294967296",
"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}",
"app": "${APPLICATION_NAME}-http"
},
"annotations": {
"description": "The web server's http port.",
"service.alpha.openshift.io/dependencies": "[{\"name\": \"${APPLICATION_NAME}-postgresql\", \"kind\": \"Service\"}]"
}
}
},
{
"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_HTTP}",
"to": {
"name": "${APPLICATION_NAME}"
},
"tls": {
"termination": "edge"
}
}
},
{
"kind": "DeploymentConfig",
"apiVersion": "v1",
"metadata": {
"name": "${APPLICATION_NAME}",
"labels": {
"application": "${APPLICATION_NAME}"
}
},
"spec": {
"strategy": {
"type": "Recreate"
},
"triggers": [
{
"type": "ConfigChange"
}
],
"replicas": 1,
"selector": {
"deploymentConfig": "${APPLICATION_NAME}"
},
"template": {
"metadata": {
"name": "${APPLICATION_NAME}",
"labels": {
"deploymentConfig": "${APPLICATION_NAME}",
"application": "${APPLICATION_NAME}"
}
},
"spec": {
"terminationGracePeriodSeconds": 75,
"containers": [
{
"name": "${APPLICATION_NAME}",
"image": "quay.io/${DOCKER_IMAGES_USER}/windup-web-openshift:${DOCKER_IMAGES_TAG}",
"imagePullPolicy": "Always",
"resources": {
"requests": {
"cpu": "${REQUESTED_CPU}",
"memory": "${REQUESTED_MEMORY}"
},
"limits": {
"cpu": "${REQUESTED_CPU}",
"memory": "${REQUESTED_MEMORY}"
}
},
"volumeMounts": [
{
"name": "${APPLICATION_NAME}-windup-web-pvol",
"mountPath": "/opt/windup/data",
"readOnly": false
}
],
"lifecycle": {
"preStop": {
"exec": {
"command": [
"${JBOSS_HOME}/bin/jboss-cli.sh",
"-c",
":shutdown(timeout=60)"
]
}
}
},
"livenessProbe": {
"exec": {
"command": [
"/bin/bash",
"-c",
"${JBOSS_HOME}/bin/jboss-cli.sh --connect --commands='/core-service=management:read-boot-errors()' | grep '\"result\" => \\[]' && ${JBOSS_HOME}/bin/jboss-cli.sh --connect --commands=ls | grep 'server-state=running'"
]
}
},
"readinessProbe": {
"exec": {
"command": [
"/bin/bash",
"-c",
"${JBOSS_HOME}/bin/jboss-cli.sh --connect --commands='/core-service=management:read-boot-errors()' | grep '\"result\" => \\[]' && ${JBOSS_HOME}/bin/jboss-cli.sh --connect --commands='ls deployment' | grep 'api.war'"
]
}
},
"ports": [
{
"name": "jolokia",
"containerPort": 8778,
"protocol": "TCP"
},
{
"name": "http",
"containerPort": 8080,
"protocol": "TCP"
},
{
"name": "ping",
"containerPort": 8888,
"protocol": "TCP"
}
],
"env": [
{
"name": "IS_MASTER",
"value": "true"
},
{
"name": "MESSAGING_SERIALIZER",
"value": "${MESSAGING_SERIALIZER}"
},
{
"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": "OPENSHIFT_KUBE_PING_LABELS",
"value": "application=${APPLICATION_NAME}"
},
{
"name": "OPENSHIFT_KUBE_PING_NAMESPACE",
"valueFrom": {
"fieldRef": {
"fieldPath": "metadata.namespace"
}
}
},
{
"name": "HTTPS_KEYSTORE_DIR",
"value": "/etc/wildfly-secret-volume"
},
{
"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": "DEFAULT_JOB_REPOSITORY",
"value": "${APPLICATION_NAME}-postgresql"
},
{
"name": "TIMER_SERVICE_DATA_STORE",
"value": "${APPLICATION_NAME}-postgresql"
},
{
"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": "GC_MAX_METASPACE_SIZE",
"value": "512"
},
{
"name": "MAX_POST_SIZE",
"value": "${MAX_POST_SIZE}"
},
{
"name": "SSO_FORCE_LEGACY_SECURITY",
"value": "false"
}
]
}
],
"volumes": [
{
"name": "${APPLICATION_NAME}-windup-web-pvol",
"persistentVolumeClaim": {
"claimName": "${APPLICATION_NAME}-windup-web-claim"
}
}
]
}
}
}
},
{
"kind": "DeploymentConfig",
"apiVersion": "v1",
"metadata": {
"name": "${APPLICATION_NAME}-executor",
"labels": {
"application": "${APPLICATION_NAME}-executor"
}
},
"spec": {
"strategy": {
"type": "Recreate"
},
"triggers": [
{
"type": "ConfigChange"
}
],
"replicas": 1,
"selector": {
"deploymentConfig": "${APPLICATION_NAME}-executor"
},
"template": {
"metadata": {
"name": "${APPLICATION_NAME}-executor",
"labels": {
"deploymentConfig": "${APPLICATION_NAME}-executor",
"application": "${APPLICATION_NAME}-executor"
}
},
"spec": {
"terminationGracePeriodSeconds": 75,
"containers": [
{
"name": "${APPLICATION_NAME}-executor",
"image": "quay.io/${DOCKER_IMAGES_USER}/windup-web-openshift-messaging-executor:${DOCKER_IMAGES_TAG}",
"imagePullPolicy": "Always",
"resources": {
"requests": {
"cpu": "${REQUESTED_CPU}",
"memory": "${REQUESTED_MEMORY}"
},
"limits": {
"cpu": "${REQUESTED_CPU}",
"memory": "${REQUESTED_MEMORY}"
}
},
"volumeMounts": [
{
"name": "${APPLICATION_NAME}-windup-web-pvol",
"mountPath": "/opt/windup/data",
"readOnly": false
}
],
"lifecycle": {
"preStop": {
"exec": {
"command": [
"/opt/windup-cli/bin/stop.sh"
]
}
}
},
"livenessProbe": {
"exec": {
"command": [
"/bin/bash",
"-c",
"/opt/windup-cli/bin/livenessProbe.sh"
]
}
},
"readinessProbe": {
"exec": {
"command": [
"/bin/bash",
"-c",
"/opt/windup-cli/bin/livenessProbe.sh"
]
}
},
"ports": [
],
"env": [
{
"name": "IS_MASTER",
"value": "false"
},
{
"name": "MESSAGING_SERIALIZER",
"value": "${MESSAGING_SERIALIZER}"
},
{
"name": "MESSAGING_USER",
"value": "jms-user"
},
{
"name": "MESSAGING_PASSWORD",
"value": "gthudfal"
},
{
"name": "MESSAGING_HOST_VAR",
"value": "${APPLICATION_NAME}_SERVICE_HOST"
}
]
}
],
"volumes": [
{
"name": "${APPLICATION_NAME}-windup-web-pvol",
"persistentVolumeClaim": {
"claimName": "${APPLICATION_NAME}-windup-web-executor-claim"
}
}
]
}
}
}
},
{
"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": {
"terminationGracePeriodSeconds": 60,
"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_MAX_PREPARED_TRANSACTIONS",
"value": "${POSTGRESQL_MAX_CONNECTIONS}"
},
{
"name": "POSTGRESQL_SHARED_BUFFERS",
"value": "${POSTGRESQL_SHARED_BUFFERS}"
}
]
}
],
"volumes": [
{
"name": "${APPLICATION_NAME}-postgresql-pvol",
"persistentVolumeClaim": {
"claimName": "${APPLICATION_NAME}-postgresql-claim"
}
}
]
}
}
}
},
{
"kind": "Service",
"apiVersion": "v1",
"spec": {
"ports": [
{
"port": 61616,
"targetPort": 61616
}
],
"selector": {
"deploymentConfig": "${APPLICATION_NAME}"
}
},
"metadata": {
"name": "${APPLICATION_NAME}-amq",
"labels": {
"application": "${APPLICATION_NAME}-amq"
},
"annotations": {
"description": "WINDUP Master AMQ port."
}
}
},
{
"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."
}
}
},
{
"apiVersion": "v1",
"kind": "PersistentVolumeClaim",
"metadata": {
"name": "${APPLICATION_NAME}-postgresql-claim",
"labels": {
"application": "${APPLICATION_NAME}"
}
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "${VOLUME_CAPACITY}"
}
}
}
},
{
"apiVersion": "v1",
"kind": "PersistentVolumeClaim",
"metadata": {
"name": "${APPLICATION_NAME}-windup-web-claim",
"labels": {
"application": "${APPLICATION_NAME}"
}
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "${VOLUME_CAPACITY}"
}
}
}
},
{
"apiVersion": "v1",
"kind": "PersistentVolumeClaim",
"metadata": {
"name": "${APPLICATION_NAME}-windup-web-executor-claim",
"labels": {
"application": "${APPLICATION_NAME}"
}
},
"spec": {
"accessModes": [
"ReadWriteOnce"
],
"resources": {
"requests": {
"storage": "${VOLUME_CAPACITY}"
}
}
}
}
]
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy