2. Installation
Hint
Abstract
This chapter describes how to install Flake Pilot from packages and how to build it from its sources.
2.1. Installing the Packages
Flake Pilot components are written in Rust and are available as packages here: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/flake-pilot
Install the following packages:
flake-pilotThe registration tool
flake-ctl, the manual pages and the configuration templates. This package is always required.flake-pilot-podmanThe
podman-pilotlauncher and theflake-ctl podmansubcommands.flake-pilot-firecrackerThe
firecracker-pilotlauncher, thesciguest init and theflake-ctl firecrackersubcommands.
The engine itself is not part of these packages. Install podman
and/or firecracker in addition, depending on which of them you
want to use.
2.2. Building From Source
Manual compilation and installation can be done as follows:
make build && make install
This compiles the workspace with cargo build --release, renders
the manual pages with rst2man and installs the binaries, the
templates, the bash completion and the manual pages below /usr.
The build requires:
A Rust toolchain with
cargopython3-docutilsfor the manual pagesThe development files of OpenSSL, used by the download code of
flake-ctl
Note
make install honors DESTDIR and PREFIX, which allows
to install into a staging area, e.g
make install DESTDIR=/tmp/root.
2.3. Privileges
Flake Pilot does not install any setuid binary. Actions which need
more privileges than the calling user has, like mounting an image or
creating a network device, are delegated to the sudo binary of
the system. Therefore a user who registers or runs a flake that
requires such an action needs the corresponding sudo permissions.
Applications which run rootless, e.g a plain container flake started through rootless podman, do not need any of this.
2.4. Next Steps
Continue with Getting Started to prepare the registry of your user and to register a first application.