godaddy-sdk

godaddy-sdk forgejo

Notes

Project Page 1
  • Project: GoDaddy SDK 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+, httpx for HTTP, mixin-per-API-group pattern
    • GoDaddyClient composes 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, transfer
    • story:tofu-provider — Custom OpenTofu provider for DNS/domain IaC in pal-e-platform

    Repos

    • godaddy-sdk — Python SDK
    • godaddy-tofu — OpenTofu provider (planned)
    • godaddy-mcp — MCP server (deferred — Tofu provider + good docs is better for DNS/registrar use case)

    Board

    board-godaddy-sdk

Board 1
Repos 2
  • godaddy-mcp
    active
  • godaddy-sdk
    active