Skip to main content

Light weight configuration management using Consul

Project description

Light weight configuration management using Consul

Passport is a command line tool for rendering templates containing information gained from Consul’s Service Discovery API and Key/Value database.

Version Downloads License

Installation

Passport is available via pypi and can be installed with easy_install or pip:

pip install passport

Usage

usage: passport.py [-h] [--host HOST] [--port PORT] [--datacenter DATACENTER]
                   {kv,file} path destination

Example

As an example, the following template is stored in the KV database as templates/memcached/memcached.conf

{% set nodes = ['%s:%s' % (r['Address'], r['ServicePort']) for r in consul.catalog.service('memcached')] %}

[memcached]
    servers = {{ ','.join(nodes) }}

Invoking passport will render the file with a list of all memcached nodes to /etc/memcached.conf.

passport kv templates/memcached/memcached.conf /etc/memcached.conf

And the output would look something like:

[memcached]
    servers = 172.17.0.7:11211,172.17.0.8:11211

Template rendering is done via the Tornado Template engine.

Todo

  • Add a managed mode where Passport will check for new services on a regular interval and when changes occur, update the rendered template and notify a process using HUP
  • Add daemonization for managed mode
  • Add the ability to specify pairs of templates/destinations in a single invocation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
passport-0.1.1.tar.gz (4.4 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page