Collect and cache metadata, run hooks on changes.
Go to file
Clint Byrum f260f92a49 Fix tests for rename. 2013-06-26 13:08:42 -07:00
os_collect_config Fix tests for rename. 2013-06-26 13:08:42 -07:00
.gitignore Rename to os-apply-config. 2013-06-14 15:30:14 +12:00
.gitreview Fix .gitreview file 2013-06-26 12:53:07 -07:00
.testr.conf Remove env vars we don't use. 2013-03-28 04:05:31 +01:00
.travis.yml Aligned tests with OpenStack standards. 2013-03-28 03:40:38 +01:00
LICENSE Aligned tests with OpenStack standards. 2013-03-28 03:40:38 +01:00
README.md Splitting os-collect-config into its own repo. 2013-06-26 12:40:25 -07:00
requirements.txt Splitting os-collect-config into its own repo. 2013-06-26 12:40:25 -07:00
setup.cfg Splitting os-collect-config into its own repo. 2013-06-26 12:40:25 -07:00
setup.py Migrate to pbr and testr. 2013-03-28 02:37:45 +01:00
test-requirements.txt Align to OpenStack Hacking rules. 2013-03-28 04:03:46 +01:00
tox.ini Migrate to pbr and testr. 2013-03-28 02:37:45 +01:00

README.md

os-apply-config

Collect configuration from cloud metadata sources.

What does it do?

It collects data from defined configuration sources and runs a defined hook whenever the metadata has changed.

Usage

You must define what sources to collect configuration data from in /etc/os-collect-config/sources.ini

The format of this file is

[default]
command=os-refresh-config

[ec2]
type=ec2-metadata

[cfn]
type=cloudformation

These sources will be processed in order, and whenever any of them changes, default.command will be run. OS_CONFIG_FILES will be set in the environment as a colon (":") separated list of the current copy of each metadata source. So in the example above, "os-refresh-config" would be executed with something like this in OS_CONFIG_FILES:

/var/run/os-collect-config/ec2.json:/var/run/os-collect-config/cfn.json

The sources can also be crafted using runtime arguments:

os-collect-config --command=os-refresh-config --source ec2:type=ec2-metadata --source cfn:type=cloudformation

Quick Start

sudo pip install -U git+git://github.com/stackforge/os-collect-config.git

run it on an OpenStack instance with access to ec2 metadata:

os-collect-config --print --source "ec2:ec2-metadata"


That should print out a json representation of the entire ec2 metadata tree.