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
dependencies with pip install -r buildchain/requirements.txt
.