ELF64 Binary

CloudCaptain supports apps written in Go or any other language and packaged as a single Linux x64 ELF binary.

Get Started

If you haven't already, start by following Go & CloudCaptain tutorial that will get you up and running in 5-10 minutes.

Packaging

Applications should be packaged as a single Linux ELF64 binary.

To properly set up cross-compilation in order to create Linux x64 binaries Windows users should invoke:

> set GOOS=linux

And Mac OSX users:

> export GOOS=linux

To further decrease the size of CloudCaptain images, use the newest version of Go and configure the linker to strip symbols while building the Linux ELF64 binaries:

> go build -ldflags="-s"

Root Certificates

CloudCaptain uses the same root certificate bundle as the latest version of Firefox. Additionally CloudCaptain also includes the root certificates for Amazon RDS, so you can connect securely to RDS databases out of the box.

Temporary Files

CloudCaptain configures the instance to use /tmp as the directory to store temporary files and provisions 1 GB of space by default.

To increase this (up to a maximum of 16 TB), simply set the tmp configuration setting to the number of GB of temp space you need. To prevent CloudCaptain from provisioning any temp space set tmp to 0.

Time Zone

By default all CloudCaptain instance use the UTC time zone.

We don't recommend changing this as this greatly simplifies time zone issues in machine to machine communication and cleanly relegates all time zones related aspects to a pure presentation layer concern.

If however you still do want to change this, you can override the default time zone of the instance using the TZ environment variable. For example to change the time zone of your instance to America/Los_Angeles you would do so like this:

> boxfuse fuse -envvars.TZ=America/Los_Angeles

Linux Kernel Tuning (experts only)

To tune the arguments passed Linux kernel from the bootloader, simply pass them using the -linux.args setting when fusing your image.

Revel