This project provisions the following servers used for validation and test of personal projects.
- Mirror Server: Provides services to reduce external network traffic. Those are Ubuntu mirror, Docker registry and PyPI server.
- CI Server: Provides a Continuous Integration server on top of a Kubernetes Cluster. Concourse CI and Tekton are the options supported.
- Cloud Server: Provides an OpenStack server as Infrastructure as a Service solution.
The Vagrant tool can be used for provisioning an Ubuntu Focal Virtual Machine. It's highly recommended to use the setup.sh script of the bootstrap-vagrant project for installing Vagrant dependencies and plugins required for this project. That script supports two Virtualization providers (Libvirt and VirtualBox) which are determine by the PROVIDER environment variable.
curl -fsSL http://bit.ly/initVagrant | PROVIDER=libvirt bash
Once Vagrant is installed, it's possible to provision a Virtual Machine using the following instructions:
VAGRANT_EXPERIMENTAL=disks vagrant up
vagrant up ci
The provisioning process will take some time to install all dependencies required by this project and perform a Kubernetes deployment on it.