Skip to content

Role and Host Options Reference

Role and host options

Options are set on roles and on hosts based on the order in which the roles are defined. You can define your own, but note that the following are used internally by Bootleg:

Option Description Default
workspace Path of the remote build workspace (:build role) or application workspace (:app role) nil
user SSH username System.get_env("USER")
password SSH password nil
identity SSH private key file path nil
port SSH port 22
env Map of environment variables and values with which to run commands on remote servers.
E.g. %{PORT: "1234", FOO: "bar"}
%{}
context List of options to pass directly to SSHKit.Context. This can be used situationally, such as when you need to use sudo to run commands (user or group), or when you need to set a file mode creation mask (umask). []
replace_os_vars Controls the REPLACE_OS_VARS environment variable used by Distillery for release configuration true
release_workspace This option can be used when the build server is also the application server.
For :build roles, this is the path where the newly-built release should be copied.
For :app roles, this is the path where the release should be found. You probably want to use the same value for both!
nil

Pass-through SSH options

In addition to the SSH options above, specifying other common :ssh.connect options will cause them to be used only when establishing SSH connections and they will not be saved as role or host options.1

Info

Refer to Bootleg.SSH.supported_options/0 for the complete list of supported options, and :ssh.connect for more information.


  1. The user host option is always available due to its use in remote build, Git push operations.