<commit_before># Puppet Module for JBoss EAP and Wildfly application servers

### ...with configuration management of resources and deployment in domain and stand-alone modes

[![Build Status](https://travis-ci.org/coi-gov-pl/puppet-jboss.svg?branch=develop)](https://travis-ci.org/coi-gov-pl/puppet-jboss) [![Puppet Forge](https://img.shields.io/puppetforge/v/coi/jboss.svg)](https://forge.puppetlabs.com/coi/jboss) [![Code Climate](https://codeclimate.com/github/coi-gov-pl/puppet-jboss/badges/gpa.svg)](https://codeclimate.com/github/coi-gov-pl/puppet-jboss) [![Dependency Status](https://gemnasium.com/coi-gov-pl/puppet-jboss.svg)](https://gemnasium.com/coi-gov-pl/puppet-jboss) [![Coverage Status](https://coveralls.io/repos/coi-gov-pl/puppet-jboss/badge.svg?branch=develop&service=github)](https://coveralls.io/github/coi-gov-pl/puppet-jboss?branch=develop) [![Inline docs](http://inch-ci.org/github/coi-gov-pl/puppet-jboss.svg?branch=develop)](http://inch-ci.org/github/coi-gov-pl/puppet-jboss)

#### Table of Contents

1. [Overview](#overview)
1. [Module Description - What the module does and why it is useful](#module-description)
1. [Setup - The basics of getting started with JBoss](#setup)
  1. [What JBoss module affects](#what-jboss-module-affects)
  1. [Beginning with JBoss module](#beginning-with-jboss-module)
1. [Install classes reference](#install-classes-reference)
1. [Configuration classes reference](#configuration-classes-reference)
1. [Application defined types reference](#application-defined-types-reference)
1. [Technical defined types reference](#technical-defined-types-reference)
1. [Logging configuration defined types](#logging-configuration-defined-types)
1. [JBoss module standard metaparameters](#jboss-module-standard-metaparameters)
1. [Limitations - OS compatibility, etc.](#limitations)
1. [Development - Guide for contributing to the module](#development)

## Overview

This module can install JBoss Enterprise Application Platform and WildFly application servers. It can also manage their resources and applications in either a domain or a stand-alone mode. It supports resources like datasource, security domain, JMS queues and any other custom CLI reachable attributes and path. It can also deploy your applications.

## Module Description

The Center for Information Technology in Poland manage the JBoss application server farm. We were looking for a simple tool to support and automate the management of these servers in the spirit of DevOps methodology. The tool should also be powerful enough to satisfy all, even future requirements. Nothing was able to meet our requirements, so we have designed and wrote the corresponding Puppet module.

The module allows user to perform all necessary operations for JBoss servers. Here are couple of features:

 * Installation and upgrading of application servers in domain and standalone modes,
 * support for JBoss AS, EAP, and WildFly,
 * support for the Red Hat and Debian operating systems families,
 * installation of internal JBoss modules and their generation from a set of libraries,
 * configuration in a domain configuration mode (including the creation of virtual servers and groups of servers) and also standalone mode,
 * JBoss user management,
 * management of JBoss network interfaces,
 * JPA datasource management, security domains, JMS queues, resource adapters and system logging
 * deployment and removing of artifacts

In addition to the above list, you can also configure any JBoss CLI reachable configuration, with the entire set of parameters. This allows you to configure any parameter supported by JBoss.

### Got questions?

We will be happy to receive your feedback. Ask as about everything releated to this module on [Slack](https://puppet-jboss.slack.com)!

## Setup

### What JBoss module affects

* This module installs JBoss Application Servers from zip files distributed by Red Hat. Those files are being extracted to target directory, by default: `/usr/lib/<product>-<version>/` for ex.: `/usr/lib/wildfly-8.2.0.Final`.
* Module will also add service with name of `$jboss::product` for ex.: `/etc/init.d/wildfly`
* By default module will install default Java JDK using `puppetlabs/java` module. This can be turned off by using `$jboss::java_autoinstall` variable or hiera key: `jboss::params::java_autoinstall`
* By default module will install and use `wget` package to download zip files

### Beginning with JBoss module

To install JBoss Application Server you can use just, it will install Wildfly 8.2.0.Final by default:

```puppet
include jboss
```

To install JBoss EAP or older JBoss AS use:

```puppet
class { 'jboss':
  product => 'jboss-eap',
  version => '6.4.0.GA',
}
```<commit_msg>Switch to Gitter.im chat instead of Slack<commit_after># Puppet Module for JBoss EAP and Wildfly application servers

### ...with configuration management of resources and deployment in domain and stand-alone modes

[![Build Status](https://travis-ci.org/coi-gov-pl/puppet-jboss.svg?branch=develop)](https://travis-ci.org/coi-gov-pl/puppet-jboss) [![Puppet Forge](https://img.shields.io/puppetforge/v/coi/jboss.svg)](https://forge.puppetlabs.com/coi/jboss) [![Code Climate](https://codeclimate.com/github/coi-gov-pl/puppet-jboss/badges/gpa.svg)](https://codeclimate.com/github/coi-gov-pl/puppet-jboss) [![Dependency Status](https://gemnasium.com/coi-gov-pl/puppet-jboss.svg)](https://gemnasium.com/coi-gov-pl/puppet-jboss) [![Coverage Status](https://coveralls.io/repos/coi-gov-pl/puppet-jboss/badge.svg?branch=develop&service=github)](https://coveralls.io/github/coi-gov-pl/puppet-jboss?branch=develop) [![Inline docs](http://inch-ci.org/github/coi-gov-pl/puppet-jboss.svg?branch=develop)](http://inch-ci.org/github/coi-gov-pl/puppet-jboss) [![Join the chat at https://gitter.im/coi-gov-pl/puppet-jboss](https://badges.gitter.im/coi-gov-pl/puppet-jboss.svg)](https://gitter.im/coi-gov-pl/puppet-jboss?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

#### Table of Contents

1. [Overview](#overview)
1. [Module Description - What the module does and why it is useful](#module-description)
1. [Setup - The basics of getting started with JBoss](#setup)
  1. [What JBoss module affects](#what-jboss-module-affects)
  1. [Beginning with JBoss module](#beginning-with-jboss-module)
1. [Install classes reference](#install-classes-reference)
1. [Configuration classes reference](#configuration-classes-reference)
1. [Application defined types reference](#application-defined-types-reference)
1. [Technical defined types reference](#technical-defined-types-reference)
1. [Logging configuration defined types](#logging-configuration-defined-types)
1. [JBoss module standard metaparameters](#jboss-module-standard-metaparameters)
1. [Limitations - OS compatibility, etc.](#limitations)
1. [Development - Guide for contributing to the module](#development)

## Overview

This module can install JBoss Enterprise Application Platform and WildFly application servers. It can also manage their resources and applications in either a domain or a stand-alone mode. It supports resources like datasource, security domain, JMS queues and any other custom CLI reachable attributes and path. It can also deploy your applications.

## Module Description

The Center for Information Technology in Poland manage the JBoss application server farm. We were looking for a simple tool to support and automate the management of these servers in the spirit of DevOps methodology. The tool should also be powerful enough to satisfy all, even future requirements. Nothing was able to meet our requirements, so we have designed and wrote the corresponding Puppet module.

The module allows user to perform all necessary operations for JBoss servers. Here are couple of features:

 * Installation and upgrading of application servers in domain and standalone modes,
 * support for JBoss AS, EAP, and WildFly,
 * support for the Red Hat and Debian operating systems families,
 * installation of internal JBoss modules and their generation from a set of libraries,
 * configuration in a domain configuration mode (including the creation of virtual servers and groups of servers) and also standalone mode,
 * JBoss user management,
 * management of JBoss network interfaces,
 * JPA datasource management, security domains, JMS queues, resource adapters and system logging
 * deployment and removing of artifacts

In addition to the above list, you can also configure any JBoss CLI reachable configuration, with the entire set of parameters. This allows you to configure any parameter supported by JBoss.

### Got questions?

We will be happy to receive your feedback. Ask as about everything releated to this module on [Gitter.im chat](https://gitter.im/coi-gov-pl/puppet-jboss?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)!

## Setup

### What JBoss module affects

* This module installs JBoss Application Servers from zip files distributed by Red Hat. Those files are being extracted to target directory, by default: `/usr/lib/<product>-<version>/` for ex.: `/usr/lib/wildfly-8.2.0.Final`.
* Module will also add service with name of `$jboss::product` for ex.: `/etc/init.d/wildfly`
* By default module will install default Java JDK using `puppetlabs/java` module. This can be turned off by using `$jboss::java_autoinstall` variable or hiera key: `jboss::params::java_autoinstall`
* By default module will install and use `wget` package to download zip files

### Beginning with JBoss module

To install JBoss Application Server you can use just, it will install Wildfly 8.2.0.Final by default:

```puppet
include jboss
```

To install JBoss EAP or older JBoss AS use:

```puppet
class { 'jboss':
  product => 'jboss-eap',
  version => '6.4.0.GA',
}
```
{'fraction_non_alphanumeric': 0.10401143207104216, 'fraction_numerical': 0.004491170766561192, 'mean_word_length': 5.116104868913857, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 11, 'https://': 25, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5228160', 'n_tokens_mistral': 2995, 'n_tokens_neox': 2816, 'n_words': 1022}