Players get a fast TTL-backed homepage (local profile / Cloudflare D1) with dense UI polish; login unlocks /home without blocking on every OpenDota refresh. Co-authored-by: Cursor <cursoragent@cursor.com>
37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
"""Deploy climperor-player-sync Worker via wrangler (no secret echo)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
HERE = Path(__file__).resolve().parent
|
|
WORKER = HERE / "player-sync"
|
|
|
|
|
|
def main() -> int:
|
|
email = os.environ.get("CLOUDFLARE_EMAIL") or os.environ.get(
|
|
"KEYZOO_ASSET_META_USERNAME"
|
|
)
|
|
key = os.environ.get("CLOUDFLARE_API_KEY") or os.environ.get(
|
|
"KEYZOO_ASSET_SECRET_GLOBAL_API_KEY"
|
|
)
|
|
if not email or not key:
|
|
print("missing Cloudflare credentials", file=sys.stderr)
|
|
return 2
|
|
env = os.environ.copy()
|
|
env["CLOUDFLARE_EMAIL"] = email
|
|
env["CLOUDFLARE_API_KEY"] = key
|
|
env["CLOUDFLARE_ACCOUNT_ID"] = env.get(
|
|
"CLOUDFLARE_ACCOUNT_ID", "510534f7f6284344aadaf2f5a0794d48"
|
|
)
|
|
cmd = "npx --yes wrangler@3 deploy"
|
|
print("deploying climperor-player-sync …", flush=True)
|
|
return subprocess.call(cmd, cwd=str(WORKER), env=env, shell=True)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|