32 lines
956 B
Python
32 lines
956 B
Python
import paramiko
|
|
|
|
c = paramiko.SSHClient()
|
|
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
c.connect('140.44.4.41', username='root', key_filename=r'C:\Users\Snarf\.ssh\id_ed25519_snarfnet', timeout=10)
|
|
|
|
def run(cmd):
|
|
print(f"\n>>> {cmd}")
|
|
_, o, e = c.exec_command(cmd)
|
|
out = o.read().decode().strip()
|
|
err = e.read().decode().strip()
|
|
if out:
|
|
print(out)
|
|
if err:
|
|
print("[stderr]", err)
|
|
return out
|
|
|
|
with open('homelab-gitops-repo/manifests/spaceport/homepage/homepage.yaml', 'r', encoding='utf-8') as f:
|
|
content = f.read()
|
|
|
|
stdin, stdout, stderr = c.exec_command('cat > /tmp/homepage.yaml')
|
|
stdin.write(content)
|
|
stdin.close()
|
|
stdout.read()
|
|
|
|
run("ls -lh /tmp/homepage.yaml")
|
|
run("kubectl apply -f /tmp/homepage.yaml")
|
|
run("kubectl rollout restart deployment/homepage-2-1744068158 -n infrastructure")
|
|
run("kubectl rollout status deployment/homepage-2-1744068158 -n infrastructure --timeout=60s")
|
|
|
|
c.close()
|