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
# 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::clickhouse_tmpdir ]:
      ensure => 'directory',
      mode   => '0664',
      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    => '0664',
      owner   => $clickhouse::server::clickhouse_user,
      group   => $clickhouse::server::clickhouse_group,
      recurse => $recurse,
      purge   => $purge,
  }

  if $clickhouse::server::manage_config {
    file { "${clickhouse::server::config_dir}/${clickhouse::server::config_file}":
      content => clickhouse_config($options),
      mode    => '0664',
      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    => '0664',
        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    => '0664',
        content => epp("${module_name}/zookeeper.xml.epp", {
          'zookeeper_servers' => $clickhouse::server::replication['zookeeper_servers'],
        }),
        require => File[$clickhouse::server::config_dir],
      }
    }
  }

}