Create a generic OS image to abstract away the machine that will run the CI gateway
In an effort to make the testing infrastructure reproducible and testable ahead of deployment (see %Infra stage 2: Multiple deployments), an effective way to make this happen is to create a generic OS image that would be used as a base to run the infrastructure.
Its role would be to abstract the following:
- network configuration: detect which is the private and public network interface, acquire an IP on the public interface
- storage: automatically partition a drive to provide two partitions, one permanent for storage, and one temporary reset every boot
- execution: execute the image of the infrastructure (container, remote script, local script)
The generated OS image should be flashable to a drive (USB or not), and simply be plugged into a machine with an extra drive and two network interfaces (one connected to the internet, one connected to a private network for the test machines).