HomeVyOS Platform

dns: T5144: Modernize dynamic dns operation

Description

dns: T5144: Modernize dynamic dns operation

Apply next round of configuration tree updates to 'service dns dynamic'
with the following changes:

  • Migrate service dns dynamic interface <interface> [use-web] to service dns dynamic address <interface> or service dns dynamic address web [web-options] This communicates the intent that dynamic dns IP address is detected in only one way - using the <interface> or using an external web request, not both.
  • When using external web request, (service dns dynamic address web), external url is optional (web-options url). Ddclient defaults are used when unspecified,
  • Rename all config login to username for consistency and also to align better with alternative ddclient backends in consideration.
  • Apply global 'ipv6-enable' to per service 'ip-version: ipv6'. Selecting usage of IPv4 or IPv6 (or both simultaneously) is now at per service (protocol) level instead of global level. This allows more control on the ability to select IPv4 in some cases and IPv6 in some other cases wherever supported by the underlying ddclient protocol.
  • While the IP address (and by extension, the detection mechanism) is global, the way it is applied to a particular ddclient protocol depends on whether it supports IPv4 or IPv6 or both.
  • Related to the above, this also prevents generating incorrect config file (ddclient.conf) with multiple global sections leading to an unpredictable behavior of ddclient.
  • Implement provider (protocol) specific custom tweaks whenever possible (e.g., zone, username, server are not necessary in all cases).
  • Move service name from a combination of 'protocol' (with protocol config autodetected) and custom (with protocol config specified) to a single 'service' key. This allows for consisent setup of multiple config for the same ddclient protocol (with different options and credentials). This also avoid ambiguity with usual networking term 'protocol' and ddclient specific term 'protocol' (and can change with a move to a different backend).
  • Apply upfront XML constraints and validations consistently wherever applicable.
  • RFC2136 specific change: Rename rfc2136 config record to host-name for consistency.
  • Cloudflare specific change: While ddclient still supports authenticating with email and global auth key, skipping username in config will indicate the intent to use API token authentication (with special 'token' literal as username).

Details

Provenance
indrajitrAuthored on Apr 23 2023, 11:25 PM
Parents
rVYOSONEX12b7da289665: T5257: add verify_vrf() check for flow-accounting
Branches
Loading...
Tags
Loading...