Prepare, configure, and manage Firecracker microVMs in seconds!
virtualization linux microvm firecracker

Fireup#

ci

fireup is a tool designed to simplify the process of setting up and managing Firecracker microVMs. It automates the preparation of the necessary files, including kernel images, root filesystems, and SSH keys, to quickly get you started with Firecracker.

Made with VHS

Features#

  • Quick Setup: Prepares linux kernel, Ubuntu/Debian/Alpine/NixOS rootfs, and SSH keys in one command.
  • Seamless VM Management: Start, stop, and monitor Firecracker microVMs with intuitive subcommands.
  • Network Configuration: Automatically sets up TAP devices, IP forwarding, and NAT for connectivity.
  • SSH Access: Easily connect to the microVM via SSH.
  • Tailscale Integration: Optionally connect your microVM to a Tailscale network for secure access.
  • Customizable Resources: Specify CPU, memory, and other resources for your microVM.
  • Configuration File: Uses a fire.toml file for easy configuration management.
  • API Server: Includes an HTTP API server for programmatic control of microVMs
  • Cross-Architecture Support: Supports x86_64 and aarch64 with automatic detection.

Prerequisites#

Installation#

You can install fireup using bash:

curl -sSL https://raw.githubusercontent.com/tsirysndr/fireup/main/install.sh | bash

Ubuntu/Debian#

echo "deb [trusted=yes] https://apt.fury.io/tsiry/ /" | sudo tee /etc/apt/sources.list.d/fury.list
sudo apt-get update
sudo apt-get install fireup

Usage#

     _______           __  __
    / ____(_)_______  / / / /___
   / /_  / / ___/ _ \/ / / / __ \
  / __/ / / /  /  __/ /_/ / /_/ /
 /_/   /_/_/   \___/\____/ .___/
                        /_/


Usage: fireup [OPTIONS] [COMMAND]

Commands:
  init     Create a new MicroVM configuration `fire.toml` in the current directory
  ps       List all Firecracker MicroVM instances
  start    Start Firecracker MicroVM
  stop     Stop Firecracker MicroVM
  restart  Restart Firecracker MicroVM
  up       Start a new Firecracker MicroVM
  down     Stop Firecracker MicroVM
  status   Check the status of Firecracker MicroVM
  logs     View the logs of the Firecracker MicroVM
  ssh      SSH into the Firecracker MicroVM
  reset    Reset the Firecracker MicroVM
  rm       Delete the Firecracker MicroVM
  serve    Start fireup HTTP API server
  inspect  Inspect the Firecracker MicroVM details
  exec     Execute a command inside the Firecracker MicroVM
  cp       Copy files to/from the Firecracker MicroVM
  help     Print this message or the help of the given subcommand(s)

Options:
      --debian
          Prepare Debian MicroVM
      --alpine
          Prepare Alpine MicroVM
      --nixos
          Prepare NixOS MicroVM
      --fedora
          Prepare Fedora MicroVM
      --gentoo
          Prepare Gentoo MicroVM
      --slackware
          Prepare Slackware MicroVM
      --opensuse
          Prepare OpenSUSE MicroVM
      --opensuse-tumbleweed
          Prepare OpenSUSE Tumbleweed MicroVM
      --almalinux
          Prepare AlmaLinux MicroVM
      --rockylinux
          Prepare RockyLinux MicroVM
      --archlinux
          Prepare ArchLinux MicroVM
      --ubuntu
          Prepare Ubuntu MicroVM
      --vcpu <n>
          Number of vCPUs
      --memory <m>
          Memory size in MiB
      --vmlinux <path>
          Path to the kernel image
      --rootfs <path>
          Path to the root filesystem image
      --bridge <name>
          Name of the bridge interface [default: br0]
      --tap <name>
          Name of the tap interface [default: ]
      --mac-address <MAC>
          MAC address for the network interface
      --api-socket <path>
          Path to the Firecracker API socket
      --boot-args <ARGS>
          Override boot arguments
      --ssh-keys <SSH_KEYS>
          Comma-separated list of SSH public keys to add to the VM
      --tailscale-auth-key <TAILSCALE_AUTH_KEY>
          Tailscale auth key to connect the VM to a Tailscale network
  -h, --help
          Print help
  -V, --version
          Print version