Node server commands

Usage: "kraftwerk command [hostname] [--options ...]"

create-node

Uses libcloud to create a cloud server with root access, waits for a valid IP address and optionally adds an entry to /etc/hosts.
Optional arguments: image_id, size_id.

setup-node

Creates web user, installs software etc. Everything needed to prepare for kraftwerk deployments.

Project commands

Usage: "kraftwerk command [node] [project] [--options ...]"

deploy

Transfers source directory, installs Python requirements and sets up services.

destroy

Removes a project and all related data from a node.

dump

Creates a timestamp folder on a node and snapshots each defined service. Prints out a path string to the created folder (for archiving perhaps).

load

Takes a timestamp and loads a dump folder.

sync-services (usage: "src-node dest-node [project]")

Uses dump and load plumbing of kraftwerk to transfer the state of a project between servers. Useful to copy live data to a stage/development node. Uses ssh agent to forward signed keys between nodes.

stab

Stab executes one-off shell commands in the project environment on a given node. This is useful for commands like syncdb or debugging.

kraftwerk stab cloud.server -s \ 
  DJANGO_SETTINGS_MODULE=myproject.settings django-admin.py syncdb
kraftwerk stab cloud.server -s tail /var/service/myproject/log/main/current

env

This is a convenience utility. It simply prints your site environment as computed by kraftwerk. It us useful to paste into a terminal for debugging on the server.