diff dns_check.py @ 59:fa7a71b8a97f

more dns checks, including from inside containers in k8s`
author drewp@bigasterisk.com
date Sun, 01 May 2022 23:30:09 -0700
parents 8945bf71da22
children 5ad4b4c712d9
line wrap: on
line diff
--- a/dns_check.py	Sun May 01 23:27:33 2022 -0700
+++ b/dns_check.py	Sun May 01 23:30:09 2022 -0700
@@ -1,18 +1,19 @@
 # run key dns lookups everywhere
-import subprocess
 import tempfile
 
 import requests
 from pyinfra import host
 from pyinfra.operations import apt, files, server, systemd
 
+
 def check(name, addr):
     server.shell(commands=[
         # note: one big string
         f"out=`dnsget -q {name}`; "
         f'[ -n "$out" ] || exit 1; '
         f"if [ $out != {addr} ]; then echo got $out >&2 ; exit 1; fi"
-        ])
+    ])
+
 
 '''
 idea: read a file that looks like this:
@@ -22,30 +23,32 @@
 bang       127.0.1.1  10.1.0.1  10.1.0.1  10.5.0.1
 bang5      10.5.0.1   10.5.0.1  10.5.0.1  10.5.0.1
 dash       10.1.0.5   127.0.1.1 10.1.0.5  10.5.0.5
+bang.bigasterisk.com
+bang.bigasterisk.com.
+prime
+projects.bigasterisk.com
 etc
 
 (or another idea: wireguard everywhere all the time)
 '''
 
-# outside k8s
 if host.name in ['dash', 'bang', 'slash']:
-    check('dash', '10.1.0.5')
+    check('dash', '10.2.0.77')
+    check('projects.bigasterisk.com', '10.2.0.1')
 elif host.name in ['prime']:
     check('dash', '10.5.0.5')
     check('projects.bigasterisk.com', '10.2.0.1')  # expected the public addr, but fine
 else:
-    check('dash', '10.1.0.5')
+    check('dash', '10.2.0.77')
     check('projects.bigasterisk.com', '10.2.0.1')
 
-if host.name in ['bang']:
-    check('bang', '10.2.0.1')
-elif host.name in ['prime']:
+if host.name in ['prime']:
     check('bang', '10.5.0.1')
+    check('slash', '10.5.0.6')
 else:
     check('bang', '10.2.0.1')
+    check('slash', '10.2.0.138')
 
 check('bang5', '10.5.0.1')
 check('prime', '10.5.0.2')
-check('slash', '10.1.0.6')
 
-# inside k8s
\ No newline at end of file