Skip to content

HEDNS: support init command#4289

Open
TomOnTime wants to merge 1 commit into
mainfrom
hedns-register-creds-metadata
Open

HEDNS: support init command#4289
TomOnTime wants to merge 1 commit into
mainfrom
hedns-register-creds-metadata

Conversation

@TomOnTime
Copy link
Copy Markdown
Collaborator

Summary

Register CredsMetadata for HEDNS so the provider is offered by the dnscontrol init wizard.

Fields mirror the entries in integrationTest/profiles.json.

CC: @rblenkinsopp

Test plan

  • go build ./... passes
  • dnscontrol init lists HEDNS as an option
  • Verify any // TODO: Verify annotations in the diff (e.g. PortalURL)

🤖 Generated with Claude Code

Register CredsMetadata so the HEDNS provider appears in the `dnscontrol init` wizard.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
DisplayName: "Hurricane Electric DNS",
Kind: providers.KindDNS,
DocsURL: "https://docs.dnscontrol.org/provider/hedns",
PortalURL: "https://dns.he.net/", // TODO: Verify
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Yes, this is the correct URL, I'm not sure why this is TODO as this is very easy to verify, was this Claude submission actually reviewed?

{
Key: "username",
Label: "Username",
Help: "Your dns.he.net account username.",
Copy link
Copy Markdown
Contributor

@rblenkinsopp rblenkinsopp May 18, 2026

Choose a reason for hiding this comment

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

I would change this (as the account is broader than just DNS):

Suggested change
Help: "Your dns.he.net account username.",
Help: "Your Hurricane Electric account username.",

{
Key: "password",
Label: "Password",
Help: "Your dns.he.net account password.",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
Help: "Your dns.he.net account password.",
Help: "Your Hurricane Electric account password.",

Comment on lines +105 to +109
{
Key: "session-file-path",
Label: "Session file path (optional)",
Help: "Path to a directory where the .hedns-session file is stored to reuse the authenticated session. Leave blank to log in each run.",
},
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

For this, I'd be inclined to set the default to ., as without this the user will get the suprising behaviour only being able to issue one command every 30 seconds if TOTP is enabled.

Suggested change
{
Key: "session-file-path",
Label: "Session file path (optional)",
Help: "Path to a directory where the .hedns-session file is stored to reuse the authenticated session. Leave blank to log in each run.",
},
{
Key: "session-file-path",
Label: "Session file path (optional)",
Help: "Path to a directory where the .hedns-session file is stored to reuse the authenticated session. Leave blank to log in each run.",
Default: ".",
},

While this is slightly less secure, it is documented in the associated documentation, and since this is for the init getting started workflow, I would favour useability in this instance.

@rblenkinsopp
Copy link
Copy Markdown
Contributor

Thanks for the submission, mostly looks good with a some minor suggestions/alterations.

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

Development

Successfully merging this pull request may close these issues.

3 participants