{"id":21840294,"url":"https://github.com/zapier/puppet_zkwatcher","last_synced_at":"2026-06-17T23:31:28.200Z","repository":{"id":7757520,"uuid":"9125418","full_name":"zapier/puppet_zkwatcher","owner":"zapier","description":"Puppet library and manifest for use with zk_watcher","archived":false,"fork":false,"pushed_at":"2013-03-06T04:25:36.000Z","size":70,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-08-12T10:32:22.008Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"Nextdoor/puppet_zkwatcher","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zapier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-31T03:28:51.000Z","updated_at":"2024-01-21T17:49:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"aa578dc7-7bff-4779-9a9e-27d67ed6209c","html_url":"https://github.com/zapier/puppet_zkwatcher","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zapier/puppet_zkwatcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fpuppet_zkwatcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fpuppet_zkwatcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fpuppet_zkwatcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fpuppet_zkwatcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zapier","download_url":"https://codeload.github.com/zapier/puppet_zkwatcher/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zapier%2Fpuppet_zkwatcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34470322,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-11-27T21:25:33.320Z","updated_at":"2026-06-17T23:31:28.178Z","avatar_url":"https://github.com/zapier.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"============================================\nPuppet Plugin: ZooKeeper Watcher Integration\n============================================\n\nThis Puppet module and plugin serves two functions. It provides a method for\nbuilding Puppet manifests with dynamically-obtained ZooKeeper server lists. It\nalso provides a method for configuring [zk_watcher](http://github.com/Nextdoor/zkwatcher) to monitor one or many\nservices on a particular host, and register them with ZooKeeper.\n\nzkget: Retrieving dynamic server lists\n--------------------------------------\n\nThe `zkget` function in thie module allows the Puppet Master server to ask\na ZooKeeper service for a list of servers at a particular path, and provides\nthat list in an array-form for your puppet manifests. This allwos you to\ndynamically configure parts of your infrastructure without hard-coding server\nhostnames or data.\n\nIn the Puppet manifest, get the list of servers. This retrieves a list of no\nless than 1 server, and no more than 10:\n\n    $servers = zkget('/services/memcache', 1, 10)\n\n`note:` This function relies on servers being listed by their hostname and port,\nwhich is how the `zk_watcher` daemon registers them.\n    \nzkwatcher: Puppet Client Module\n-------------------------------\n\nThe `zkwatcher` class installs the [zk_watcher](http://github.com/Nextdoor/zkwatcher) pip module, configures an\nUpstart job to start up the service, and provides a definition that can be used\nthroughout your Puppet classes to register different services with Apache ZooKeeper\nin a method that allows the above `zkget` function to be used.\n\nExample usage:\n\n    zk::add { 'pgpool':\n      port    =\u003e 5432,\n      cmd     =\u003e 'service pgpool status',\n      path    =\u003e \"/services/production/pgpool\",\n      refresh =\u003e '120';\n    }\n\nInstallation\n------------\nInstallation is simple... checkout this Git repository into a new module in your\nPuppet modules path, and create the configuration file ::\n\n    cd \u003cyour puppet path\u003e/modules\n    git clone git@github.com:Nextdoor/puppet_zkwatcher.git zk_watcher\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapier%2Fpuppet_zkwatcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzapier%2Fpuppet_zkwatcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzapier%2Fpuppet_zkwatcher/lists"}