Puppet Class: kafka::mirror::config

Defined in:
manifests/mirror/config.pp

Overview

Class: kafka::mirror::config

This private class is meant to be called from ‘kafka::mirror`. It manages the mirror-maker config files

Parameters:

  • config_dir (Stdlib::Absolutepath) (defaults to: $kafka::mirror::config_dir)
  • service_name (String) (defaults to: $kafka::mirror::service_name)
  • service_install (Boolean) (defaults to: $kafka::mirror::service_install)
  • service_restart (Boolean) (defaults to: $kafka::mirror::service_restart)
  • consumer_config (Hash) (defaults to: $kafka::mirror::consumer_config)
  • producer_config (Hash) (defaults to: $kafka::mirror::producer_config)
  • config_mode (Stdlib::Filemode) (defaults to: $kafka::mirror::config_mode)
  • group (String) (defaults to: $kafka::mirror::group)


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/mirror/config.pp', line 10

class kafka::mirror::config(
  Stdlib::Absolutepath $config_dir = $kafka::mirror::config_dir,
  String $service_name             = $kafka::mirror::service_name,
  Boolean $service_install         = $kafka::mirror::service_install,
  Boolean $service_restart         = $kafka::mirror::service_restart,
  Hash $consumer_config            = $kafka::mirror::consumer_config,
  Hash $producer_config            = $kafka::mirror::producer_config,
  Stdlib::Filemode $config_mode    = $kafka::mirror::config_mode,
  String $group                    = $kafka::mirror::group,
) {

  if $caller_module_name != $module_name {
    fail("Use of private class ${name} by ${caller_module_name}")
  }

  if $consumer_config['group.id'] == '' {
    fail('[Consumer] You need to specify a value for group.id')
  }
  if $consumer_config['zookeeper.connect'] == '' {
    fail('[Consumer] You need to specify a value for zookeeper.connect')
  }
  if $producer_config['bootstrap.servers'] == '' {
    fail('[Producer] You need to specify a value for bootstrap.servers')
  }

  class { '::kafka::consumer::config':
    config_dir      => $config_dir,
    config_mode     => $config_mode,
    service_name    => $service_name,
    service_install => $service_install,
    service_restart => $service_restart,
    config          => $consumer_config,
    group           => $group,
  }

  class { '::kafka::producer::config':
    config_dir      => $config_dir,
    config_mode     => $config_mode,
    service_name    => $service_name,
    service_install => $service_install,
    service_restart => $service_restart,
    config          => $producer_config,
    group           => $group,
  }
}