Repository navigation
v0.3.0
·
53 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Breaking changes
dnspatch is v0.x, and 0.3 breaks three things. The migration guide has a before and after for each.
- Configuration:
[instance.retriever]is now an array of tables,[[instance.retriever]]. The old form is rejected with an error that names the fix. - Plugin API:
Retriever.GetIPAddressis replaced byGetAddressesandProvider.SetIPAddressbyUpdate; both now handle the two address families. - Plugin API: the
required:"true"struct tag is replaced by therequiredoption of thetomltag,toml:"token,required". The old tag is no longer read and nothing reports it, so a plugin that keeps it compiles and the parameter silently becomes optional.
Everything else in 0.3 is additive: new retriever interface, new providers beget, dyndns2 (with dyn, dynu, nicru, noip), rfc2136 and yandexcloud, ${file:PATH} for secrets, --check-config, and dual-stack instances.
Changelog
- 4c4adb3: feat(cli): tell providers of one type apart in --check-config (#48) (@KrimsN)
- 5606c68: feat(cmd): add --check-config flag (#36) (@KrimsN)
- 086dfe1: feat(config): allow type instead of ref in instance retriever/provider (#39) (@KrimsN)
- d314c0e: feat(config): support ${file:PATH} for secrets from files (#31) (@KrimsN)
- a683d12: feat(plugin): give Provider a dual-address contract (#32) (@KrimsN)
- 5031daf: feat(provider): add beget provider (#38) (@KrimsN)
- 8eac3d6: feat(provider): add dyndns2 provider (#46) (@KrimsN)
- a1c0389: feat(provider): add rfc2136 provider (#41) (@KrimsN)
- 8d175b0: feat(provider): add yandexcloud provider (#43) (@KrimsN)
- aa8fd1a: feat(retriever)!: support family="both" and fallback across N retrievers (#34) (@KrimsN)
- 243b437: feat(retriever): add interface retriever (#42) (@KrimsN)
- 0586f16: feat(runner)!: support dual-stack instances with two retrievers (#33) (@KrimsN)
- e6a04bd: feat: add examples/ with scenario-specific config.toml files (#35) (@KrimsN)
Install
Docker, for linux/amd64, linux/arm64 and linux/arm/v7. The same tags are on Docker Hub and on the GitHub Container Registry:
docker pull krimsn/dnspatch:0.3.0
docker pull ghcr.io/krimsn/dnspatch:0.3.0Go:
go install github.com/KrimsN/dnspatch/cmd/dnspatch@v0.3.0Binary: download the archive for your platform below and check it against checksums.txt.