ansible/plugins
Steve Gargan c02f114967 Initial commit of Ansible support for the Consul clustering framework (http://consul.io).
Submission includes support for
 - creating and registering services and checks
 - reading, writing and lookup for values in consul's kv store
 - creating and manipulating sessions for distributed locking on values in the kv
 - creating and manipulating ACLs for restricting access to the kv store
 - inventory support that reads the Consul catalog and group nodes according to
     - datacenters
     - exposed services
     - service availability
     - arbitrary groupings from the kv store

This submission makes extensive use of the python-consul library and this is required
as a dependency and can be installed from pip.

The tests were written to target a vagrant cluster which can be setup by following the
instructions here http://github.com/sgargan/consul-vagrant
2015-01-24 01:09:03 +00:00
..
callbacks Merge branch 'retf_py' of git://github.com/berendt/ansible into devel 2014-08-08 12:17:37 -04:00
connections pasto and core connection plugins reference fix 2013-02-16 13:40:04 +01:00
inventory Initial commit of Ansible support for the Consul clustering framework (http://consul.io). 2015-01-24 01:09:03 +00:00
README.md Update README 2012-10-08 08:04:21 -04:00

ansible-plugins

You can extend ansible with optional callback and connection plugins.

callbacks

Callbacks can be used to add logging or monitoring capability, or just make interesting sound effects.

Drop callback plugins in your ansible/lib/callback_plugins/ directory.

connections

Connection plugins allow ansible to talk over different protocols.

Drop connection plugins in your ansible/lib/runner/connection_plugins/ directory.

inventory

Inventory plugins allow you to store your hosts, groups, and variables in any way you like. Examples include discovering inventory from EC2 or pulling it from Cobbler. These could also be used to interface with LDAP or database.

chmod +x an inventory plugin and either name it /etc/ansible/hosts or use ansible with -i to designate the path to the plugin.

contributions welcome

Send in pull requests to add plugins of your own. The sky is the limit!