mirror of
https://github.com/warmbly/warmbly.git
synced 2026-09-05 08:01:23 +00:00
cloudprovider.Provider interface (Locations, ServerTypes, Images, Verify, CreateServer/DeleteServer, CreatePrimaryIP/AssignPrimaryIP/ UnassignPrimaryIP/DeletePrimaryIP/SetReverseDNS). One impl today (Hetzner Cloud); adding OVH or Vultr later means implementing the same six surfaces. hetzner.Client is a minimal idiomatic Go REST client over https://api.hetzner.cloud/v1. Bearer-token auth. Returns provider- native IDs as strings so the orchestration layer can persist them for rollback. 9 tests against httptest.Server covering token transmission, error surfacing, parsing, request-body shape, and interface conformance.