Puppet Class: foreman::service

Defined in:
manifests/service.pp

Summary

Configure the foreman service

Overview

Parameters:

  • apache (Boolean) (defaults to: $foreman::apache)
  • passenger (Boolean) (defaults to: $foreman::passenger)
  • app_root (Stdlib::Absolutepath) (defaults to: $foreman::app_root)
  • ssl (Boolean) (defaults to: $foreman::ssl)
  • use_foreman_service (Boolean) (defaults to: $foreman::use_foreman_service)
  • foreman_service (String) (defaults to: $foreman::foreman_service)
  • foreman_service_ensure (Stdlib::Ensure::Service) (defaults to: $foreman::foreman_service_ensure)
  • foreman_service_enable (Boolean) (defaults to: $foreman::foreman_service_enable)
  • jobs_manage_service (Boolean) (defaults to: $foreman::jobs_manage_service)


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

class foreman::service(
  Boolean $apache = $foreman::apache,
  Boolean $passenger = $foreman::passenger,
  Stdlib::Absolutepath $app_root = $foreman::app_root,
  Boolean $ssl = $foreman::ssl,
  Boolean $use_foreman_service = $foreman::use_foreman_service,
  String $foreman_service = $foreman::foreman_service,
  Stdlib::Ensure::Service $foreman_service_ensure = $foreman::foreman_service_ensure,
  Boolean $foreman_service_enable = $foreman::foreman_service_enable,
  Boolean $jobs_manage_service = $foreman::jobs_manage_service,
) {
  if $jobs_manage_service {
    foreman::dynflow::worker { 'orchestrator':
      concurrency => 1,
      queues      => ['dynflow_orchestrator'],
    }

    foreman::dynflow::worker { 'worker': }
  }

  if $apache {
    if $passenger {
      exec {'restart_foreman':
        command     => "/bin/touch ${app_root}/tmp/restart.txt",
        refreshonly => true,
        cwd         => $app_root,
        path        => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
      }
    }

    Class['apache::service'] -> Class['foreman::service']

    # Ensure SSL certs from the puppetmaster are available
    # Relationship is duplicated there as defined() is parse-order dependent
    if $ssl and defined(Class['puppet::server::config']) {
      Class['puppet::server::config'] -> Class['foreman::service']
    }
  }

  if $use_foreman_service {
    service { "${foreman_service}.socket":
      ensure => $foreman_service_ensure,
      enable => $foreman_service_enable,
    }

    service { $foreman_service:
      ensure  => $foreman_service_ensure,
      enable  => $foreman_service_enable,
      require => Service["${foreman_service}.socket"],
    }
  }
}