Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

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

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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 file

0.1.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page