Puppet Class: clickhouse::server::service

Defined in:
manifests/server/service.pp

Summary

Private class for managing the Clickhouse service.

Overview



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

class clickhouse::server::service {
  if $clickhouse::server::manage_service {
    service { $clickhouse::server::service_name:
      ensure => $clickhouse::server::service_ensure,
      enable => $clickhouse::server::service_enabled,
    }

    if $clickhouse::server::manage_package {
      Service[$clickhouse::server::service_name] {
        require => Package[$clickhouse::server::package_name],
      }
    }

    if $clickhouse::server::manage_config {
      File["${clickhouse::server::main_dir}/${clickhouse::server::config_file}"] -> Service[$clickhouse::server::service_name]
      Service<| title == $clickhouse::server::service_name |> {
        subscribe => File["${clickhouse::server::main_dir}/${clickhouse::server::config_file}"],
      }
    }

    if $clickhouse::server::manage_systemd {
      file { '/etc/systemd/system/clickhouse-server.service':
        owner     => 'root',
        group     => 'root',
        mode      => '0664',
        content   => epp("${module_name}/server_systemd.epp", {
            'config' => "${clickhouse::server::main_dir}/${clickhouse::server::config_file}",
            'user'   => $clickhouse::server::clickhouse_user,
            'group'  => $clickhouse::server::clickhouse_group,
        }),
        notify    => Exec['reload-systemd'],
        subscribe => File['/etc/default/clickhouse-server'],
      }

      file { '/etc/default/clickhouse-server':
        owner   => $clickhouse::server::clickhouse_user,
        group   => $clickhouse::server::clickhouse_group,
        mode    => '0664',
        content => epp("${module_name}/server_env.epp", {
            'config' => "${clickhouse::server::main_dir}/${clickhouse::server::config_file}",
        }),
      }

      exec { 'reload-systemd':
        command     => 'systemctl daemon-reload',
        refreshonly => true,
        path        => '/bin:/usr/bin:/usr/local/bin',
      }
    }
  }
}