Fabric is a command-line tool for application deployment and systems administration tasks. It allows the user to run commands across a server farm.
This is intended to be setup and run on your local workstation/laptop.
To install the dependencies:
$ pip install -Ur requirements.txt
NB: if you get a "pip: command not found" error, run this first:
$ sudo easy_install pip
Configure it (see the fabric documentation for more examples),
$ echo 'user = jimbob' >> ~/.fabricrc
You can view a list of the available tasks:
$ fab -l
And execute against an environment and set of hosts like so:
$ fab preview all hosts
...
$ fab preview class:frontend do:'uname -a'
...
It was previously possible to use these scripts from the jumpboxes via the
govuk_fab
wrapper. This is no longer supported as it relied on SSH agent
forwarding, which is a Bad Thing because other people with root access to
that jumpbox would be able to re-use any of the private keys in your agent.
You should convert to the [local usage](#Local usage) method described above
and ensure that you do not have the following option anywhere in your
~/.ssh/config
:
ForwardAgent yes