Puppet Class: clickhouse::server::config

Defined in:
manifests/server/config.pp

Summary

Private class for Clickhouse server configuration.

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

class clickhouse::server::config {
  $default_options = {
    'listen_host'            => '::',
    'dictionaries_config'    => "${clickhouse::server::dict_dir}/*.xml",
    'max_table_size_to_drop' => 0,
    'path'                   => $clickhouse::server::clickhouse_datadir,
    'tmp_path'               => $clickhouse::server::clickhouse_tmpdir,
  }

  $options = $default_options.deep_merge($clickhouse::server::override_options)

  if $clickhouse::server::manage_config {
    $recurse = true
    $purge = true
  } else {
    $recurse = false
    $purge = false
  }

  file { [$clickhouse::server::clickhouse_datadir, $clickhouse::server::main_dir, $clickhouse::server::clickhouse_tmpdir]:
    ensure => 'directory',
    mode   => $clickhouse::server::datadir_mode,
    owner  => $clickhouse::server::clickhouse_user,
    group  => $clickhouse::server::clickhouse_group,
  }

  file { [$clickhouse::server::config_dir, $clickhouse::server::users_dir, $clickhouse::server::dict_dir]:
    ensure  => 'directory',
    mode    => $clickhouse::server::confdir_mode,
    owner   => $clickhouse::server::clickhouse_user,
    group   => $clickhouse::server::clickhouse_group,
    recurse => $recurse,
    purge   => $purge,
    require => File[$clickhouse::server::main_dir],
  }

  if $clickhouse::server::manage_config {
    file { "${clickhouse::server::main_dir}/${clickhouse::server::config_file}":
      content => clickhouse_config($options),
      mode    => '0400',
      owner   => $clickhouse::server::clickhouse_user,
      group   => $clickhouse::server::clickhouse_group,
    }

    if !($clickhouse::server::keep_default_users) {
      file { '/etc/clickhouse-server/users.xml':
        content => "<yandex>\r\n\t<users>\r\n\t</users>\r\n</yandex>\r\n",
        mode    => '0400',
        owner   => $clickhouse::server::clickhouse_user,
        group   => $clickhouse::server::clickhouse_group,
      }
    }

    if $clickhouse::server::replication {
      file { "${clickhouse::server::config_dir}/${clickhouse::server::zookeeper_config_file}":
        owner   => $clickhouse::server::clickhouse_user,
        group   => $clickhouse::server::clickhouse_group,
        mode    => '0400',
        content => epp("${module_name}/zookeeper.xml.epp", {
            'zookeeper_servers' => $clickhouse::server::replication['zookeeper_servers'],
            'secure'            => $clickhouse::server::replication['secure'],
            'distributed_ddl'   => $clickhouse::server::replication['distributed_ddl'],
        }),
        require => File[$clickhouse::server::config_dir],
      }
    }

    if $clickhouse::server::crash_reports {
      file { "${clickhouse::server::config_dir}/crash_reports.xml":
        content => clickhouse_config({ 'send_crash_reports' => $clickhouse::server::crash_reports }),
        mode    => '0400',
        owner   => $clickhouse::server::clickhouse_user,
        group   => $clickhouse::server::clickhouse_group,
      }
    }
  }
}