clickhouse_keeper

pdk
A module to manage ClickHouse Keeper cluster

1,528 downloads

841 latest version

5.0 quality score

Version information

  • 1.0.0 (latest)
  • 0.3.0
  • 0.2.0
  • 0.1.0
released Jun 21st 2024
This version is compatible with:
  • Puppet Enterprise 2025.4.x, 2025.3.x, 2025.2.x, 2025.1.x, 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x
  • Puppet >= 6.21.0 < 9.0.0
  • CentOS
    ,
    OracleLinux
    ,
    RedHat
    ,
    Scientific
    ,
    Debian
    ,
    Ubuntu

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'deric-clickhouse_keeper', '1.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add deric-clickhouse_keeper
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install deric-clickhouse_keeper --version 1.0.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

deric/clickhouse_keeper — version 1.0.0 Jun 21st 2024

Puppet ClickHouse Keeper

A Puppet module to manage ClickHouse Keeper installation. ClickHouse Keeper provides distributed key-value storage with API taht is compatible with ZooKeeper.

Unlike ZooKeeper ClickHouse Keeper is written in C++ and uses the RAFT algorithm implementation. This algorithm allows linearizability for reads and writes, and has several open-source implementations in different languages.

Usage

include clickhouse_keeper

And you might want to modify configuration for incoming client connections, ClickHouse Keeper tcp_port defaults to 9181.

clickhouse_keeper::tcp_port: 2181
clickhouse_keeper::listen_host: 0.0.0.0
clickhouse_keeper::enable_ipv6: false
clickhouse_keeper::address: "%{facts.fqdn}"

Parameters

  • address Exported address to raft config, used only when export_raft is true
  • id Must be unique among servers
  • cluster Used to distinguish multiple clusters when configuration is exported
  • manage_config
  • manage_repo Whether APT/RPM repository should be managed by Puppet
  • manage_package
  • manage_user
  • manage_service
  • export_raft
  • raft_config
  • raft_port Port for internal communication between ClickHouse Keeper nodes
  • generate_certs
  • packages OS packages to be installed
  • package_ensure
  • package_install_options
  • owner System user account to own config files
  • group System group to own config files
  • config_dir Path to config directory
  • config_file
  • log_level
  • raft_log_level
  • log_file
  • error_file
  • log_size
  • log_count
  • listen_host Bind address for client connections
  • enable_ipv6 Whether IPv6 address should be binded (default: true).
  • max_connections default: 4096
  • service_name
  • service_enable
  • service_ensure
  • tcp_port Port for client connections
  • tcp_port_secure SSL port, requires valid certificates
  • certificate Path to public ssl certificate
  • private_key Path to private ssl certificate key
  • dhparams Path to DH params file
  • prometheus_port If defined metrics will be exposed at given port and /metrics endpoint
  • log_storage_path Keeper coordination logs (raft)
  • snapshot_storage_path Snapshots path
  • operation_timeout
  • min_session_timeout
  • session_timeout

Acceptance tests

BEAKER_destroy=no BEAKER_setfile=debian10-64 bundle exec rake beaker