source/projects/public_dns
2024-02-06 10:01:19 -07:00
..
src More records 2023-12-24 20:31:54 -07:00
test/python Fmt. 2023-07-06 22:55:26 -06:00
BUILD.bazel BUILD.bazel 2024-02-06 10:01:19 -07:00
config.yml Not sure why this broke, but fixing DNS sync 2023-11-29 22:41:10 -07:00
README.md public-dns -> public_dns 2022-11-26 14:20:22 -07:00
update.sh public-dns -> public_dns 2022-11-26 14:20:22 -07:00

Public DNS automation

A tool for wiring reading a public IPv4 address through to generating and publishing DNS records. At present, this tool is wired up to leverage the Meraki API for read and the Gandi REST API as the write target.

Example config

---
gandi:
  key: "[[ REDACTED ]]"

meraki:
  key:           "[[ REDACTED ]]"
  organization:  "[[ REDACTED ]]"
  network:       "[[ REDACTED ]]"
  router_serial: "[[ REDACTED ]]"

tasks:
  # My zones
  - template: arrdem.com.j2
    zones:
      - arrdem.com
      - arrdem.me
      - reidmckenzie.com

  - paren.party

  # Parked domains
  - template: park.j2
    zones:
      - yakshave.club

  - template: tirefireind.us.j2
    zones:
      - tirefireind.us
      - tirefire.industries

# Bindings consumed by jinja2
bindings:
  ttl: 300 # 5min TTL on records
  sroo:
    public_v4: 67.164.172.171

  # the local: key is automatically spliced in here
  # local: public_v4: < IPv4 addr. >
  # local: public_v6: < IPv6 addr. >

LICENSE

Copyright Reid 'arrdem' McKenzie August 2021.

Published under the terms of the MIT license.