Skip to content

A Cloud Native Buildpack that contributes Apache Tomcat and Process Types for WARs

License

Notifications You must be signed in to change notification settings

paketo-buildpacks/apache-tomcat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gcr.io/paketo-buildpacks/apache-tomcat

The Paketo Apache Tomcat Buildpack is a Cloud Native Buildpack that contributes Apache Tomcat and Process Types for WARs.

Behavior

This buildpack will participate all the following conditions are met

  • <APPLICATION_ROOT>/WEB-INF exists
  • Main-Class is NOT defined in the mainfest

The buildpack will do the following:

  • Requests that a JRE be installed
  • Contribute a Tomcat instance to $CATALINA_HOME
  • Contribute a Tomcat instance to $CATALINA_BASE
  • Contributes tomcat, task, and web process types

Tiny Stack

When this buildpack runs on the Tiny stack, which has no shell, the following notes apply:

  • As there is no shell, the catalina.sh script cannot be used to start Tomcat
  • The Tomcat Buildpack will generate a start command directly. It does not support all the functionality in catalina.sh.
  • Some configuration options such as bin/setenv.sh and setting CATALINA_* environment variables, will not be available.
  • Tomcat will be run with umask set to 0022 instead of the catalina.shprovided default of 0027

Configuration

Environment Variable Description
$BP_TOMCAT_CONTEXT_PATH The context path to mount the application at. Defaults to empty (ROOT).
$BP_TOMCAT_EXT_CONF_SHA256 The SHA256 hash of the external configuration package
$BP_TOMCAT_EXT_CONF_STRIP The number of directory levels to strip from the external configuration package. Defaults to 0.
$BP_TOMCAT_EXT_CONF_URI The download URI of the external configuration package
$BP_TOMCAT_EXT_CONF_VERSION The version of the external configuration package
$BP_TOMCAT_VERSION Configure a specific Tomcat version. This value must exactly match a version available in the buildpack so typically it would configured to a wildcard such as 9.*.
BPL_TOMCAT_ACCESS_LOGGING_ENABLED Whether access logging should be activated. Defaults to inactive.

External Configuration Package

The artifacts that the repository provides must be in TAR format and must follow the Tomcat archive structure:

<CATALINA_BASE>
└── conf
    ├── context.xml
    ├── server.xml
    ├── web.xml
    ├── ...

Bindings

The buildpack optionally accepts the following bindings:

Type: dependency-mapping

Key Value Description
<dependency-digest> <uri> If needed, the buildpack will fetch the dependency with digest <dependency-digest> from <uri>

License

This buildpack is released under version 2.0 of the Apache License.