Project: GoDaddy SDK
Vision
Python SDK and OpenTofu provider for the GoDaddy API. The SDK wraps all 10 API groups with 1:1 endpoint mapping. The Tofu provider consumes the SDK to manage DNS records and domains as IaC.
No official GoDaddy SDK exists in any language. All 10 API groups have official Swagger 2.0 specs at
developer.godaddy.com/swagger/swagger_{group}.json. Community Tofu providers exist but are abandoned or dangerous (one deletes unmanaged records).Status
Phase: Project setup and scaffolding
Priority: DNS mixin first — needed to wire up
palinks.app custom domain (palinks #28)Pipeline: godaddy-sdk → godaddy-tofu → pal-e-platform consumes provider → palinks.app is first dogfood record
Architecture
godaddy-sdk (Python)
- Python 3.10+,
httpxfor HTTP, mixin-per-API-group pattern GoDaddyClientcomposes mixins:DomainsMixin,DNSMixin,CertificatesMixin, etc.- Auth:
sso-key {API_KEY}:{API_SECRET}header - Base URLs:
https://api.godaddy.com(prod),https://api.ote-godaddy.com(test) - Secrets:
~/secrets/godaddy/.env
godaddy-tofu (Go)
- Custom OpenTofu provider built on the SDK (or direct API calls in Go)
- Resources:
godaddy_dns_record,godaddy_domain - Replaces abandoned community providers (
veksh/godaddy-dns,n3integration/godaddy) - Consumed by
pal-e-platform/terraform/
API Groups (10 Swagger Specs)
| Group | Endpoints | SDK Mixin | Priority |
|---|---|---|---|
| Domains | ~20 | DomainsMixin | P1 |
| DNS (in domains spec) | 5 | DNSMixin | P0 — immediate need |
| Certificates | ~25 | CertificatesMixin | P2 |
| Subscriptions | 5 | SubscriptionsMixin | P3 |
| Shoppers | 6 | ShoppersMixin | P3 |
| Orders | 2 | OrdersMixin | P3 |
| Abuse | 6 | AbuseMixin | P3 |
| Aftermarket | 3 | AftermarketMixin | P3 |
| Agreements | 1 | AgreementsMixin | P3 |
| Parking | 2 | ParkingMixin | P3 |
| Countries | 2 | CountriesMixin | P3 |
User Stories
story:dns-management— Set/update/delete DNS records programmatically (A, CNAME, TXT, MX)story:domain-management— Domain CRUD, availability check, purchase, renew, transferstory:tofu-provider— Custom OpenTofu provider for DNS/domain IaC in pal-e-platform
Repos
godaddy-sdk— Python SDKgodaddy-tofu— OpenTofu provider (planned)godaddy-mcp— MCP server (deferred — Tofu provider + good docs is better for DNS/registrar use case)
Board
board-godaddy-sdk