Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dyndns: Add LuaDNS provider #4663

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

aaron-sierra
Copy link

@aaron-sierra aaron-sierra commented Dec 12, 2023

Complement ACME support for LuaDNS by adding Dynamic DNS support for the provider.

If the updates refactoring host checking for other providers (Cloudflare, Gandi LiveDNS, Linode, Porkbun, and Yandex) are, too much to consider, I can easily drop those three commits without issue.

Apex, wildcard, and simple hosts have been tested.
IPv4 and IPv6 support have been tested.

Aaron Sierra added 7 commits December 12, 2023 16:07
Improve code reuse while making it easier to maintain consistent log
messages by providing a formatted and translated message prefix,
_logPrefix, to the updatedns class.

Signed-off-by: Aaron Sierra <aaron@bubbl-tek.com>
Set $status_intro to the common log message prefix, _logPrefix,
in _checkStatus().

Signed-off-by: Aaron Sierra <aaron@bubbl-tek.com>
Prepare for commmon handling of DDNS provider hostname capabilities by
setting $allow_wildcard from the $ddns_attr table. With $allow_wildcard
set using a reasonable default for is_domain(), the explicit
simplification of wildcard hostnames is no longer needed.

Signed-off-by: Aaron Sierra <aaron@bubbl-tek.com>
Prepare for commmon handling of DDNS provider hostname capabilities by
defaulting $host_to_check to the concatenation of host and domainname
fields for "split domain"-type providers.

Signed-off-by: Aaron Sierra <aaron@bubbl-tek.com>
With $allow_wildcard set from the $ddns_attr table and apex domain
handling from the common case, the dedicated condition for the
Cloudflare providers (cloudflare and cloudflare-v6) is no longer needed.

Signed-off-by: Aaron Sierra <aaron@bubbl-tek.com>
Update the following providers:
  * Gandi LiveDNS (gandi-livedns and gandi-livedns-v6)
  * Linode (linode and linode-v6)
  * Yandex (yandex and yandex-v6)

Signed-off-by: Aaron Sierra <aaron@bubbl-tek.com>
Use common handling for apex and wildcard hosts.

Signed-off-by: Aaron Sierra <aaron@bubbl-tek.com>
@aaron-sierra
Copy link
Author

I'm currently locked out of my Redmine account, but I'll update the PR when I get in and create the ticket.

Support the LuaDNS v1 API (https://www.luadns.com/api.html) for Dynamic
DNS updates. This complements the ACME support for the provider.

Default TTL to 3600 seconds (1 hour), as in the LuaDNS web interface.

Signed-off-by: Aaron Sierra <aaron@bubbl-tek.com>
@aaron-sierra
Copy link
Author

I'm currently locked out of my Redmine account, but I'll update the PR when I get in and create the ticket.

For the record, I realized my Redmine account mistake, created a Redmine ticket, and updated this pull request description with the link on December 12, 2023.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant