Install the pack¶
Download the latest pack and unpack it. Run every command from that directory.
https://github.com/eitansuez/runlab-author-pack/releases/latest
The archive contains the programs trylab, runlabctl, and prereqs, and three example labs: basics, docker, and nginx. A packer directory is there for trylab to use when it builds a disk.
Tools¶
./prereqs installs the programs that build and start the machine. It prints the name of each package before installing it. One of them is Firecracker, the program that runs the virtual machine. It is written into this directory as firecracker. The installer asks for your password.
When you open a lab, trylab checks for those programs. If one is missing, it asks whether to run ./prereqs. Answering yes runs it. Pressing Enter leaves the programs uninstalled.
The account that runs a build needs to be able to read and write /dev/kvm. If it cannot, ./prereqs says so at the end.
The login key¶
The pack logs in to the machine as root. Root is the administrator account on the machine. The login key is a file named ssh-key in the pack directory. The first build writes that file when it is missing.
The shared disk¶
A disk is the machine's files, stored as one file on your computer. Each lab boots a copy of a disk.
The shared disk is named default. Every lab that does not add its own software uses it. The machine on that disk is Ubuntu, and Docker is already installed, along with curl and other ordinary tools.
The first time you open such a lab, trylab says the disk is missing and asks Build it now?. Press Enter to build it. The build needs the network, and it takes a while. The first build also saves the kernel, the program the machine boots with. Later builds reuse it.