# Libvirt Multitenancy - https://sumit-ghosh.com/articles/create-vm-using-libvirt-cloud-images-cloud-init/ - https://medium.com/@art.vasilyev/use-ubuntu-cloud-image-with-kvm-1f28c19f82f8 - https://cloud.centos.org/centos/8/x86_64/images/ - https://cloud-images.ubuntu.com/ - https://medium.com/bettercode/how-to-build-a-modern-ci-cd-pipeline-5faa01891a5b - https://medium.com/trendyol-tech/how-to-use-gitops-with-argocd-1782b8493cc3 1. Peers at NTHU expect a network of VMs to experiment with Openstack and OSM. 2. We wish to restrict their connection to the LAN of VMs with Wirguard VPN. 3. We wish to provide a simple VM image fallback procedure without exposing any other functionalities of libvirt; polkit does the job. 4. We wish to automate this process with IaC tools, e.g., GitLab CI, Argo CD, terraform, and vagrant. To rephrase: > Approximate essential OpenStack functionalities with standalone IaC tools in order to provide a modular remote VM experience for peers at NTHU. [TOC] ## Network - NATed libvirt LAN with subnet `192.168.114.0/25` and gateway `192.168.114.1`. - Wirguard VPN with subnet `192.168.114.128/28` routed to the libvirt LAN. - Our VPN peer (server) will take `192.168.114.129`.