Automate deployment and configuration of nodes required for Geo
Summary
The Geo team frequently needs to spin up an environment for testing Geo feature work and upgrades. This is a repetitive, time consuming task that has not been automated. Geo customers also need to manually create and configure their Geo nodes, or alternatively, write their own automation scripts.
Proposal
Automate the provisioning and configuration of nodes required for Geo.
MVP
Initially, this could be for a pre-defined architecture based on the architecture described in the Geo High Availability docs and deployed on GCP. The intended user for this iteration is the Geo team.
Note that the Geo team has already automated deployment of Geo nodes for gitlab.com.
Requirements are being defined here: https://docs.google.com/spreadsheets/d/1JYZw351nGvXLdWj20l_3MSCMn0luzPcKH-XBnzwI57A/edit?usp=sharing
Iterations
Support customizations so the user can define their own architecture.
References
Geo team's automation script for gitlab.com: gitlab#34001 (closed)