{"id":15517028,"url":"https://github.com/deric/puppet-clickhouse_keeper","last_synced_at":"2025-05-14T20:11:25.872Z","repository":{"id":154758877,"uuid":"620229083","full_name":"deric/puppet-clickhouse_keeper","owner":"deric","description":null,"archived":false,"fork":false,"pushed_at":"2024-06-21T20:05:45.000Z","size":168,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-20T19:48:43.159Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deric.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-03-28T09:23:00.000Z","updated_at":"2025-02-24T14:48:33.000Z","dependencies_parsed_at":"2023-04-28T16:30:43.463Z","dependency_job_id":null,"html_url":"https://github.com/deric/puppet-clickhouse_keeper","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deric%2Fpuppet-clickhouse_keeper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deric%2Fpuppet-clickhouse_keeper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deric%2Fpuppet-clickhouse_keeper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deric%2Fpuppet-clickhouse_keeper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deric","download_url":"https://codeload.github.com/deric/puppet-clickhouse_keeper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254219374,"owners_count":22034397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T10:10:56.382Z","updated_at":"2025-05-14T20:11:25.851Z","avatar_url":"https://github.com/deric.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Puppet ClickHouse Keeper\n\nA Puppet module to manage [ClickHouse Keeper](https://clickhouse.com/docs/en/guides/sre/keeper/clickhouse-keeper) installation. ClickHouse Keeper provides distributed key-value storage with API taht is compatible with [ZooKeeper](https://zookeeper.apache.org/).\n\nUnlike 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.\n\n## Usage\n\n```puppet\ninclude clickhouse_keeper\n```\nAnd you might want to modify configuration for incoming client connections, ClickHouse Keeper `tcp_port` defaults to `9181`.\n\n```yaml\nclickhouse_keeper::tcp_port: 2181\nclickhouse_keeper::listen_host: 0.0.0.0\nclickhouse_keeper::enable_ipv6: false\nclickhouse_keeper::address: \"%{facts.fqdn}\"\n```\n\n## Parameters\n\n- `address` Exported address to raft config, used only when `export_raft` is true\n- `id` Must be unique among servers\n- `cluster` Used to distinguish multiple clusters when configuration is exported\n- `manage_config`\n- `manage_repo` Whether APT/RPM repository should be managed by Puppet\n- `manage_package`\n- `manage_user`\n- `manage_service`\n- `export_raft`\n- `raft_config`\n- `raft_port` Port for internal communication between ClickHouse Keeper nodes\n- `generate_certs`\n- `packages` OS packages to be installed\n- `package_ensure`\n- `package_install_options`\n- `owner` System user account to own config files\n- `group` System group to own config files\n- `config_dir` Path to config directory\n- `config_file`\n- `log_level`\n- `raft_log_level`\n- `log_file`\n- `error_file`\n- `log_size`\n- `log_count`\n- `listen_host` Bind address for client connections\n- `enable_ipv6` Whether IPv6 address should be binded (default: `true`).\n- `max_connections` default: `4096`\n- `service_name`\n- `service_enable`\n- `service_ensure`\n- `tcp_port`  Port for client connections\n- `tcp_port_secure` SSL port, requires valid certificates\n- `certificate` Path to public ssl certificate\n- `private_key` Path to private ssl certificate key\n- `dhparams` Path to DH params file\n- `prometheus_port` If defined metrics will be exposed at given port and /metrics endpoint\n- `log_storage_path` Keeper coordination logs (raft)\n- `snapshot_storage_path` Snapshots path\n- `operation_timeout`\n- `min_session_timeout`\n- `session_timeout`\n\n\n### Acceptance tests\n\n```\nBEAKER_destroy=no BEAKER_setfile=debian10-64 bundle exec rake beaker\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderic%2Fpuppet-clickhouse_keeper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fderic%2Fpuppet-clickhouse_keeper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderic%2Fpuppet-clickhouse_keeper/lists"}