The generated cloud-config file performs a number of actions:
- Creates a new user account to install and run the application, named
- Starts a setup monitor OS service.
- Installs the OS packages required for Halcyon, including git.
- Uses git to install Halcyon into
- Uses Halcyon to install the application into
- Registers the application as an OS service.
- Starts the application.
- Stops the setup monitor.
The setup monitor responds to HTTP
GET requests with a streaming log of the installation process. By default, the log is available for 1 hour after the installation begins.
A Cabal package description file declaring an executable must be included at the top level of the application source repository. The name of the executable will be used as the OS service name, and as part of the default command for running the application.
formatDigitalOceanUserData(platform, sourceUrl, opts)
Returns a cloud-config file as a string, intended to be supplied as the
user_data parameter to the DigitalOcean “Create a new droplet” API endpoint.
||git URL of the application source repository. Required.|
||Environment variables to set both before installing and running the application.|
||Command to run the application. Defaults to
||Application description. Defaults to
||Application listening port. Defaults to
||Time during which the setup monitor is active, in seconds. Defaults to
||Setup monitor listening port. Defaults to
$ bower install halcyon-cloud-config
Scripts using halcyon-cloud-config must be processed with webpack in order to include the required platform-specific configuration files.