Page MenuHomePhabricator

Taavi knowledge transfer: Cloud VPS OpenTofu provider
Closed, ResolvedPublic

Description

Taavi writes:

* I wrote the Cloud VPS OpenTofu provider (https://wikitech.wikimedia.org/wiki/Help:Using_OpenTofu_on_Cloud_VPS). It's fairly stable as the Novaproxy and ENC APIs are stable, but it needs someone to fix the build process to produce Darwin binaries for both architectures.

Francesco has offered to take over this maintenance.

Event Timeline

Notes:
Apr 24, 2024 | Cloud VPS OpenTofu provider
Attendees: Arturo Borrero c_7b9ad6d28760abb302f0909412d1ed85b8d1db6ade03cbf2242fededb17164f1@group.calendar.google.com David Caro Francesco Negri Taavi Väänänen

Notes

  • We have our own terraform/opentofu registry for our provider - code in puppet
  • https://gitlab.wikimedia.org/repos/cloud/cloud-vps/terraform-cloudvps - provider code
  • https://gitlab.wikimedia.org/repos/cloud/cloud-vps/go-cloudvps - golang libs (used by catalyst also)
  • It’s still named “terraform”, we should rename it to “tofu”
  • The registry is a JSON endpoint that tofu can use to list the available versions of the provider
  • The binary of the provider is at the moment only compiled for amd64
  • OpenStack APIs are open to the internet, so tofu can connect to those from a laptop
  • We don’t have metrics on how many calls are coming from outside our own infra, we could create a metric in haproxy filtering on source IP
  • Hiera support in the tofu provider is a bit janky, because the ENC API is very strict regarding the yaml formatting
  • Essentially, the only service we are running is the registry for users to download the provider (built only for linux amd64 for now), that is deployed using a script in the puppet repository

Action items

taavi claimed this task.