The Paketo Apache Tomcat Buildpack is a Cloud Native Buildpack that contributes Apache Tomcat and Process Types for WARs.
This buildpack will participate all the following conditions are met
<APPLICATION_ROOT>/WEB-INF
existsMain-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
- Contribute
context.xml
,logging.properties
,server.xml
, andweb.xml
toconf/
- Contribute Access Logging Support, Lifecycle Support, and Logging Support
- Contribute external configuration if available
- Contribute
- Contributes
tomcat
,task
, andweb
process types
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 settingCATALINA_*
environment variables, will not be available. - Tomcat will be run with
umask
set to0022
instead of thecatalina.sh
provided default of0027
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. |
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
├── ...
The buildpack optionally accepts the following bindings:
Key | Value | Description |
---|---|---|
<dependency-digest> |
<uri> |
If needed, the buildpack will fetch the dependency with digest <dependency-digest> from <uri> |
This buildpack is released under version 2.0 of the Apache License.