Skip to content

Latest commit

 

History

History
115 lines (101 loc) · 3.66 KB

README.md

File metadata and controls

115 lines (101 loc) · 3.66 KB

Puppet-Jetty

Build Status Github Tag Puppet Forge Downloads

A module to install Jetty and configure the service. This module has been highly inspired on maestroweb/jetty module

Usage

### Minimal setup

  class { '::jetty':
    version => '9.2.20.v20161216',
  }

More sofisticated setup

  class { '::jetty':
    root            => '/opt',
    base            => '/opt/web/base',
    version         => '9.2.20.v20161216',
    service_ensure  => 'running',
    manage_user     => true,
    user            => 'jettyuser',
    group           => 'jettygroup',
    mirror          => 'http://central.maven.org/maven2/',
    archive_type    => 'tar.gz',
    checksum_type   => 'sha1',
    jetty_arguments => 'jetty.option=value'
    java            => '/usr/java/jdk1.8.0_51/bin/java',
    java_options    => '-Xms128M -Xmx1G -Dkey=value',
  }

This is a puppet 4 module, the recomendation is to use the binding capabilities of this puppet version. First configure in your hiera hierarchy the options that you want to setup

---
    jetty::root: '/opt'
    jetty::base: '/opt/web/base'
    jetty::version: '9.2.20.v20161216'
    jetty::service_ensure: 'running'
    jetty::manage_user: true
    jetty::user: 'jettyuser'
    jetty::group: 'jettygroup'
    jetty::mirror: 'http://central.maven.org/maven2/'
    jetty::archive_type: 'tar.gz'
    jetty::checksum_type: 'sha1'
    jetty_arguments: 'jetty.option=value'
    jetty::java: '/usr/java/jdk1.8.0_51/bin/java'
    jetty::java_options: '-Xms128M -Xmx1G -Dkey=value

Then you only need to include the class in your profile class, this will create a fully operation base with log4j configured

  include '::jetty'

### For a complete customization for the start.ini config file.

You must include an additional parameter in the manifest called configuration, which is an optional Hash, in the form:

  ---
    jetty::root: '/opt',
    jetty::base: '/opt/web/base'
    jetty::version: '9.2.20.v20161216'
    jetty::service_ensure: 'running'
    jetty::manage_user: true
    jetty::user: 'jettyuser'
    jetty::group: 'jettygroup'
    jetty::mirror: 'http://central.maven.org/maven2/'
    jetty::archive_type: 'tar.gz'
    jetty::checksum_type: 'sha1'
    jetty_arguments: 'jetty.some_option=some_value'
    jetty::java: '/usr/java/jdk1.8.0_51/bin/java'
    jetty::java_options: '-Xms128M -Xmx1G -Djvm_key=jvm_value'
    jetty::configuration:
      modules:
        server:
          threads.min: 10
          threads.max: 20
          threads.timeout: 60000
          jetty.output.buffer.size: 32768
          jetty.request.header.size: 8192
          jetty.response.header.size: 8192
          jetty.send.server.version: false
          jetty.send.date.header: false
          jetty.dump.start: false
          jetty.dump.stop: false
          jetty.delayDispatchUntilContent: false
        deploy:
          jetty.deploy.monitoredDirName: webapps
        http:
          jetty.port: 8081
          jetty.host: 127.0.0.1
          http.timeout: 30000
          http.soLingerTime: -1
          http.selectors: 1
          http.acceptors: 1
          http.selectorPriorityDelta: 
          http.acceptorPriorityDelta: 0
        jsp:
    jetty::logconfig:
      appenders:
        - Console
        - File
      loglevel: DEBUG
      file: /var/log/my_jetty_instance.log