Forge Home

tcif

A module to manage the EuPathDB Tomcat Instance Framework

7,786 downloads

7,786 latest version

4.5 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.0.0 (latest)
released Nov 9th 2015
This version is compatible with:

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'eupathdb-tcif', '1.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add eupathdb-tcif
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install eupathdb-tcif --version 1.0.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download
Tags: tcif

Documentation

eupathdb/tcif — version 1.0.0 Nov 9th 2015

Install EupathDB's Tomcat Instance Framework

Requirements

Puppet Modules

Node dependencies

The node must have the following installed and configured before this module can be used. You are responsible for arranging dependency resolutions. See tcif_stack.pp in the examples directory for a sample profile manifest.

  • A YUM repo that provides the Tomcat Instance Framework rpm.
  • Tomcat
  • Java

Install Tomcat Instance Framework

include tcif

This installs the tcif RPM from a YUM repository.

Global TcIF Configuration

The configuration file shared/conf/global.env which profides default configurations to all instances can be managed with the tcif::global_config definition.

tcif::global_config{ 'tcif':
  catalina_home => '/usr/local/apache-tomcat-6.0.35',
  java_home     => '/usr/java/jdk1.7.0_25',
  instances_dir => '/usr/local/tomcat_instances,
  oracle_home   => '/u01/app/oracle/product/11.2.0.3/db_1',
  environment   => 'CATALINA_OPTS["MEM"]="-Xms256m -Xmx1024m -XX:MaxPermSize=512m"',
}

catalina_home

java_home

instances_dir

oracle_home

environment

optional. Additional entries in the instance.env file. Only used with instance.env.erb or other template.

Create a named instance

tcif::instance { 'TemplateDB':
  ensure         => running,
  http_port      => 8080,
  ajp13_port     => 8081,
  jmx_port       => 8082,
  tomcat_user    => tomcat,
  template_ver   => 6.0.35,
  orcl_jdbc_path => $orcl_jdbc_path,
  pg_jdbc_path   => /usr/share/java/postgresql94-jdbc.jar,
  environment    => $environment,
  config_file    => template('tcif/instance.env.erb'),
  require        => Class['tcif'],
}

See tomcat_instance.pp in the example directory for a sample define that uses hiera data.

Parameters for tcif::instance

ensure

valid values are

  • running - The instance exists and has a running jsvc process. This is the default. If the instance does not exist it will be created and started. If the instance exists in a stopped state it will started.
  • absent - The instance directory does not exist. It will be shutdown and deleted if necessary.
  • stopped - The instance exists but has not running jsvc process. The instance directory is renamed with a leading underscore (_) so it will be ignored by instance_manager and will not be managed with the tomcat service. A disabled instance will not receive configuration updates. If the instance is not present on the system it will be created and then set to the stopped state.

http_port

ajp13_port

jmx_port

tomcat_user

template_ver

addons

optional. Files to install into the instance. The instance will be restarted upon changes to addons. The value for addons is a hash

$addons = {
  Jolokia => {
    source => 'https://repo1.maven.org/maven2/org/jolokia/jolokia-war/1.3.2/jolokia-war-1.3.2.war'
    sha256 => '845f3e0de2c2595ef8051941aa00139e618df6f3a921ad8485775678939b572d'
    dest   => 'webapps/jolokia.war'
  }
  JDBC => {
    source => "file:///u01/app/oracle/product/11.2.0.3/db_1/jdbc/lib/ojdbc6.jar"
    dest:  => 'shared/lib/ojdbc6.jar'
  }
}

The parameters are:

  • source: Required. The location of the file being installed. This uses the archive module so its syntax requirements apply.
  • dest: Required. The relative filepath destination, including file name. This path is relative to ${instances_dir}/${instance_name}.
  • sha256: Optional. The sha256 checksum of the source file. See documentation for the archive module for details. If not defined, no checksum validation will occur.

environment

optional. Additional entries in the instance.env file. Only used with instance.env.erb or other template.

config_file

The origin of the instance.env file.

public_logs

true or false whether the tomcat instance logs are world readable. Default false.