Defined Type: wildfly::config::module
- Defined in:
- manifests/config/module.pp
Overview
Manages a Wildfly module (‘$WILDFLY_HOME/modules`).
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'manifests/config/module.pp', line 9
define wildfly::config::module (
Variant[
Pattern[/^\./],
Pattern[/^file:\/\//],
Pattern[/^puppet:\/\//],
Stdlib::Httpsurl,
Stdlib::Httpurl
] $source,
String $template = 'wildfly/module.xml',
Boolean $system = true,
Array $dependencies = [],
Optional[String] $custom_file = undef,
) {
require wildfly::install
$namespace_path = regsubst($title, '[.]', '/', 'G')
if $system {
$module_dir = 'system/layers/base'
}
File {
owner => $wildfly::user,
group => $wildfly::group,
}
$dir_path = "${wildfly::dirname}/modules/${module_dir}/${namespace_path}/main"
exec { "Create Parent Directories: ${title}":
path => ['/bin','/usr/bin', '/sbin'],
command => "mkdir -p ${dir_path}",
unless => "test -d ${dir_path}",
user => $wildfly::user,
before => [File[$dir_path]],
}
file { $dir_path:
ensure => directory,
owner => $wildfly::user,
group => $wildfly::group,
}
if $source == '.' {
$file_name = '.'
} else {
$file_name = basename($source)
}
case $source {
'.': {
}
/^(file:|puppet:)/: {
file { "${dir_path}/${file_name}":
ensure => file,
owner => $wildfly::user,
group => $wildfly::group,
mode => '0655',
source => $source,
}
}
default : {
exec { "download module from ${source}":
command => "wget -N -P ${dir_path} ${source} --max-redirect=5",
path => ['/bin','/usr/bin', '/sbin'],
loglevel => 'notice',
creates => "${dir_path}/${file_name}",
require => File[$wildfly::dirname],
}
file { "${dir_path}/${file_name}":
ensure => file,
owner => $wildfly::user,
group => $wildfly::group,
mode => '0655',
require => Exec["download module from ${source}"],
}
}
}
if $custom_file {
file { "${dir_path}/module.xml":
ensure => file,
owner => $wildfly::user,
group => $wildfly::group,
content => file($custom_file),
}
} else {
$params = {
'file_name' => $file_name,
'dependencies' => $dependencies,
'name' => $title,
}
file { "${dir_path}/module.xml":
ensure => file,
owner => $wildfly::user,
group => $wildfly::group,
content => epp($template, $params),
}
}
}
|