1
0
Fork 0
Go to file
Sean Sube 69cc0f9c51 respect ttl from config, improve error handling 2018-01-21 15:11:23 -06:00
.gitignore add program and readme 2018-01-21 15:02:34 -06:00
LICENSE Initial commit 2018-01-21 14:47:47 -06:00
README.md respect ttl from config, improve error handling 2018-01-21 15:11:23 -06:00
main.go respect ttl from config, improve error handling 2018-01-21 15:11:23 -06:00

README.md

home-dns

Use Route53 for dynamic DNS.

Reads record name and zone from a YAML config and upserts on schedule.

Usage

Build

go get
go build

Config

The config file should have a source endpoint and each record to be updated:

resource: "https://api.ipify.org?format=text"

records:
- cron: "@hourly"
  name: home.example.com.
  ttl: 300
  zone: Z1ABCDEF123456
- cron: "@daily"
  name: office.example.com.
  ttl: 86400
  zone: Z1ABCDEF123456

Run

Execute with the config file:

AWS_PROFILE="home-root" ./home-dns config.yml

Features

  • multiple zones and records
  • update on cron schedule

Roadmap

  • cache the external address (on a schedule of its own?)
  • interface selection for external check