Setup VM Management System
We need a system to manage the VMs that will run on Tardis.
The VM hosting system should meet the following requirements:
- Infrastructure-agnostic. VMs should be able to be created on any machine that is set up for VMs.
- Live migration of VMs across machines should be possible.
- The resources that each VM accesses (CPU, RAM, disk, network) should be configurable.
The VM management system should meet the following requirements: 3. Users should be able to request VMs. 4. Admins should be able to approve / deny requests for VMs from users. 5. A dashboard showing the current VMs, and which user they are assigned to, should be available.
One approach could be a PR-based approach on the GitLab? The way I imagine this to work is that the VM-user documentation would live on a GitLab and a new VM would be requested by opening a PR against that repo? But there could be challenges ensuring that the GitLab remains up-to-date with the cluster.