Requirements¶
In order to build MetalK8s we rely and third-party tools, some of them are mandatory, others are optional.
Mandatory¶
Python 3.6 or higher: our buildchain is Python-based
docker 17.03 or higher: to build some images locally
skopeo, 0.1.19 or higher: to save local and remote images
hardlink: to de-duplicate images layers
Go (1.12 or higher) and operator-sdk (0.9 or higher): to build the Kubernetes Operators
mkisofs: to create the MetalK8s ISO
Mercurial: some Go dependencies are downloaded from Mercurial repositories.
Optional¶
git: to add the Git reference in the build metadata
Vagrant, 1.8 or higher: to spawn a local cluster (VirtualBox is currently the only provider supported)
VirtualBox: to spawn a local cluster
tox: to run the linters
Development¶
If you want to develop on the buildchain, you can add the development
dependencies with pip install -r requirements/build-dev-requirements.txt
.