Skip to content

Commit

Permalink
Add design notes for inventory persistence features
Browse files Browse the repository at this point in the history
  • Loading branch information
fr33jc committed Feb 20, 2015
1 parent a0e9bcd commit 1eceb50
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions doc/design.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,24 @@ Ansible was identified as being a suitable replacement for the
builtin SSH logic and for Chef, it made even more sense to continue
using YAML for the file format because users could use the same
format for configuring Bang and for authoring Ansible playbooks.


Inventory Persistence
---------------------
It is often useful to have access to the inventory that was used
during a particular Bang run. Bang already provides the inventory
and the host variables to Ansible directly as Python objects when
executed as ``bang``, and as a JSON object output to stdout when
executed as an Ansible inventory plugin (i.e. ``bang --list``). It
should also provide the following features:

- Store inventory and host variables in a user-specified file.
- Create ``latest-inventory`` symlink to inventory file after
each Bang run.
- Allow configuration of inventory output format (i.e. YAML or
JSON). Even though the Ansible inventory plugin API uses JSON
as the serialization format, Bang's default inventory output
should be YAML for symmetry since Bang's input format is YAML
as well.
- Allow configuration of above via command-line arguments,
~/.bangrc, or even ansible.cfg.

0 comments on commit 1eceb50

Please sign in to comment.