In order to build MetalK8s we rely and third-party tools, some of them are mandatory, others are optional.
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
mkisofs: to create the MetalK8s ISO
implantisomd5 from the isomd5sum package: to embed an MD5 checksum in the generated ISO, allowing for its integrity to be checked
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
If you want to develop on the buildchain, you can install the development
pip install -r buildchain/requirements.txt.