Defined Type: wildfly::service

Defined in:
manifests/service.pp

Overview

class: wildfly

Parameters:

  • service_ensure (Enum['running', 'stopped']) (defaults to: 'running')
  • service_enable (Boolean) (defaults to: true)
  • service_name (String) (defaults to: $title)
  • catalina_home (Optional[Stdlib::Unixpath]) (defaults to: undef)
  • java_home (Optional[Stdlib::Unixpath]) (defaults to: undef)
  • user (Optional[String]) (defaults to: undef)
  • group (Optional[String]) (defaults to: undef)


3
4
5
6
7
8
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
# File 'manifests/service.pp', line 3

define wildfly::service (
  Enum['running', 'stopped'] $service_ensure                   = 'running',
  Boolean                    $service_enable                   = true,
  String                     $service_name                     = $title,
  Optional[Stdlib::Unixpath] $catalina_home                    = undef,
  Optional[Stdlib::Unixpath] $java_home                        = undef,
  Optional[String]           $user                             = undef,
  Optional[String]           $group                            = undef,
) {
  include ::wildfly
  $_user = pick($user, $::wildfly::user)
  $_group = pick($group, $::wildfly::group)

  case $facts['os']['release']['major'] {
    '6': {
      $_startupfile = 'initd'
      $_startupdir = '/etc/init.d'
      $_startupext = undef
    }
    default: {
      $_startupfile = 'systemd'
      $_startupdir = '/etc/systemd/system'
      $_startupext = '.service'
    }
  }

  tag(sha1($catalina_home))

  ensure_resource('file', '/etc/wildfly', { ensure => 'directory' })

  file { "${catalina_home}/bin/launch.sh":
    ensure => file,
    owner  => $_user,
    group  => $_group,
    mode   => '0755',
    source => 'puppet:///modules/wildfly/launch.sh',
  }

  file { "/etc/wildfly/${name}.conf":
    ensure  => file,
    owner   => $_user,
    group   => $_group,
    mode    => '0644',
    content => epp("wildfly/wildfly.conf.${_startupfile}.epp", {
      'catalina_home' => $catalina_home,
      'user'          => $_user,
      'group'         => $_group,
      }),
    require => File['/etc/wildfly'],
  }

  file { "servicefile ${name}":
    ensure  => 'file',
    path    => "${_startupdir}/${name}${_startupext}",
    owner   => 'root',
    group   => 'root',
    mode    => '0755',
    content => epp("wildfly/wildfly.${_startupfile}.epp", {
      'catalina_home' => $catalina_home,
      'user'          => $_user,
      'group'         => $_group,
      'instance'      => $name,
      }),
  }

  service { $service_name:
    ensure => $service_ensure,
    enable => $service_enable,
  }
}