Blueprint 3.4.0
Blueprint 3.4 is out with two powerful additions: templating and rules.
Template functionality was included in release 3.3 and makes Blueprint a more complete configuration management system. Simple template use enables the substitution of system parameters such as the number of CPU cores, memory, domain names and IP addresses, in config files. More complex cases include iteration over output from a shell command.
Here's a quick example where we configure Unicorn to use four workers per CPU in /etc/unicorn.conf.rb.blueprint-template.mustache:
worker_processes {{`expr 4 \* $CORES`}}Rules were part of 3.4 and are analagous to the blueprintignore concept. Power users will eventually want to pay specific attention to, instead of ignore, a set of resources. blueprint-rules solves that problem.
Check out what we include example.blueprint-rules:
:source:/usr/local /etc/init/example.conf /etc/nginx/sites-*/example :package:apt/libmysqlclient-dev :package:apt/mysql-client-5.1 :package:apt/nginx-common :package:apt/nginx-light :package:apt/ruby-dev :package:apt/rubygems :package:rubygems/* :service:sysvinit/nginx :service:upstart/example
Now create the blueprint example using rules and it will only include those resources:
blueprint rules example.blueprint-rules
Lastly, we've revamped Blueprint's documentation and think you'll find it easier to get answers fast. We hope you enjoy this release and the progress we're making on the project. As always, we're here for any questions or suggestions. Enjoy!
