Kraftwerk consults ~/.kraftwerk.yaml for configuration. This is generated from a questionnaire when you first call the kraftwerk cli.

~/.kraftwerk.yaml

provider

The libcloud Python library is used to interact with various cloud providers. Kraftwerk aims to support all drivers. So far EC2 is the only thoroughly tested driver. Please feedback your usage of others.

user & secret

The libcloud library is aware of two authentication methods against cloud API's. One uses a single user token and the other a user and secret combination. Kraftwerk knows which one to use depending on what is supplied. usershould always be supplied for remote cloud API's.

image_id

This is the label of the image you wish to use. Kraftwerk aims to support the most recent stable Ubuntu (currently Ubuntu Karmic Koala).

size_id

The server node size. Various providers provide various sizes. EC2 small instances are called m1.small. Consult libcloud documentation.

securitygroup

EC2 specific. EC2, uses default if not specified.

keyname

EC2 specific. This seems to be needed to create nodes. Kraftwerk uses your own public key and enables root access. The ubuntu user is still accessible with the AWS key pair.

default_node

Allows the user to leave out the node parameter in most project commands. Optional.

templates

Path to templates directory for overwriting default kraftwerk templates. Most setup scripts and server configuration files are pushed through kraftwerk templates. Kraftwerk uses the Jinja2 template engine.

Project config (PROJECT/kraftwerk.yaml)

Secondary configuration is at the project level. Use the kraftwerk init command to generate a project skeleton and kraftwerk supplies a default YAML settings file that defines certain behavior of a deployed project.

domain

Hostname of the main virtualhost. This should be the domain of your WSGI site. Make sure it's pointing to your node server IP address.

aliases

A list of any additional hostnames to catch. Kraftwerk sets up NGINX redirects to the main domain.

services

List of services the server node will supply to the site.

workers

Number of gunicorn workers. Consult gunicorn documentation.

wsgi

module.module:callable to WSGI app

src

Name of the main source directory. Default is a directory of the same name as the kraftwerk project. Useful if you want the site Python package to be named differently.