go-devops/infra
Snider 50ad540241 feat(infra): Phase 2 — API client abstraction, retry logic, rate limiting
Extract shared APIClient from HCloudClient/HRobotClient/CloudNSClient with
configurable retry (exponential backoff + jitter), 429 rate-limit handling
(Retry-After header), and functional options (WithHTTPClient, WithRetry,
WithAuth, WithPrefix). 30 new client_test.go tests covering retry exhaustion,
rate-limit queuing, context cancellation, and integration with all 3 providers.
DigitalOcean: no code existed, removed stale doc references. 66 infra tests
pass, race-clean.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 04:11:08 +00:00
..
client.go feat(infra): Phase 2 — API client abstraction, retry logic, rate limiting 2026-02-20 04:11:08 +00:00
client_test.go feat(infra): Phase 2 — API client abstraction, retry logic, rate limiting 2026-02-20 04:11:08 +00:00
cloudns.go feat(infra): Phase 2 — API client abstraction, retry logic, rate limiting 2026-02-20 04:11:08 +00:00
cloudns_test.go feat(infra): Phase 2 — API client abstraction, retry logic, rate limiting 2026-02-20 04:11:08 +00:00
config.go feat: extract devops packages from core/go 2026-02-16 15:21:39 +00:00
config_test.go feat: extract devops packages from core/go 2026-02-16 15:21:39 +00:00
hetzner.go feat(infra): Phase 2 — API client abstraction, retry logic, rate limiting 2026-02-20 04:11:08 +00:00
hetzner_test.go feat(infra): Phase 2 — API client abstraction, retry logic, rate limiting 2026-02-20 04:11:08 +00:00