This module provides an easy way to install and configure ClickHouse DBMS. The easiest way to do the magic is:
class { 'clickhouse':
server => true,
manage_repo => true,
}
The module depends on xml-simple
gem. It allows to use clickhouse::server::config
and clickhouse::client::config
to manage configuration with puppet Hash. To install it execute the next command on your puppet server:
sudo puppetserver gem install xml-simple
See the examples
Classes
clickhouse
: this class allows you to install ClickHouse DB's repo, client and serverclickhouse::client
: ClickHouse client classclickhouse::repo
: installs repository with ClickHouse DBMSclickhouse::server
: ClickHouse server classclickhouse::server::config::memory
: Configure memory consumptionclickhouse::server::config::zookeeper
: Set proper zookeeper config
Defined types
clickhouse::client::config
: generates xml config from hash via ruby xml-simpleclickhouse::error
: Implements error logging with continue of manifests applicationclickhouse::server::config
: generates xml config from hash via ruby xml-simpleclickhouse::server::config::profile
: Define ClickHouse profileclickhouse::server::config::user
: Define ClickHouse users
Resource types
clickhouse_database
: Manages databases on ClickHouse server
ClickHouse does work only on UNIX-like OS. Theoretically possible to use this module on FreeBSD and Mac OS but should be checked additionally. Feel free to test and open an issue/PR.
The current state of module was tested with Centos 7, Ubuntu 18.04 and Debian 9.
Fork this project, develop, make pull request and wait for corresponding auto tests will be done.