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.

Source Distribution

passport-0.1.1.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file passport-0.1.1.tar.gz.

File metadata

  • Download URL: passport-0.1.1.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for passport-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5c8e545ffea7cc581cac26b173de53acff602766522656be8deacb601fa2e068
MD5 c3f478bf8a46236006e602945ea2cb76
BLAKE2b-256 2a301f1542a65510253e80ef838b347946e9e66ae4e4512fa24dbfc230043644

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page