jboss-openshift / application-templates

OpenShift application templates supporting JBoss Middleware based applications.
Apache License 2.0
153 stars 303 forks source link

Application Templates

This project contains OpenShift v3 application templates which support applications based on JBoss Middleware products.

Structure

The templates in this folder are organized by JBoss Middleware product. Each template is configured with the following basic parameters:

In addition to these basic parameters, templates utilizing databases will have the following:

Common Image Repositories

The jboss-image-streams.json file contains ImageStream definitions for all JBoss Middleware products. This will need to be installed in the common openshift namespace (oc create -f jboss-images-streams.json -n openshift) before using any of the templates in these folders. You will also need to install (into the openshift namespace) the database image streams supplied by OpenShift to use any of the templates that integrate with MySQL, PostgreSQL or MongoDB.

HTTPS configuration

The majority of templates contain configuration that requires the creation of resources within your project to support HTTPS, specifically a service account and a secret that can be included into the pod as a volume. The secrets directory contains a number of examples that can be installed into your project to allow you to test the A-MQ, EAP and JWS templates, you should replace the contents of these with data that is more appropriate for your deployments.

To install the service accounts and secrets into your project:

$ oc create -n myproject -f secrets

The following templates can be used without creating a service account or a secret: eap/eap64-basic-s2i.json, webserver/jws31-tomcat7-basic-s2i.json and webserver/jws31-tomcat8-basic-s2i.json.

Example

The easiest way to use the templates is to install them in your project, then use the Create+ button in the OpenShift console to create your application. The console will prompt you for the values for all of the parameters used by the template. To set this up for a particular template:

$ oc create -n openshift -f jboss-image-streams.json
$ oc create -n myproject -f webserver/jws31-tomcat7-basic-s2i.json

After executing the above, you should be able to see the template after pressing Create+ in your project.

Or, if you prefer the command line:

$ oc create -n openshift -f jboss-image-streams.json
$ oc process -n yourproject -f eap/eap64-basic-s2i.json -p APPLICATION_NAME=helloworld -p SOURCE_REPOSITORY_URL=https://github.com/jboss-developer/jboss-eap-quickstarts -p SOURCE_REPOSITORY_REF=6.4.x -p CONTEXT_DIR=helloworld | oc create -n yourproject -f -

You may also install the templates into the openshift namespace in order to make them available to all users:

$ oc create -n openshift -f amq -f eap -f webserver