feat: remove agenix and use git-crypt instead
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
from nc_dnsapi import Client
|
||||
from dotenv import dotenv_values
|
||||
import sys, urllib3
|
||||
|
||||
if len(sys.argv) != 2:
|
||||
raise Exception("Something funky is going on with argv")
|
||||
|
||||
dotenv_path = sys.argv[1]
|
||||
secrets = dotenv_values(dotenv_path)
|
||||
|
||||
CUSTOMER = secrets["NC_CUSTOMER"]
|
||||
API_PASSWORD = secrets["NC_API_PASSWORD"]
|
||||
API_KEY = secrets["NC_API_KEY"]
|
||||
DOMAIN = secrets["NC_DOMAIN"]
|
||||
|
||||
ip = urllib3.request("GET", "https://api.ipify.org").data.decode()
|
||||
|
||||
with Client(CUSTOMER, API_KEY, API_PASSWORD) as api:
|
||||
to_be_updated = []
|
||||
records = api.dns_records(DOMAIN)
|
||||
|
||||
for record in records:
|
||||
if record.type in ["A", "AAAA"] and record.destination != ip:
|
||||
record.destination = ip
|
||||
to_be_updated.append(record)
|
||||
|
||||
|
||||
api.update_dns_records(DOMAIN, to_be_updated)
|
||||
|
||||
zone = api.dns_zone(DOMAIN)
|
||||
if zone.ttl != 300:
|
||||
zone.ttl = 300
|
||||
api.update_dns_zone(DOMAIN, zone)
|
||||
Reference in New Issue
Block a user