feat: add cluster management and audit utility scripts
This commit is contained in:
47
scripts/create_dns_wildcard_secret.py
Normal file
47
scripts/create_dns_wildcard_secret.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import paramiko
|
||||
import sys
|
||||
import base64
|
||||
|
||||
sys.stdout.reconfigure(encoding='utf-8')
|
||||
|
||||
key_path = r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet"
|
||||
|
||||
# 1. Read npm-1 (*.snarfnet.net) from NPM on 140.44.4.71
|
||||
cNpm = paramiko.SSHClient()
|
||||
cNpm.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
cNpm.connect("140.44.4.71", username="root", key_filename=key_path, timeout=5)
|
||||
|
||||
stdin, stdout, stderr = cNpm.exec_command("docker exec $(docker ps -q -f name=nginx-proxy-manager_app) cat /etc/letsencrypt/live/npm-1/fullchain.pem")
|
||||
fullchain = stdout.read()
|
||||
stdin, stdout, stderr = cNpm.exec_command("docker exec $(docker ps -q -f name=nginx-proxy-manager_app) cat /etc/letsencrypt/live/npm-1/privkey.pem")
|
||||
privkey = stdout.read()
|
||||
cNpm.close()
|
||||
|
||||
b64_crt = base64.b64encode(fullchain).decode('ascii')
|
||||
b64_key = base64.b64encode(privkey).decode('ascii')
|
||||
|
||||
def apply_wildcard_secret(host, name):
|
||||
print(f"Creating secret tls-snarfnet-wildcard on {name} ({host})...")
|
||||
c = paramiko.SSHClient()
|
||||
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
c.connect(host, username="root", key_filename=key_path, timeout=5)
|
||||
|
||||
cmd = f"""
|
||||
cat << 'EOF' | k3s kubectl apply -f -
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: tls-snarfnet-wildcard
|
||||
namespace: dns
|
||||
type: kubernetes.io/tls
|
||||
data:
|
||||
tls.crt: {b64_crt}
|
||||
tls.key: {b64_key}
|
||||
EOF
|
||||
"""
|
||||
stdin, stdout, stderr = c.exec_command(cmd)
|
||||
print(stdout.read().decode('utf-8'))
|
||||
c.close()
|
||||
|
||||
apply_wildcard_secret("140.44.4.11", "Aerodrome")
|
||||
apply_wildcard_secret("140.44.4.41", "Spaceport")
|
||||
Reference in New Issue
Block a user