厨师长巫术
fastfood的Python项目详细描述
==
通过预模板化部件和公开,帮助更快地构建食谱
命令行和配置友好的选项。
安装
最新版本的快餐可以通过pip安装:
pip install fastfood
另一种安装方法是手动安装
利用
setup.py:
git clone https://github.com/rackerlabs/fastfood cd fastfood python setup.py install
命令行用法
列表
显示模板包中可用模具的列表。
示例:
$ fastfood list Available Stencil Sets: varnish - Creates a recipe for installing Varnish ha-redis - Creates a highly available Redis and HAProxy recipe java - Installs Java JRE
显示
显示有关模具的详细信息,包括可用选项。
$ fastfood show nginx Stencil Set nginx: Stencils: nginx Options: name - Name of the recipe to create example - Various premade Nginx examples
建造
< div >生成新的烹饪书或从
fastfood.json
文件。
示例模板:
{"name":"mycookbook","stencils":[{"stencil_set":"base"},{"stencil_set":"rabbitmq","openfor":"myapp"},{"stencil_set":"rails","stencil":"nginx","name":"myapp","tag":"myapp"}]}
示例:
fastfood build fastfood.json
qstring()
在jinja2中为快餐添加了一个名为qstring的helper方法,
它
接受一个参数,如果该参数与chef节点不匹配
属性(node['mysomething']node.chef_environment)它将
包装该参数
在字符串中,否则它只返回参数。
qstring("node['mysomething']")rendersasnode['mysomething']
以及
qstring("mynonchefstr") renders as "mynonchefstr"
jinja变量
因为传统的jinja2变量start和end字符串可以
冲突
使用ruby代码fastfood使用“{”和“}”来表示jinja2
变量。
|{ options['name'] }|