Forge Home


Install and configure Glassfish J2EE application server.


98,193 latest version

3.1 quality score

Version information

  • 0.7.0 (latest)
  • 0.6.0
  • 0.5.0
  • 0.4.0
  • 0.3.0
  • 0.2.0
  • 0.1.0
released Dec 4th 2015
This version is compatible with:
  • Puppet >=3.0.0 <4.0.0
  • , , , , ,

Start using this module

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

Add this module to your Puppetfile:

mod 'fatmcgav-glassfish', '0.7.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add fatmcgav-glassfish
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install fatmcgav-glassfish --version 0.7.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.

Tags: glassfish


fatmcgav/glassfish — version 0.7.0 Dec 4th 2015

Puppet Glassfish module

Puppet Forge Build Status Coverage Status

Original puppet-glassfish author - Lars Tobias Skjong-Børsting
Copyright - Gavin Williams

License: GPLv3

####Table of Contents

##Overview This module adds support for installing and managing the Glassfish J2EE application server. It supports Glassfish J2EE version 3.1 and 4.0, running on EL and Debian linux distributions.

##Features This module can do the following:

  • Install Glassfish J2EE Application server, either by downloading a Zip file or installing from a package.
  • Install and configure Java if appropriate.
  • Manage user accounts if appropriate.
  • Configure PATH to support Glassfish.
  • Create Linux service to run Glassfish on system startup.
  • Create asadmin password files for different users or locations.
  • Install additional JARs if appropriate.
  • Create and manage Glassfish clusters, including:
  • Domain Administration Service (DAS)
  • Nodes
  • Instances
  • Manage various configuration elements of Glassfish, including:
  • Applications
  • Auth Realm
  • Custom Resources
  • Log Attribute properties
  • Javamail Resources
  • JDBC Connection Pools
  • JDBC Resources
  • JMS Resources
  • JVM Options
  • Network Listeners
  • Resource references
  • Set options
  • System properties

Further features that are likely to be added include:

  • Additional support for Cluster environments, such as targeting resources at cluster.

##Requirements This module requires the Puppetlabs-Stdlib module >= 3.2.0.

##Usage Glassfish can be installed and configured with a default configuration with:

include glassfish

This will install Java 7 OpenJDK, create a Glassfish group and user account, download and install Glassfish J2EE v3.1.2.2 using a Zip file. No domains are created by default.

To install Glassfish using a package manager, such as yum or apt, you could do:

class { 'glassfish':
  install_method => 'package', 
  package_prefix => 'glassfish'

package_prefix can be used to change the package naming structure. The required version is appended to the end to form the package name, e.g.: glassfish3-

To create and configure a domain upon installation, you could do:

class { 'glassfish': 
  create_domain => true, 
  domain_name   => 'gf_domain', 
  portbase      => '8000'

This will install Glassfish and create a domain called 'gfdomain' using portbase 8000, with a default username/password of '_admin/adminadmin'.

If you are using other means to manage user accounts on this host, then you can stop this module managing user accounts by doing:

class { 'glassfish':
  manage_accounts => false 

This module also provides several defined types which can be used to simplify other tasks, such as creating a domain using glassfish::create_domain to create a new domain, or glassfish::create_cluster to create a new cluster.

It is also possible to use the types directly.

  jdbcconnectionpool { 'ConPool':
    ensure       => present,
    resourcetype => 'javax.sql.ConnectionPoolDataSource',
    dsclassname  => 'oracle.jdbc.pool.OracleConnectionPoolDataSource',
    properties   => {
      'user'     => 'con_user', 
      'password' => 'con_password',
      'url'      => 'jdbc\:oracle\:thin\:@localhost\:1521\:XE'
    portbase     => '8000',
    asadminuser  => 'admin',
    user         => 'glassfish'

  jdbcresource { 'jdbc/ConPool':
    ensure         => present,
    connectionpool => 'ConPool',
    portbase       => '8000',
    target         => 'aCluster',
    asadminuser    => 'admin',
    user           => 'glassfish'

##Limitations This module has primarily been developed and tested on CentOS 6. It has also been lightly tested on Debian and Ubuntu, so should support most common Linux distributions.

##Contributors Thanks to the following people who have helped with this module:

  • Stepan Stipl - Features and testing
  • Jon Black - Testing
  • Alex Jennings - Features
  • joliveira - Bug fixes
  • Jesse Cotton - Features
  • Bjoern Lippert - Bug fixes
  • Doug Neal - Features
  • Svante Paldan - Features and bug fixes

##Development If you have any features that you feel are missing or find any bugs for this module, feel free to raise an issue on Github, or even better submit a PR and I will review as soon as I can.

##Testing This module has been written to support Rspec testing of both the manifests and types/providers. In order to execute the tests, run the following from the root of the module: bundle install && bundle exec rake spec