Add Provider interface and refactor Route53 behind it #1

Merged
thatjames merged 1 commit from pr1/provider-interface into main 2026-04-25 18:21:22 +02:00
Owner

Introduces internal/providers with a narrow Provider interface
(EnsureRecord/DeleteRecord/HealthCheck/Name) and moves all aws-sdk-go-v2
calls into internal/providers/route53. Switches to UPSERT semantics so
the worker no longer needs the existence-check round trip. Fixes the
cached-zone-id bug: zones are now apex-keyed and resolved per-domain
instead of pinned to the first container. Supports
AWS_ROUTE53_HOSTED_ZONE_ID for IAM-scoped deployments.

Behaviour-neutral. PR2 will add per-container provider selection,
a registry, and the DigitalOcean implementation.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Introduces internal/providers with a narrow Provider interface (EnsureRecord/DeleteRecord/HealthCheck/Name) and moves all aws-sdk-go-v2 calls into internal/providers/route53. Switches to UPSERT semantics so the worker no longer needs the existence-check round trip. Fixes the cached-zone-id bug: zones are now apex-keyed and resolved per-domain instead of pinned to the first container. Supports AWS_ROUTE53_HOSTED_ZONE_ID for IAM-scoped deployments. Behaviour-neutral. PR2 will add per-container provider selection, a registry, and the DigitalOcean implementation. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add Provider interface and refactor Route53 behind it
All checks were successful
deploy / deploy (push) Successful in 1m1s
ac15b56c66
Introduces internal/providers with a narrow Provider interface
(EnsureRecord/DeleteRecord/HealthCheck/Name) and moves all aws-sdk-go-v2
calls into internal/providers/route53. Switches to UPSERT semantics so
the worker no longer needs the existence-check round trip. Fixes the
cached-zone-id bug: zones are now apex-keyed and resolved per-domain
instead of pinned to the first container. Supports
AWS_ROUTE53_HOSTED_ZONE_ID for IAM-scoped deployments.

Behaviour-neutral. PR2 will add per-container provider selection,
a registry, and the DigitalOcean implementation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
thatjames deleted branch pr1/provider-interface 2026-04-25 18:21:28 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
thatjames/docker-dns-resolver!1
No description provided.