diff --git a/data/family/Debian.yaml b/data/family/Debian.yaml new file mode 100644 index 0000000..407ddc3 --- /dev/null +++ b/data/family/Debian.yaml @@ -0,0 +1,14 @@ +--- +kafka::user_shell: '/usr/sbin/nologin' + +kafka::broker::user_shell: '/usr/sbin/nologin' +kafka::broker::service_requires: [] + +kafka::consumer::user_shell: '/usr/sbin/nologin' +kafka::consumer::service_requires: [] + +kafka::mirror::user_shell: '/usr/sbin/nologin' +kafka::mirror::service_requires: [] + +kafka::producer::user_shell: '/usr/sbin/nologin' +kafka::producer::service_requires: [] diff --git a/data/os/CentOS-6.yaml b/data/os/CentOS-6.yaml new file mode 100644 index 0000000..86e6037 --- /dev/null +++ b/data/os/CentOS-6.yaml @@ -0,0 +1,14 @@ +--- +kafka::user_shell: '/bin/bash' + +kafka::broker::user_shell: '/bin/bash' +kafka::broker::service_requires: [] + +kafka::consumer::user_shell: '/bin/bash' +kafka::consumer::service_requires: [] + +kafka::mirror::user_shell: '/bin/bash' +kafka::mirror::service_requires: [] + +kafka::producer::user_shell: '/bin/bash' +kafka::producer::service_requires: [] diff --git a/data/os/RedHat-6.yaml b/data/os/RedHat-6.yaml new file mode 100644 index 0000000..86e6037 --- /dev/null +++ b/data/os/RedHat-6.yaml @@ -0,0 +1,14 @@ +--- +kafka::user_shell: '/bin/bash' + +kafka::broker::user_shell: '/bin/bash' +kafka::broker::service_requires: [] + +kafka::consumer::user_shell: '/bin/bash' +kafka::consumer::service_requires: [] + +kafka::mirror::user_shell: '/bin/bash' +kafka::mirror::service_requires: [] + +kafka::producer::user_shell: '/bin/bash' +kafka::producer::service_requires: [] diff --git a/data/os/SLES-11.yaml b/data/os/SLES-11.yaml new file mode 100644 index 0000000..86e6037 --- /dev/null +++ b/data/os/SLES-11.yaml @@ -0,0 +1,14 @@ +--- +kafka::user_shell: '/bin/bash' + +kafka::broker::user_shell: '/bin/bash' +kafka::broker::service_requires: [] + +kafka::consumer::user_shell: '/bin/bash' +kafka::consumer::service_requires: [] + +kafka::mirror::user_shell: '/bin/bash' +kafka::mirror::service_requires: [] + +kafka::producer::user_shell: '/bin/bash' +kafka::producer::service_requires: [] diff --git a/hiera.yaml b/hiera.yaml new file mode 100644 index 0000000..e6158dd --- /dev/null +++ b/hiera.yaml @@ -0,0 +1,16 @@ +--- +version: 5 + +defaults: + datadir: 'data' + data_hash: 'yaml_data' + +hierarchy: + - name: 'Major Version' + path: "os/%{facts.os.name}-%{facts.os.release.major}.yaml" + - name: 'Distribution Name' + path: "os/%{facts.os.name}.yaml" + - name: 'Operating System Family' + path: "family/%{facts.os.family}.yaml" + - name: 'Common' + path: 'common.yaml' diff --git a/manifests/params.pp b/manifests/params.pp index 925500e..5297349 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -1,72 +1,61 @@ # @summary # This class provides default parameters. # class kafka::params { unless $facts['os']['family'] =~ /(RedHat|Debian|Suse)/ { warning("${facts['os']['family']} is not supported") } $kafka_version = '2.4.1' $scala_version = '2.12' $install_dir = "/opt/kafka-${scala_version}-${kafka_version}" $config_dir = '/opt/kafka/config' $bin_dir = '/opt/kafka/bin' $log_dir = '/var/log/kafka' $mirror_url = 'https://www.apache.org/dyn/closer.lua?action=download&filename=' $mirror_subpath = "kafka/${kafka_version}" $manage_java = false $package_dir = '/var/tmp/kafka' $package_name = undef $proxy_server = undef $proxy_host = undef $proxy_port = undef $proxy_type = undef $package_ensure = 'present' $user_name = 'kafka' - if $facts['service_provider'] == 'systemd' { - $user_shell = $facts['os']['family'] ? { - /RedHat|Suse/ => '/sbin/nologin', - 'Debian' => '/usr/sbin/nologin', - } - } else { - $user_shell = '/bin/bash' - } + $user_shell = '/sbin/nologin' $group_name = 'kafka' $user_id = undef $group_id = undef $system_user = false $system_group = false $manage_user = true $manage_group = true $config_mode = '0644' $install_mode = '0755' - $manage_service = true - $service_ensure = 'running' - $service_restart = true - $service_requires = $facts['os']['family'] ? { - /RedHat|Suse/ => ['network.target', 'syslog.target'], - default => [], - } - $limit_nofile = undef - $limit_core = undef - $timeout_stop = undef - $exec_stop = false - $daemon_start = false + $manage_service = true + $service_ensure = 'running' + $service_restart = true + $service_requires = ['network.target', 'syslog.target'] + $limit_nofile = undef + $limit_core = undef + $timeout_stop = undef + $exec_stop = false + $daemon_start = false $broker_heap_opts = '-Xmx1G -Xms1G' - $broker_jmx_opts = '-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false \ - -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9990' + $broker_jmx_opts = '-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9990' $broker_log4j_opts = "-Dlog4j.configuration=file:${config_dir}/log4j.properties" $broker_opts = '' $mirror_heap_opts = '-Xmx256M' $mirror_jmx_opts = '-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9991' $mirror_log4j_opts = $broker_log4j_opts $producer_jmx_opts = '-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9992' $producer_log4j_opts = $broker_log4j_opts $consumer_jmx_opts = '-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9993' $consumer_log4j_opts = $broker_log4j_opts }