Categorygithub.com/fazalmajid/fdyn
modulepackage
1.11.3
Repository: https://github.com/fazalmajid/fdyn.git
Documentation: pkg.go.dev

# README

fdyn

Name

fdyn - simple Dynamic DNS plugin for CoreDNS, using a mix of forward and Redis.

Description

The fdyn plugin is a forked version of the standard CoreDNS forward plugin, with a difference: if the returned IP from the upstream server is 0.0.0.0 (IPv4) or ::/0 (IPv6), fdyn will look up the name in the local Redis (using GET of the FQDN, including trailing period) and substitutes that instead. Thus you can set up all the paraphernalia of SOA, NS and authority records in a proper DNS server, and just override the dynamic IP address that is usually all you want to do.

If the queried string does not exist, fdyn will look for wildcard entries, e.g. if foo.bar.example.com is the domain looked up, fdyn will look up in Redis:

  • foo.bar.example.com
  • *.foo.bar.example.com
  • *.bar.example.com
  • *.example.com
  • *.com

# Functions

New returns a new Fdyn.
NewHealthChecker returns a new HealthChecker based on transport.
NewLookup returns a Fdyn that can be used for plugin that need an upstream to resolve external names.
NewProxy returns a new proxy.
ParseFdynStanza parses one forward stanza.

# Variables

ErrCachedClosed means cached connection was closed by peer.
ErrNoFdyn means no forwarder defined.
ErrNoHealthy means no healthy proxies left.
Variables declared for monitoring.
Variables declared for monitoring.
Variables declared for monitoring.
Variables declared for monitoring.
Variables declared for monitoring.
Variables declared for monitoring.

# Structs

Fdyn represents a plugin instance that can proxy requests to another (DNS) server.
Proxy defines an upstream host.
Transport hold the persistent cache.

# Interfaces

HealthChecker checks the upstream health.
Policy defines a policy we use for selecting upstreams.