devstructure/blueprint — pull request #100 by rcrowley (2011-11-03 22:39:31+00:00)
Title: File templates in blueprints

This patch allows filesystems to contain files like `/etc/foobar.blueprint-template.mustache` and optionally `/etc/foobar.blueprint-template.sh` that define a [`mustache`(5)](http://mustache.github.com/mustache.5.html)-like template and optionally some data to feed it that, when rendered, result in the desired content for the file `/etc/foobar`.

Standard data sources for templates (think Puppet's Facter or Chef's Ohai) come from `/etc/blueprint-template.d/*.sh`.

The templates are rendered on-demaned by `blueprint-template`(1). The necessary code to render the templates is included with generated shell code.

The template rendering engine is `mustache.sh`: .

Puppet and Chef do not support these templates.

The following manual pages need to be updated or written:

* `blueprint`(5)
* `blueprint-template`(1)

The standard template data in `/etc/blueprint-template.d` needs to be expanded and made part of the distribution. This may mean distribution via PyPI is no longer feasible.