- Adds this_hostname context manager.
- Ensure that environment selection "runs once" and will work with --parallel
- Improve select Jinja filter.
- Support adding data hooks to a Dataloader import which will be called after the files are loaded and data merged after file data.
- Supports specifying extra paths to templates and data directories via a 'confab.extensions' distribution entry point.
- Lower-level API supports loading templates and data from multiple directories.
- Add Sphinx documentation with API docs. Publish on RTD.
- Convert
CHANGES.md
to RST to make them nicely embeddable in the docs. - Replace the old
README.md
with a newREADME.rst
that points to the documentation on RTD. - Add a
long_description
tosetup.py
to provide more info on PyPI.
- Major refactor of underlying data model:
- Autogenerated
env
tasks to use withfab
definitions.py
replacesmodel.py
andresolve.py
- Provides a simpler object and iteration model for navigation confab settings.
- Moves host and role iteration out of
main.py
intoiterconffiles
function.- No prevents multiple roles/components from defining the same template on the same host.
- Allows multiple loading of data from identically named files in different directories.
- Ensures that role data may override component data.
- Supports customized
module_as_dict
conversion.
- Allows roles to have components: components may have templates and may be reused across different roles, with customization defined in role configuration data.
- Abstracts template and data loading into callable objects to allow ConfFiles to load templates and data for specific components.
- Allows data modules to be templates (
*.py_tmpl
) as well as Python files (*.py
).- Adds output verbosity control and more verbose output.
- Instead of enforcing that all hosts have the same role when invoking the
confab
CLI, "does the right thing."- Changes uses of run() to sudo() and always uses
use_sudo
when calling put().- Switches merge resolution order to respect environment configuration before role or component configuration.