Files
payphone/scripts/deploy.py
T

39 lines
1010 B
Python

import os
import time
import getpass
username = input("Username for git.nyeki.dev: ")
password = getpass.getpass("Password for git.nyeki.dev: ")
latest_version = input("Latest version (empty for latest): ")
if not latest_version.strip():
latest_version = "latest"
else:
latest_version = "v" + latest_version.strip()
print(f"Updating to tag {latest_version}...")
os.system(f"git pull https://{username}:{password}@git.nyeki.dev/payphone/payphone")
os.system(
f"microk8s kubectl set image sts/bot bot=registry.nyeki.dev/payphone/payphone/shard:{latest_version}"
)
os.system(
f"""
microk8s kubectl set image pod/tasks \
connect=registry.nyeki.dev/payphone/payphone/tasks:{latest_version}
"""
)
print("Waiting 15 seconds to run migrations...")
time.sleep(15)
shards = input("How many shards are there deployed?: ")
os.system(f"microk8s kubectl exec bot-{int(shards) - 1} -- uv run aerich upgrade")
print("Done!")
# expire=registry.nyeki.dev/payphone/payphone/shard:v{latest_version}