Skip to content

DNSCALE: Add DNScale DNS provider#3973

Merged
tlimoncelli merged 7 commits intoStackExchange:mainfrom
dnscaleou:feature/dnscale-provider
Jan 14, 2026
Merged

DNSCALE: Add DNScale DNS provider#3973
tlimoncelli merged 7 commits intoStackExchange:mainfrom
dnscaleou:feature/dnscale-provider

Conversation

@dnscale-ops
Copy link
Copy Markdown
Contributor

Summary

Limitations

  • Apex NS records are managed automatically by DNScale
  • Empty TXT records not supported
  • TXT records with leading/trailing whitespace not supported
  • TXT records with unescaped double quotes not supported
  • Null MX records not supported

Test plan

  • Integration tests pass (all record types)
  • Documentation added

Add support for DNScale DNS hosting service (https://dnscale.eu).

Features:
- Full CRUD operations for DNS records via DNScale REST API
- Support for common record types: A, AAAA, CNAME, MX, TXT, NS, CAA,
  PTR, SRV, SSHFP, TLSA, ALIAS, HTTPS, SVCB
- Automatic zone management with EnsureZoneExists
- Integration test profile included

Limitations:
- Apex NS records are managed automatically by DNScale
- Empty TXT records not supported
- TXT records with leading/trailing whitespace not supported
- TXT records with unescaped double quotes not supported
- Null MX records not supported
@tlimoncelli
Copy link
Copy Markdown
Contributor

Looks good! I'll have time for a more detailed code review later this week.

@tlimoncelli
Copy link
Copy Markdown
Contributor

golangci-lint reports two issues:

$ golangci-lint run  ./...
providers/dnscale/dnscaleProvider.go:100:6: type `zoneResponse` is unused (unused)
type zoneResponse struct {
     ^
providers/dnscale/dnscaleProvider.go:110:6: type `recordResponse` is unused (unused)
type recordResponse struct {

@dnscale-ops
Copy link
Copy Markdown
Contributor Author

golangci-lint reports two issues:

$ golangci-lint run  ./...
providers/dnscale/dnscaleProvider.go:100:6: type `zoneResponse` is unused (unused)
type zoneResponse struct {
     ^
providers/dnscale/dnscaleProvider.go:110:6: type `recordResponse` is unused (unused)
type recordResponse struct {

@tlimoncelli thank you for the valuable comments, addressed.

@tlimoncelli tlimoncelli merged commit 72cbf39 into StackExchange:main Jan 14, 2026
2 checks passed
@dnscale-ops dnscale-ops mentioned this pull request Jan 15, 2026
tlimoncelli pushed a commit that referenced this pull request Jan 20, 2026
Adds documentation for DNScale DNS hosting service, provider
implementation merged @
#3973

## API Documentation

For more information about the DNScale API, see the [DNScale API documentation](https://dnscale.eu/api/overview).
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dnscale-ops just a heads up that this URL currently responds with a 301 redirect to the www version: https://www.dnscale.eu/api/overview. Not an issue for now, but I wanted to flag it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants