Skip to content

Commit

Permalink
Merge branch 'release/v1.0.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
Suszyński Krzysztof committed Nov 25, 2015
2 parents 16a5cd1 + 2ef32d4 commit d57eb06
Show file tree
Hide file tree
Showing 32 changed files with 676 additions and 257 deletions.
16 changes: 15 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,21 @@ matrix:
env: PUPPET_VERSION="~> 3.0"
- rvm: '2.1'
env: PUPPET_VERSION="~> 3.0" STRICT_VARIABLES=yes
# FIXME: GH Issue #2 - Activate acceptance tests for centos-6, debian-7 and ubuntu-14.04 on Travis CI's Docker
- rvm: default
sudo: required
services: docker
env: PUPPET_VERSION="3.8.3" RS_SET="centos-6-x86_64-docker"
script: bundle exec rake acceptance
- rvm: default
sudo: required
services: docker
env: PUPPET_VERSION="3.8.3" RS_SET="debian-7-x86_64-docker"
script: bundle exec rake acceptance
- rvm: default
sudo: required
services: docker
env: PUPPET_VERSION="3.8.3" RS_SET="ubuntu-14.04-x86_64-docker"
script: bundle exec rake acceptance
# FIXME: GH Issue #3 - Activate acceptance tests on Travis CI for Puppet Enterprise, at least 2.8.8 and 3.8.2
notifications:
email: false
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ group :development do
end
end

eval(IO.read(File.join(File.dirname(__FILE__), 'Gemfile.ruby19')), binding) if RUBY_VERSION < '2.0.0' and RUBY_VERSION >= '1.9.0'
eval(IO.read(File.join(File.dirname(__FILE__), 'Gemfile.ruby18')), binding) if RUBY_VERSION < '1.9.0'

# vim:ft=ruby
2 changes: 2 additions & 0 deletions Gemfile.ruby18
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
group :test do
gem 'rspec-its', :require => false
gem 'rspec', '~> 3.1.0', :require => false

gem 'tins', '~> 1.6.0', :require => false if RUBY_VERSION < '1.9.0' and RUBY_VERSION >= '1.8.0'
end

group :development do
Expand Down
6 changes: 6 additions & 0 deletions Gemfile.ruby19
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env ruby
# This is extra Gemfile for dependencies in old Ruby 1.9.x

group :test do
gem 'tins', '~> 1.6.0', require: false if RUBY_VERSION < '2.0.0' and RUBY_VERSION >= '1.9.0'
end
458 changes: 229 additions & 229 deletions README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ end
desc "Run syntax, lint, and spec tests."
task :test => [
:metadata,
:lint,
:validate,
:clean_fixtures,
:lint,
:spec,
]
22 changes: 21 additions & 1 deletion manifests/deploy.pp
Original file line number Diff line number Diff line change
@@ -1,4 +1,24 @@
# Deploys artifact to JBoss server
# == Define: jboss::deploy
#
# This defined type can be used to deploy and undeploy standard Java artifacts to JBoss server
#
# === Parameters
#
# This type uses *JBoss module standard metaparameters*
#
# [*path*]
# A path to standard Java archive for ex.: war or ear file.
# [*ensure*]
# Standard ensure parameter. Can be either present or absent.
# [*jndi*]
# **This is the namevar**. The JNDI name of deployed archive.
# [*redeploy*]
# This parameter can be used to force redeployment of already deployed archive. By default it
# is equals for false
# [*servergroups*]
# In domain mode, you need to pass here actual server group name on which you wish to deploy
# the archive.
#
define jboss::deploy (
$path,
$ensure = 'present',
Expand Down
8 changes: 7 additions & 1 deletion manifests/domain/controller.pp
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# == Class: jboss::domain::controller
#
# This class will setup JBoss server to run as controller of the domain. It has no parameters.
# This class will setup parameters for JBoss server to run as controller of the domain. It
# has no parameters. This class must be used before main JBoss class fo ex.:
#
# include jboss::domain::controller
# class { 'jboss':
# enableconsole => true,
# }
#
class jboss::domain::controller {
class { 'jboss::internal::runtime::dc':
Expand Down
26 changes: 24 additions & 2 deletions manifests/domain/node.pp
Original file line number Diff line number Diff line change
@@ -1,7 +1,29 @@
# == Class: jboss::domain::node
#
# This class will setup JBoss server to run as node of the domain. It takes two parameters: `ctrluser` and `ctrlpassword`. User name
# and password must be setup to JBoss controller. Easiest way to add jboss management user with `jboss::user` type.
# This class will setup JBoss server to run as node of the domain.
#
# It takes two parameters: `ctrluser` and `ctrlpassword`. User name and password must
# be setup to JBoss controller. Easiest way to add jboss management user
# with `jboss::user` type.
#
# Example:
#
# $user = 'jb-user'
# $passwd = 'SeC3eT!1'
# node 'controller' {
# include jboss::domain::controller
# include jboss
# jboss::user { $user:
# ensure => 'present',
# password => $passwd,
# }
# }
# node 'node' {
# class { 'jboss::domain::node':
# ctrluser => $user,
# ctrlpassword => $passwd,
# }
# }
#
class jboss::domain::node (
$ctrluser,
Expand Down
32 changes: 31 additions & 1 deletion manifests/domain/server.pp
Original file line number Diff line number Diff line change
@@ -1,4 +1,34 @@
# Creates JBoss domain server
# == Define: jboss::domain::server
#
# This defined type simplifies creation and removal and updating JBoss domain virtual server (server instance)
# running on a host server (host controller) in domain mode.
#
# === Parameters
#
# This type uses *JBoss module standard metaparameters*
#
# [*name*]
# **This is a namevar**. Standard Puppet namevar indicates name of this virtual server (instance).
# [*group*]
# This parameter indicates a server group that this virtual server should be member of. If you are setting
# `ensure` parameter to `running` this is required to be set.
# [*ensure*]
# This is standard ensure puppet parameter. It is extended to support also `running` and `stopped` values
# as an addition to standard `present` and `absent`.
# [*host*]
# This parameter indicates a server that should be host (controller) to this virtual server (instance). By
# default, this is taken from current machine JBoss hostname (`$jboss::hostname` parameter).
# [*autostart*]
# This parameter indicates whether this virtual server (instance), should be automatically started when
# host (controller) starts. Be default it is set to `true`.
# [*socket_binding_group*]
# This parameter indicates that this virtual server should use value of it as socket binding group, By
# default it is set to `undef` and not being used.
# [*socket_binding_port_offset*]
# This parameter indicates offset on JBoss ports, defined by socket binding group. It will shift ports up
# or down by amount described. The format is simply `n` or `-n`, for example: `120` will shift all ports by
# 120 up making standard http port being now `8080 + 120 = 8200`. By default it is equal to `0`.
#
define jboss::domain::server (
$group = false,
$ensure = 'running',
Expand Down
38 changes: 37 additions & 1 deletion manifests/domain/servergroup.pp
Original file line number Diff line number Diff line change
@@ -1,4 +1,40 @@
# Creates JBoss domain server group
# == Define: jboss::domain::servergroup
#
# This defined type simplifies creation and removal and updating JBoss domain server group that can enforce
# same configuration (profile, deployments and JVM settings) across multiple servers on multiple host
# controllers. This is only possible in domain mode.
#
# === Parameters
#
# This type uses *JBoss module standard metaparameters*
#
# [*ensure*]
# Standard Puppet ensure parameter with values `present` and `absent`
# [*permgensize*]
# This parameters configures JVM PermGen minimal size, By default it is equal to `32m`
# [*maxpermgensize*]
# This parameters configures JVM PermGen maximal size, By default it is equal to `256m`
# [*heapsize*]
# This parameters configures JVM Heap minimal size, By default it is equal to `256m`
# [*maxheapsize*]
# This parameters configures JVM Heap maximal size, By default it is equal to `1303m`
# [*profile*]
# This parameter configure profile to be active on all servers within this group. By default
# it is equal to value of `$::jboss::profile`.
# [*socket_binding_group*]
# This parameter indicates that server instances within this group should use value of it as socket
# binding group, By default it is set to `full-sockets`.
# [*socket_binding_port_offset*]
# This parameter indicates offset on JBoss ports, defined by socket binding group. It will shift ports up
# or down by amount described. The format is simply `n` or `-n`, for example: `120` will shift all ports by
# 120 up making standard http port being now `8080 + 120 = 8200`. By default it is equal to `0`.
# [*system_properties*]
# This parameter can be used to set system properties that will be passed to server instance java
# process as `-D` parameters. It's empty by default.
# [*jvmopts*]
# This property can be set to configure additional JVM options to be passed to server instances in
# addition to standard memory configuration.
#
define jboss::domain::servergroup (
$ensure = 'present',
$permgensize = $::jboss::internal::params::memorydefaults::permgensize,
Expand Down
94 changes: 92 additions & 2 deletions manifests/interface.pp
Original file line number Diff line number Diff line change
@@ -1,3 +1,93 @@
# == Define: jboss::interface
#
# This defined type can be used to setup JBoss interfaces. It can add, remove or change
# existing interfaces.
#
# More info about interfaces may be found here: https://docs.jboss.org/author/display/WFLY9/Interfaces+and+ports
#
# === Parameters
#
# This type uses *JBoss module standard metaparameters*
#
# [*interface_name*]
# **This is the namevar**. Name of the interface to manage.
# [*ensure*]
# Standard ensure parameter. Can be either `present` or `absent`.
#
# === Exclusive parameters
#
# Parameters listed here are exclusive. Only one of them can be set at once.
#
# [*any_address*]
# This is boolean parameter. If set to `true` JBoss will bind network to any network ip.
# Bassicly its the same as passing `0.0.0.0` as inet address.
# [*any_ipv4_address*]
# This is boolean parameter. If set to `true` JBoss will bind network to any ipv4 network ip.
# It is similar as passing `0.0.0.0` as inet address
# [*any_ipv6_address*]
# This is boolean parameter. If set to `true` JBoss will bind network to any ipv6 network ip.
# It's should be the same as passing `::`
# [*inet_address*]
# Attribute indicating that part of the selection criteria for choosing an IP address for this
# interface should be whether or not the address matches the given value. Value is either a IP
# address in IPv6 or IPv4 dotted decimal notation, or a hostname that can be resolved to an IP
# address. An `undef` value means this attribute is not relevant to the IP address selection.
# For ex.: `172.20.0.1`
# [*link_local_addres*]
# Attribute indicating that part of the selection criteria for choosing an IP address for this
# interface should be whether or not the address is link-local. An `undef` or `false` value
# means this attribute is not relevant to the IP address selection.
# [*loopback*]
# Attribute indicating that part of the selection criteria for choosing an IP address for this
# interface should be whether or not it is a loopback address. An `undef` or `false` value
# means this attribute is not relevant to the IP address selection.
# [*loopback_address*]
# Attribute indicating that the IP address for this interface should be the given value, if a
# loopback interface exists on the machine. A 'loopback address' may not actually be configured
# on the machine's loopback interface. Differs from inet-address in that the given value will
# be used even if no NIC can be found that has the IP specified address associated with it.
# An `undef` or `false` value means this attribute is not relevant to the IP address
# selection. For ex. `127.0.1.1`
# [*multicast*]
# Attribute indicating that part of the selection criteria for choosing an IP address for this
# interface should be whether or not its network interface supports multicast. An `undef`
# or `false` value means this attribute is not relevant to the IP address selection.
# [*nic*]
# Attribute indicating that part of the selection criteria for choosing an IP address for this
# interface should be whether its network interface has the given name. The name of a network
# interface (e.g. eth0, eth1, lo). An `undef` value means this attribute is not relevant to
# the IP address selection. For ex.: `eth3`
# [*nic_match*]
# Attribute indicating that part of the selection criteria for choosing an IP address for this
# interface should be whether its network interface has a name that matches the given regular
# expression. Value is a regular expression against which the names of the network interfaces
# available on the machine can be matched to find an acceptable interface. An `undef` value
# means this attribute is not relevant to the IP address selection. For ex.: `^eth?$`
# [*point_to_point*]
# Attribute indicating that part of the selection criteria for choosing an IP address for this
# interface should be whether or not its network interface is a point-to-point interface. An
# `undef` or `false` value means this attribute is not relevant to the IP address selection
# [*public_address*]
# Attribute indicating that part of the selection criteria for choosing an IP address for this
# interface should be whether or not it is a publicly routable address. An `undef` or `false`
# value means this attribute is not relevant to the IP address selection
# [*site_local_addres*]
# Attribute indicating that part of the selection criteria for choosing an IP address for this
# interface should be whether or it is a site-local address. An `undef` or `false` value
# means this attribute is not relevant to the IP address selection
# [*subnet_match*]
# Attribite indicating that part of the selection criteria for choosing an IP address for this
# interface should be evaluated from regular expression against a subnets of all interfaces. An
# example: `192.168.0.0/24`
# [*up*]
# Attribute indicating that part of the selection criteria for choosing an IP address for this
# interface should be whether its network interface is currently up. An `undef` or `false`
# value means this attribute is not relevant to the IP address selection
# [*virtual*]
# Attribute indicating that part of the selection criteria for choosing an IP address for this
# interface should be whether its network interface is a virtual interface. An `undef` or
# `false` value means this attribute is not relevant to the IP address selection
#
define jboss::interface (
$interface_name = $name,
$controller = $::jboss::controller,
Expand All @@ -9,8 +99,8 @@
$any_ipv6_address = undef, # bool
$inet_address = undef, # string
$link_local_address = undef, # bool
$loopback = undef, # string
$loopback_address = undef, # bool
$loopback = undef, # bool
$loopback_address = undef, # string
$multicast = undef, # bool
$nic = undef, # string
$nic_match = undef, # string
Expand Down
24 changes: 23 additions & 1 deletion manifests/module.pp
Original file line number Diff line number Diff line change
@@ -1,4 +1,26 @@
# Creates JBoss module
# == Define: jboss::module
#
# This defined type can add and remove JBoss static modules. Static modules are predefined in
# the JBOSS_HOME/modules/ directory of the application server. Each sub-directory represents
# one module and contains one or more JAR files and a configuration file (module.xml)
#
# After processing of this module JBoss server will be automaticlly restarted, but only when changes occur.
#
# More info here: https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Development_Guide/chap-Class_Loading_and_Modules.html
#
# === Parameters
#
# [*modulename*]
# **This is the namevar**. The name of the static module
# [*layer*]
# **Required parameter.** Name of the layer to assemble in and to activate in layers.conf file
# [*artifacts*]
# A set of artifacts to be added to the module. They can be remote urls (http and ftp) or
# local files. They will be fetched or copied to module location
# [*dependencies*]
# A set of JBoss (most likely Java EE) dependencies for a module. The packages listed here will be added to
# module.xml making them avialable for code withing a module
#
define jboss::module (
$layer,
$modulename = $name,
Expand Down
32 changes: 31 additions & 1 deletion manifests/resourceadapter.pp
Original file line number Diff line number Diff line change
@@ -1,4 +1,34 @@
# Creates JBoss resource adapter
# == Define: jboss::resourceadapter
#
# This defined type can be used to add and remove JBoss resource adapters. A resource adapter
# is a deployable Java EE component that provides communication between a Java EE application
# and an Enterprise Information System (EIS) using the Java Connector Architecture (JCA)
# specification
#
# See here: https://docs.oracle.com/javaee/6/tutorial/doc/bncjh.html
#
# === Parameters
#
# This type uses *JBoss module standard metaparameters*
#
# [*name*]
# **This is the namevar**. The name/ID of resource adapter.
# [*jndiname*]
# **Required parameter.** The resource adapter jndi name of connection definition.
# [*archive*]
# **Required parameter.** The resource adapter archive.
# [*transactionsupport*]
# **Required parameter.** The resource adapter transaction support type. Valid values are: *NoTransation*,
# *LocalTransaction*, *XATransaction*
# [*classname*]
# **Required parameter.** The resource adapter connection definition class name.
# [*ensure*]
# Standard Puppet ensure parameter with values: 'present' and 'absent'
# [*security*]
# Security type. By default it is set to 'application' value
# [*backgroundvalidation*]
# Do use background validation feature. By default it is set to false.
#
define jboss::resourceadapter (
$jndiname,
$archive,
Expand Down
Loading

0 comments on commit d57eb06

Please sign in to comment.