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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c8e545ffea7cc581cac26b173de53acff602766522656be8deacb601fa2e068 |
|
MD5 | c3f478bf8a46236006e602945ea2cb76 |
|
BLAKE2b-256 | 2a301f1542a65510253e80ef838b347946e9e66ae4e4512fa24dbfc230043644 |