Hetzner-dns-updater - A simple tool to update a DNS record via Hetzner DNS API. Used for simple HA together with Nomad

hetzner-dns-updater

A small utility tool to update a single record via Hetzner DNS API. This is mainly by our Nomad cluster to update the ingress DNS record to point to the cluster node that is running our ingress proxy Traefik.

Example usage:

job "traefik" {
    datacenters = ["dc1"]
    type = "service"

    group "traefik" {
        network {
            port "http" {
                host_network = "public"
            }
        }

        task "prepare" {
            lifecycle {
                hook = "prestart"
            }

            driver = "docker"
            config {
                image = "registry.service.consul:5000/hetzner-dns-updater:latest"
            }

            env {
                HETZNER_DNS_API_TOKEN = "your-api-token" # better use Hashicorp Vault for that
                DNS_ZONE_NAME = "example.com"
                DNS_RECORD_NAME = "ingress.cluster"  
                DNS_RECORD_TYPE = "A"
                DNS_RECORD_VALUE = "${NOMAD_IP_http}"
                DNS_RECORD_TTL = "60"
            }
        }

        task "traefik" {
            # ...
        }
    }
}

TODO

- support using existing environment variables:
  i.e. when running with network `mode = "host"` we can use "HOSTNAME"
- support updating multiple records (i.e. A and AAAA).
Similar Resources

A small tool used to correspond to the IP address according to the name, id, and network alias of the docker container, which can be run as a DNS server

A small tool used to correspond to the IP address according to the name, id, and network alias of the docker container, which can be run as a DNS server

Apr 4, 2022

kcp is a prototype of a Kubernetes API server that is not a Kubernetes cluster - a place to create, update, and maintain Kube-like APis with controllers above or without clusters.

kcp is a prototype of a Kubernetes API server that is not a Kubernetes cluster - a place to create, update, and maintain Kube-like APis with controllers above or without clusters.

kcp is a minimal Kubernetes API server How minimal exactly? kcp doesn't know about Pods or Nodes, let alone Deployments, Services, LoadBalancers, etc.

Jan 6, 2023

Fetches one or more DNS zones via AXFR and dumps in Unix hosts format for local use

axfr2hosts About axfr2hosts is a tool meant to do a DNS zone transfer in a form of AXFR transaction of one or more zones towards a single DNS server a

Aug 9, 2022

Naive LEGO helper for SberCloud DNS to be used with the EXEC plugin

Naive LEGO helper for SberCloud DNS Very basic, no any checks performed To be used with the exec plugin as described here Environment variables SBC_AC

Nov 3, 2021

A simple DNS forwarder that forwards DNS queries to various upstreams

A simple DNS forwarder that forwards DNS queries to various upstreams. If an upstream returns NXDomain, the next upstream is tried.

Jul 8, 2022

Automatically update your Windows hosts file with the WSL2 VM IP address

Automatically update your Windows hosts file with the WSL2 VM IP address

Jan 9, 2023

Use DDNS to Update a Cloudflare Spectrum Application's IP Address

Cloudflare Spectrum DDNS NOTICE - PROJECT IS A WORK IN PROGRESS Cloudflare Spectrum's functionality is limited to specifying IP addresses for SSH and

Sep 15, 2022

Develop, update, and restart your ESP32 applications in less than two seconds

Develop, update, and restart your ESP32 applications in less than two seconds

Jaguar Develop, update, and restart your ESP32 applications in less than two seconds. Use the really fast development cycle to iterate quickly and lea

Jan 8, 2023

Simple tool for connecting to remote hosts via ssh written on GO.

sshmenu is a simple tool for connecting to remote hosts via ssh written on GO. Great if you have trouble remembering IP addresses, hostnames, usernames or path to a key file.

Jul 21, 2022
cli for updating a GoDaddy DNS record
cli for updating a GoDaddy DNS record

Installation go install github.com/xujiahua/[email protected] $ godaddy-dns cli for godaddy dns Usage: godaddy-dns [command] Available Commands:

Nov 9, 2021
A Tor package updater and runner as an I2P Plugin
A Tor package updater and runner as an I2P Plugin

i2p.plugins.tor-updater A Tor package updater and runner as an I2P Plugin. This plugin is still being changed rapidly but it should be usable on most

Jul 31, 2022
dynflare is a tool to automatically update dns records at Cloudflare, when the ip changes.

dynflare dynflare is a tool to automatically update dns records at Cloudflare, when the ip changes. How it works The current ips are determined by ask

Dec 7, 2021
Record App: REST API Endpoints

REST API Endpoints api/records(POST) fetch data from mongodb api/memory(POST) cr

Jan 17, 2022
This is a proof of concept (PoC) for creating a QR code system for proving that one has had a valid vaccination record

TestVac QR Core This is a proof of concept (PoC) for creating a QR code system for proving that one has had a valid vaccination record (FHIR, see http

Nov 27, 2022
Record and replay a go net.Conn, mosting for testing.

fakeconn Record and replay a go net.Conn, mostly for testing and debugging. This package isn't finished, so you probably shouldn't use it. Recording f

Dec 5, 2021
Http-recorder - Application for record http response as static files
Http-recorder - Application for record http response as static files

http-recorder This is a application for record http response as static files. Th

Mar 21, 2022
mt-multiserver-proxy is a reverse proxy designed for linking multiple Minetest servers together

mt-multiserver-proxy mt-multiserver-proxy is a reverse proxy designed for linking multiple Minetest servers together. It is the successor to multiserv

Nov 17, 2022
A yaml data-driven testing format together with golang testing library

Specified Yaml data-driven testing Specified is a yaml data format for data-driven testing. This enforces separation between feature being tested the

Jan 9, 2022
Updating DNS records for dynamically changing IPs via the Cloudflare API

Cloudflare Dynamic IP Server About The Project About The Project Updating DNS re

Dec 24, 2021