]# cat init.pp
# Puppet class jboss_install to install jboss rpm and start
# the jboss server as service
class jboss_eap (
$jboss_bind_address = '',
$jboss_bind_address_management = '',
$jboss_multicast_address = ''
) {
class jboss_rpm_install {
# Required RPM package
$jboss_core_rpm = [ "jbossas-appclient",
"jbossas-bundles",
"jbossas-core",
"jbossas-hornetq-native",
"jbossas-jbossweb-native",
"jbossas-modules-eap",
"jbossas-product-eap",
"jbossas-standalone",
"jbossas-welcome-content-eap"
]
package { $jboss_core_rpm: ensure => "installed" }
}
class jboss_config {
require jboss_rpm_install
# Ensure Jboss home, will be created by rpm
file { '/etc/jbossas':
ensure => directory,
owner => 'jboss',
group => 'jboss'
}
# Copy master standalone template xml
file { '/usr/share/jbossas/standalone/configuration/standalone.xml':
ensure => file,
owner => 'jboss',
content => template('jboss_eap/standalone-full-ha.xml'),
mode => '0600'
}
# Ensure Jboss user, will be created by rpm
user { jboss:
ensure => present,
managehome => true,
gid => 'jboss',
comment => 'Ensure JBoss User'
}
}
include jboss_rpm_install
include jboss_config
# Start Jboss service
service { jbossas:
enable => true,
ensure => true ? { true => running, default => undef },
require => Class['jboss_config']
}
}
...