Skip to content

Latest commit

 

History

History
348 lines (257 loc) · 19.5 KB

processserver64-amq-postgresql-persistent-s2i.adoc

File metadata and controls

348 lines (257 loc) · 19.5 KB

processserver64-amq-postgresql-persistent-s2i

Parameters

Templates allow you to define parameters which take on a value. That value is then substituted wherever the parameter is referenced. References can be defined in any text field in the objects list field. Refer to the Openshift documentation for more information.

Variable name Image Environment Variable Description Example value Required

KIE_CONTAINER_DEPLOYMENT

KIE_CONTAINER_DEPLOYMENT

The KIE Container deployment configuration in format: containerId=groupId:artifactId:version|c2=g2:a2:v2

processserver-library=org.openshift.quickstarts:processserver-library:1.4.0.Final

False

KIE_SERVER_PROTOCOL

KIE_SERVER_PROTOCOL

The protocol to access the KIE Server REST interface.

https

False

KIE_SERVER_PORT

KIE_SERVER_PORT

The port to access the KIE Server REST interface.

8443

False

KIE_SERVER_USER

KIE_SERVER_USER

The user name to access the KIE Server REST or JMS interface.

kieserver

False

KIE_SERVER_PASSWORD

KIE_SERVER_PASSWORD

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).

 — 

False

KIE_SERVER_DOMAIN

KIE_SERVER_DOMAIN

JAAS LoginContext domain that shall be used to authenticate users when using JMS.

other

False

KIE_SERVER_JMS_QUEUES_REQUEST

KIE_SERVER_JMS_QUEUES_REQUEST

JNDI name of request queue for JMS.

queue/KIE.SERVER.REQUEST

False

KIE_SERVER_JMS_QUEUES_RESPONSE

KIE_SERVER_JMS_QUEUES_RESPONSE

JNDI name of response queue for JMS.

queue/KIE.SERVER.RESPONSE

False

KIE_SERVER_EXECUTOR_JMS_QUEUE

KIE_SERVER_EXECUTOR_JMS_QUEUE

JNDI name of executor queue for JMS.

queue/KIE.SERVER.EXECUTOR

False

KIE_SERVER_PERSISTENCE_DIALECT

KIE_SERVER_PERSISTENCE_DIALECT

Hibernate persistence dialect.

org.hibernate.dialect.PostgreSQL82Dialect

False

APPLICATION_NAME

 — 

The name for the application.

kie-app

True

HOSTNAME_HTTP

 — 

Custom hostname for http service route. Leave blank for default hostname, e.g.: <application-name>-<project>.<default-domain-suffix>

 — 

False

HOSTNAME_HTTPS

 — 

Custom hostname for https service route. Leave blank for default hostname, e.g.: secure-<application-name>-<project>.<default-domain-suffix>

 — 

False

SOURCE_REPOSITORY_URL

 — 

Git source URI for application

https://github.com/jboss-openshift/openshift-quickstarts

True

SOURCE_REPOSITORY_REF

 — 

Git branch/tag reference

1.4

False

CONTEXT_DIR

 — 

Path within Git project to build; empty for root project directory.

processserver/library

False

DB_JNDI

DB_JNDI

Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/ExampleDS

java:jboss/datasources/ExampleDS

False

DB_DATABASE

DB_DATABASE

Database name

root

True

VOLUME_CAPACITY

 — 

Size of persistent storage for database volume.

1Gi

True

MQ_JNDI

MQ_JNDI

JNDI name for connection factory used by applications to connect to the broker, e.g. java:/JmsXA

java:/JmsXA

False

AMQ_SPLIT

AMQ_SPLIT

Split the data directory for each node in a mesh.

false

False

MQ_PROTOCOL

MQ_PROTOCOL

Broker protocols to configure, separated by commas. Allowed values are: openwire, amqp, stomp and mqtt. Only openwire is supported by EAP.

openwire

False

MQ_QUEUES

MQ_QUEUES

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.

KIE.SERVER.REQUEST,KIE.SERVER.RESPONSE,KIE.SERVER.EXECUTOR

False

MQ_TOPICS

MQ_TOPICS

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.

 — 

False

HTTPS_SECRET

 — 

The name of the secret containing the keystore file

processserver-app-secret

False

HTTPS_KEYSTORE

HTTPS_KEYSTORE

The name of the keystore file within the secret

keystore.jks

False

HTTPS_NAME

HTTPS_NAME

The name associated with the server certificate

jboss

False

HTTPS_PASSWORD

HTTPS_PASSWORD

The password for the keystore and certificate

mykeystorepass

False

DB_USERNAME

DB_USERNAME

Database user name

 — 

True

DB_PASSWORD

DB_PASSWORD

Database user password

 — 

True

DB_MIN_POOL_SIZE

DB_MIN_POOL_SIZE

Sets xa-pool/min-pool-size for the configured datasource.

 — 

False

DB_MAX_POOL_SIZE

DB_MAX_POOL_SIZE

Sets xa-pool/max-pool-size for the configured datasource.

 — 

False

DB_TX_ISOLATION

DB_TX_ISOLATION

Sets transaction-isolation for the configured datasource.

 — 

False

POSTGRESQL_MAX_CONNECTIONS

POSTGRESQL_MAX_CONNECTIONS

The maximum number of client connections allowed. This also sets the maximum number of prepared transactions.

 — 

False

POSTGRESQL_SHARED_BUFFERS

POSTGRESQL_SHARED_BUFFERS

Configures how much memory is dedicated to PostgreSQL for caching data.

 — 

False

MQ_USERNAME

MQ_USERNAME

User name for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.

 — 

False

MQ_PASSWORD

MQ_PASSWORD

Password for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.

 — 

False

AMQ_MESH_DISCOVERY_TYPE

AMQ_MESH_DISCOVERY_TYPE

The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift’s DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.

dns

False

AMQ_STORAGE_USAGE_LIMIT

AMQ_STORAGE_USAGE_LIMIT

The A-MQ storage usage limit

100 gb

False

GITHUB_WEBHOOK_SECRET

 — 

GitHub trigger secret

 — 

True

GENERIC_WEBHOOK_SECRET

 — 

Generic build trigger secret

 — 

True

IMAGE_STREAM_NAMESPACE

 — 

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.

openshift

True

MAVEN_MIRROR_URL

 — 

Maven mirror to use for S2I builds

 — 

False

ARTIFACT_DIR

 — 

List of directories from which archives will be copied into the deployment folder. If unspecified, all archives in /target will be copied.

 — 

False

POSTGRESQL_IMAGE_STREAM_TAG

 — 

The tag to use for the "postgresql" image stream. Typically, this aligns with the major.minor version of PostgreSQL.

9.5

True

MEMORY_LIMIT

 — 

Container memory limit

1Gi

False

Objects

The CLI supports various object types. A list of these object types as well as their abbreviations can be found in the Openshift documentation.

Services

A service is an abstraction which defines a logical set of pods and a policy by which to access them. Refer to the container-engine documentation for more information.

Service Port Name Description

${APPLICATION_NAME}

8080

 — 

The web server’s http port.

secure-${APPLICATION_NAME}

8443

 — 

The web server’s https port.

${APPLICATION_NAME}-postgresql

5432

 — 

The database server’s port.

${APPLICATION_NAME}-amq-tcp

61616

 — 

The broker’s OpenWire port.

${APPLICATION_NAME}-amq-mesh

61616

mesh

Supports node discovery for mesh formation.

Routes

A route is a way to expose a service by giving it an externally-reachable hostname such as www.example.com. A defined route and the endpoints identified by its service can be consumed by a router to provide named connectivity from external clients to your applications. Each route consists of a route name, service selector, and (optionally) security configuration. Refer to the Openshift documentation for more information.

Service Security Hostname

${APPLICATION_NAME}-http

none

${HOSTNAME_HTTP}

${APPLICATION_NAME}-https

TLS passthrough

${HOSTNAME_HTTPS}

Build Configurations

A buildConfig describes a single build definition and a set of triggers for when a new build should be created. A buildConfig is a REST object, which can be used in a POST to the API server to create a new instance. Refer to the Openshift documentation for more information.

S2I image link Build output BuildTriggers and Settings

jboss-processserver64-openshift:1.6

jboss-processserver64-openshift

${APPLICATION_NAME}:latest

GitHub, Generic, ImageChange, ConfigChange

Deployment Configurations

A deployment in OpenShift is a replication controller based on a user defined template called a deployment configuration. Deployments are created manually or in response to triggered events. Refer to the Openshift documentation for more information.

Triggers

A trigger drives the creation of new deployments in response to events, both inside and outside OpenShift. Refer to the Openshift documentation for more information.

Deployment Triggers

${APPLICATION_NAME}

ImageChange

${APPLICATION_NAME}-postgresql

ImageChange

${APPLICATION_NAME}-amq

ImageChange

Replicas

A replication controller ensures that a specified number of pod "replicas" are running at any one time. If there are too many, the replication controller kills some pods. If there are too few, it starts more. Refer to the container-engine documentation for more information.

Deployment Replicas

${APPLICATION_NAME}

1

${APPLICATION_NAME}-postgresql

1

${APPLICATION_NAME}-amq

1

Pod Template

Image
Deployment Image

${APPLICATION_NAME}

${APPLICATION_NAME}

${APPLICATION_NAME}-postgresql

postgresql

${APPLICATION_NAME}-amq

jboss-amq-63

Readiness Probe
${APPLICATION_NAME}
/bin/bash -c /opt/eap/bin/readinessProbe.sh
${APPLICATION_NAME}-postgresql
/bin/sh -i -c psql -h 127.0.0.1 -U $POSTGRESQL_USER -q -d $POSTGRESQL_DATABASE -c 'SELECT 1'
${APPLICATION_NAME}-amq
/bin/bash -c /opt/amq/bin/readinessProbe.sh
Liveness Probe
${APPLICATION_NAME}
/bin/bash -c /opt/eap/bin/livenessProbe.sh
${APPLICATION_NAME}-postgresql
tcpSocket on port 5432
Exposed Ports
Deployments Name Port Protocol

${APPLICATION_NAME}

jolokia

8778

TCP

http

8080

TCP

https

8443

TCP

${APPLICATION_NAME}-postgresql

 — 

5432

TCP

${APPLICATION_NAME}-amq

jolokia

8778

TCP

amqp

5672

TCP

amqp-ssl

5671

TCP

mqtt

1883

TCP

stomp

61613

TCP

stomp-ssl

61612

TCP

tcp

61616

TCP

tcp-ssl

61617

TCP

Image Environment Variables
Deployment Variable name Description Example value

${APPLICATION_NAME}

KIE_CONTAINER_DEPLOYMENT

The KIE Container deployment configuration in format: containerId=groupId:artifactId:version|c2=g2:a2:v2

${KIE_CONTAINER_DEPLOYMENT}

KIE_SERVER_PROTOCOL

The protocol to access the KIE Server REST interface.

${KIE_SERVER_PROTOCOL}

KIE_SERVER_PORT

The port to access the KIE Server REST interface.

${KIE_SERVER_PORT}

KIE_SERVER_USER

The user name to access the KIE Server REST or JMS interface.

${KIE_SERVER_USER}

KIE_SERVER_PASSWORD

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).

${KIE_SERVER_PASSWORD}

KIE_SERVER_DOMAIN

JAAS LoginContext domain that shall be used to authenticate users when using JMS.

${KIE_SERVER_DOMAIN}

KIE_SERVER_JMS_QUEUES_REQUEST

JNDI name of request queue for JMS.

${KIE_SERVER_JMS_QUEUES_REQUEST}

KIE_SERVER_JMS_QUEUES_RESPONSE

JNDI name of response queue for JMS.

${KIE_SERVER_JMS_QUEUES_RESPONSE}

KIE_SERVER_EXECUTOR_JMS_QUEUE

JNDI name of executor queue for JMS.

${KIE_SERVER_EXECUTOR_JMS_QUEUE}

MQ_SERVICE_PREFIX_MAPPING

 — 

${APPLICATION_NAME}-amq=MQ

MQ_JNDI

JNDI name for connection factory used by applications to connect to the broker, e.g. java:/JmsXA

${MQ_JNDI}

MQ_USERNAME

User name for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.

${MQ_USERNAME}

MQ_PASSWORD

Password for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.

${MQ_PASSWORD}

MQ_PROTOCOL

Broker protocols to configure, separated by commas. Allowed values are: openwire, amqp, stomp and mqtt. Only openwire is supported by EAP.

tcp

MQ_QUEUES

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.

${MQ_QUEUES}

MQ_TOPICS

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.

${MQ_TOPICS}

KIE_SERVER_PERSISTENCE_DIALECT

Hibernate persistence dialect.

${KIE_SERVER_PERSISTENCE_DIALECT}

DB_SERVICE_PREFIX_MAPPING

 — 

${APPLICATION_NAME}-postgresql=DB,${APPLICATION_NAME}-postgresql=QUARTZ

TX_DATABASE_PREFIX_MAPPING

 — 

${APPLICATION_NAME}-postgresql=DB

DB_JNDI

Database JNDI name used by application to resolve the datasource, e.g. java:/jboss/datasources/ExampleDS

${DB_JNDI}

DB_USERNAME

Database user name

${DB_USERNAME}

DB_PASSWORD

Database user password

${DB_PASSWORD}

DB_DATABASE

Database name

${DB_DATABASE}

DB_MIN_POOL_SIZE

Sets xa-pool/min-pool-size for the configured datasource.

${DB_MIN_POOL_SIZE}

DB_MAX_POOL_SIZE

Sets xa-pool/max-pool-size for the configured datasource.

${DB_MAX_POOL_SIZE}

DB_TX_ISOLATION

Sets transaction-isolation for the configured datasource.

${DB_TX_ISOLATION}

QUARTZ_JNDI

 — 

${DB_JNDI}NotManaged

QUARTZ_USERNAME

Database user name

${DB_USERNAME}

QUARTZ_PASSWORD

Database user password

${DB_PASSWORD}

QUARTZ_DATABASE

Database name

${DB_DATABASE}

QUARTZ_MIN_POOL_SIZE

Sets xa-pool/min-pool-size for the configured datasource.

${DB_MIN_POOL_SIZE}

QUARTZ_MAX_POOL_SIZE

Sets xa-pool/max-pool-size for the configured datasource.

${DB_MAX_POOL_SIZE}

QUARTZ_TX_ISOLATION

Sets transaction-isolation for the configured datasource.

${DB_TX_ISOLATION}

QUARTZ_JTA

 — 

false

QUARTZ_NONXA

 — 

true

HTTPS_KEYSTORE_DIR

 — 

/etc/processserver-secret-volume

HTTPS_KEYSTORE

The name of the keystore file within the secret

${HTTPS_KEYSTORE}

HTTPS_NAME

The name associated with the server certificate

${HTTPS_NAME}

HTTPS_PASSWORD

The password for the keystore and certificate

${HTTPS_PASSWORD}

${APPLICATION_NAME}-postgresql

POSTGRESQL_USER

Database user name

${DB_USERNAME}

POSTGRESQL_PASSWORD

Database user password

${DB_PASSWORD}

POSTGRESQL_DATABASE

Database name

${DB_DATABASE}

POSTGRESQL_MAX_CONNECTIONS

The maximum number of client connections allowed. This also sets the maximum number of prepared transactions.

${POSTGRESQL_MAX_CONNECTIONS}

POSTGRESQL_SHARED_BUFFERS

Configures how much memory is dedicated to PostgreSQL for caching data.

${POSTGRESQL_SHARED_BUFFERS}

${APPLICATION_NAME}-amq

AMQ_USER

User name for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.

${MQ_USERNAME}

AMQ_PASSWORD

Password for standard broker user. It is required for connecting to the broker. If left empty, it will be generated.

${MQ_PASSWORD}

AMQ_TRANSPORTS

Broker protocols to configure, separated by commas. Allowed values are: openwire, amqp, stomp and mqtt. Only openwire is supported by EAP.

${MQ_PROTOCOL}

AMQ_SPLIT

Split the data directory for each node in a mesh.

${AMQ_SPLIT}

AMQ_MESH_DISCOVERY_TYPE

The discovery agent type to use for discovering mesh endpoints. 'dns' will use OpenShift’s DNS service to resolve endpoints. 'kube' will use Kubernetes REST API to resolve service endpoints. If using 'kube' the service account for the pod must have the 'view' role, which can be added via 'oc policy add-role-to-user view system:serviceaccount:<namespace>:default' where <namespace> is the project namespace.

${AMQ_MESH_DISCOVERY_TYPE}

AMQ_MESH_SERVICE_NAME

 — 

${APPLICATION_NAME}-amq-mesh

AMQ_MESH_SERVICE_NAMESPACE

 — 

 — 

AMQ_STORAGE_USAGE_LIMIT

The A-MQ storage usage limit

${AMQ_STORAGE_USAGE_LIMIT}

Volumes
Deployment Name mountPath Purpose readOnly

${APPLICATION_NAME}

processserver-keystore-volume

/etc/processserver-secret-volume

ssl certs

True

${APPLICATION_NAME}-postgresql

${APPLICATION_NAME}-postgresql-pvol

/var/lib/pgsql/data

postgresql

false

${APPLICATION_NAME}-amq

${APPLICATION_NAME}-amq-pvol

/opt/amq/data

kahadb

false

External Dependencies

Volume Claims

A PersistentVolume object is a storage resource in an OpenShift cluster. Storage is provisioned by an administrator by creating PersistentVolume objects from sources such as GCE Persistent Disks, AWS Elastic Block Stores (EBS), and NFS mounts. Refer to the Openshift documentation for more information.

Name Access Mode

${APPLICATION_NAME}-postgresql-claim

ReadWriteOnce

${APPLICATION_NAME}-amq-claim

ReadWriteMany