Metadata-Version: 1.1
Name: zk_watcher
Version: 0.3.0
Summary: Python-based service registration daemon for Apache ZooKeeper
Home-page: https://github.com/Nextdoor/zkwatcher
Author: Matt Wise
Author-email: matt@nextdoor.com
License: Apache License, Version 2.0
Download-URL: http://pypi.python.org/pypi/zk_watcher#downloads
Description: =========
        zkwatcher
        =========
        
        `zk_watcher` is a Python script that handles registration with an `Apache
        ZooKeeper` service.
        
        The goal of `zk_watcher` is to monitor a particular service on a host machine
        and register that machine as a `provider` of that service at a given path
        on the ZooKeeper service.
        
        A simple example is having `zk_watcher` monitor Apache httpd by running `service
        apache2 status` at a regular interval and registers with ZooKeeper at a given
        path (say `/services/production/webservers`). As long as the command returns
        a safe exit code (`0`), `zk_watcher` will register with ZooKeeper that this
        server is providing this particular service. If the hostname of the machine
        is `web1.mydomain.com`, the registration path would look like this ::
        
            /services/production/webservers/web1.mydomain.com:80
        
        In the event that the service check fails, the host will be immediately de-
        registered from that path.
        
        Installation
        ------------
        
        To install, run ::
        
            python setup.py install
        
        or ::
        
            pip install zk_watcher
        
        Service Configs
        ---------------
        
        To configure, edit the '/etc/zk/config.cfg' file. The file consists of sections
        that each point to a particular service you want to monitor and register with
        ZooKeeper. An example file is provided, but could look like this ::
        
            [ssh]
            cmd: /etc/init.d/sshd status
            refresh: 60
            service_port: 22
            service_hostname: 123.234.123.123
            zookeeper_path: /services/ssh
            zookeeper_data: { "foo": "bar", "bah": "humbug" }
        
            [apache]
            cmd: /etc/init.d/apache status
            refresh: 60
            service_port: 22
            zookeeper_path: /services/web
            zookeeper_data: foo=bar, bah=humbug
        
        Authentication
        --------------
        
        If you wish to create a Digset authentication token and use that for your
        client session with Zookeeper, you can add the settings to the config file
        like this ::
        
            [auth]
            user: username
            password: 123456
        
        If you do this, please look at the `ndServiceRegistry` docs to understand how
        the auth token is used, and what permissions are setup by default.
        
        Running it
        ----------
        See the 'zk_watcher.rst' file for configuration and run-time options.
        
        Caveats
        -------
        Right now you must install this package as `root`, or you must create the
        `/etc/zk` directory ahead of time and change its ownership to your installation
        user name. The `setup.py` uses a hard-coded path (`/etc/zk/config.cfg`) for the
        config file, and will fail if it cannot create the file at that path. This will
        be fixed in the next version.
        
Keywords: zookeeper apache zk
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Software Development
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Operating System :: POSIX
Classifier: Natural Language :: English
