diff --git a/manifests/kafka/broker.pp b/manifests/kafka/broker.pp new file mode 100644 index 00000000..4cc98a85 --- /dev/null +++ b/manifests/kafka/broker.pp @@ -0,0 +1,29 @@ +# Kafka broker profile + +class profile::kafka::broker { + include ::profile::zookeeper + + class {'::kafka': + mirror_url => lookup('kafka::mirror_url'), + version => lookup('kafka::version'), + scala_version => lookup('kafka::scala_version'), + } + + $base_kafka_config = lookup('kafka::broker_config', Hash) + + $zookeeper_chroot = lookup('kafka::zookeeper::chroot') + $zookeeper_servers = lookup('zookeeper::servers', Hash) + $zookeeper_port = lookup('zookeeper::election_port', Integer) + $zookeeper_connect_string = join( + $zookeeper_servers.map |$id, $server| {"${server}:${zookeeper_port}${zookeeper_chroot}"}, + ',' + ) + + $kafka_config = $base_kafka_config + { + 'zookeeper.connect' => $zookeeper_connect_string, + } + + class {'::kafka::broker': + config => $kafka_config, + } +} diff --git a/manifests/kafka/server.pp b/manifests/kafka/server.pp deleted file mode 100644 index 4ed7f8ef..00000000 --- a/manifests/kafka/server.pp +++ /dev/null @@ -1,14 +0,0 @@ -# Kafka server profile - -class profile::kafka::server { - include ::profile::zookeeper::server - - class {'::kafka':} - - class {'::kafka::server': - log_dirs => lookup('kafka::log_dirs', Array, 'unique'), - brokers => lookup('kafka::brokers', Hash, 'deep'), - zookeeper_hosts => lookup('kafka::zookeeper::hosts', Array, 'unique'), - zookeeper_chroot => lookup('kafka::zookeeper::chroot'), - } -} diff --git a/manifests/zookeeper.pp b/manifests/zookeeper.pp new file mode 100644 index 00000000..aebfa38c --- /dev/null +++ b/manifests/zookeeper.pp @@ -0,0 +1,10 @@ +# Zookeeper cluster member profile + +class profile::zookeeper { + class {'::zookeeper': + servers => lookup('zookeeper::servers', Hash), + datastore => lookup('zookeeper::datastore'), + election_port => lookup('zookeeper::election_port'), + leader_port => lookup('zookeeper::election_port'), + } +} diff --git a/manifests/zookeeper/client.pp b/manifests/zookeeper/client.pp deleted file mode 100644 index a92573cb..00000000 --- a/manifests/zookeeper/client.pp +++ /dev/null @@ -1,8 +0,0 @@ -# Zookeeper cluster client class - -class profile::zookeeper::client { - class {'::zookeeper': - hosts => lookup('zookeeper::hosts', Hash, 'deep'), - data_dir => lookup('zookeeper::data_dir'), - } -} diff --git a/manifests/zookeeper/server.pp b/manifests/zookeeper/server.pp deleted file mode 100644 index 836b1576..00000000 --- a/manifests/zookeeper/server.pp +++ /dev/null @@ -1,6 +0,0 @@ -# Zookeeper cluster member profile - -class profile::zookeeper::server { - include ::profile::zookeeper::client - class {'::zookeeper::server':} -}