It's done in multiple steps:
- (once) preparing your workstation to orchestrate the terraform tooling (for proxmox here)
- (once) first create a template (through the hypervisor though, it's scripted in this diff)
- (n times vm) defines vm through the proxmox dsl in staging.tf file (there are 2 here: gateway, storage0)
The current staging.tf file defines 2 that can be created from scratch (run terraform destroy, terraform apply, also clean up the puppet master's certificates for those node):
- gateway (192.168.128.1)
- storage0 (192.168.128.2). Routing its packets through the gateway (as a storage server node)
This diff also defines a series of documents (markdown, scripts) to clarify how to:
- prepare the workstation with the tools
- create the template vm (debian 9/10)
This works for debian oldstable (9) and stable (10).
Requisite (for reproducibility):
- swh-site: Needs to be updated to add the expected roles for the new vms (branch new_staging)
- pergamon:/etc/puppet/autosign.conf: Updated manually the file to add the new domain internal.staging.swh.network (i don't see any puppet stanza which deals with that yet)
- louvre: one route has been added to louvre to allow the ssh connection from the internal network ssh email@example.com (gateway access).