Skip to main content

fastfood

latest pypi release Build Status on Travis for 'master' branch Requirements Status from requires.io

========
Helps build cookbooks faster by pre-templating parts and exposing
options in a command line and config friendly way.

Installation

The latest release of fastfood can be installed via pip:

pip install fastfood
An alternative install method would be manually installing it leveraging
setup.py:
git clone https://github.com/rackerlabs/fastfood
cd fastfood
python setup.py install

Command Line Usage

list

Shows a list of available stencils in your template pack.

Example:

$ 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

show

Shows more information about a stencil, including available options.

$ fastfood show nginx
Stencil Set nginx:
  Stencils:
    nginx
  Options:
    name - Name of the recipe to create
    example - Various premade Nginx examples

build

Generates a new cookbook or updates an existing cookbook from a fastfood.json
file.

Example Template:

{
  "name": "mycookbook",
  "stencils": [
    {
      "stencil_set": "base"
    },
    {
      "stencil_set": "rabbitmq",
      "openfor": "myapp"
    },
    {
      "stencil_set": "rails",
      "stencil": "nginx",
      "name": "myapp",
      "tag": "myapp"
    }
  ]
}

Ex:

fastfood build fastfood.json

Template Notes

Fastfood uses the Jinja2 templating engine with
2 modifications.

qstring()

There is a helper method added to jinja2 for fastfood called qstring, it
takes in an argument and if that argument does not match a Chef node
attributes (node[‘mysomething’] | node.chef_environment) it will wrap that argument
in a string otherwise it just returns the argument.
qstring("node['mysomething']")

renders as

node['mysomething']

and

qstring("mynonchefstr")

renders as

"mynonchefstr"

jinja variable

Because the traditional jinja2 variable start and end strings can conflict
with Ruby code fastfood uses ‘|{’ and ‘}|’ to represent a jinja2 variable.
|{ options['name'] }|

Metadata

Release files for fastfood 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastfood 1.1.0
File Size Uploaded
fastfood-1.1.0.tar.gz 14.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastfood 1.1.0
File Interpreter ABI Platform
fastfood-1.1.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 37.3 kB

Release files / fastfood-1.1.0.tar.gz

Download URL fastfood-1.1.0.tar.gz
Size 14.4 kB
Tags Source
SHA-256 checksum
How to use checksums
969d2352ad29ba4ebb802ffbe25569b40e433286433a0371ae0f2e946f449460
BLAKE2b-256 checksum
How to use checksums
4bea43e04a36e83018e47d4c40382ba9d142a4d26117dbd72a30ed48d0711ee8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / fastfood-1.1.0-py2.py3-none-any.whl

Download URL fastfood-1.1.0-py2.py3-none-any.whl
Size 22.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
a9b6776a4d00c9011f28ca710e69cd8e2ff476e5c24855a03c35a971d4ff3e8b
BLAKE2b-256 checksum
How to use checksums
5c6f5ff610a667418178c34f972903e43ee8ca1c421f0961ccef65e242bc7f0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.9

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page