1
0
Fork 0
home-dns/README.md

54 lines
879 B
Markdown
Raw Normal View History

2018-01-21 21:02:34 +00:00
# home-dns
Use [Route53](https://aws.amazon.com/route53/) for dynamic DNS.
Reads record name and zone from a YAML config and upserts on schedule.
## Usage
### Build
```shell
go get
go build
```
### Config
The config file should have a `source` endpoint and each record to be updated:
```yaml
source: "https://api.ipify.org?format=text"
2018-01-21 21:02:34 +00:00
records:
- cron: "@hourly"
name: home.example.com.
ttl: 300
2018-01-21 21:02:34 +00:00
zone: Z1ABCDEF123456
- cron: "@daily"
name: office.example.com.
ttl: 86400
2018-01-21 21:02:34 +00:00
zone: Z1ABCDEF123456
```
### Run
Execute with the config file:
```shell
2018-01-21 21:03:49 +00:00
AWS_PROFILE="home-root" ./home-dns config.yml
2018-01-21 21:02:34 +00:00
```
2018-01-21 21:20:08 +00:00
## Disclaimer
I do not know Go very well at all, so this code may be quite bad.
2018-01-21 21:02:34 +00:00
## Features
- multiple zones and records
- update on cron schedule
### Roadmap
- cache the external address (on a schedule of its own?)
2018-01-21 21:20:08 +00:00
- interface selection for external check