Resolve different terraform setup between shared and private runner shards

The shared shard runners use a different setup than the rest of our shards. Because we moved the ephemeral VMs to other projects for quota reasons, there is a special set of permissions and settings that need to happen in this shard, compared to the other private and shared-gitlab-org shard.

This is an issue because our rollout strategy assumes the shared shard is the last, and we're able to test things by rolling out to private and shared-gitlab-org first. Because the setup is different, this is not actually the case. As evidenced during the blue/green rollout, we had missed some permissions, which made the process more brittle.

Proposal

  • Create a new project to host ephemeral VMs for private and shared-gitlab-org
  • Ensure the terraform code for all our shards is identical, and differs only by names and numbers of things