CLI 재구성: yakcloud project init/deploy/info/check + 설정동사(domain/scale/set/env/source/bind) + 자동 버전업 + yakcloud_ctl 엔진 + deploy CLI env 지원

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-27 17:22:44 +09:00
parent 8067507e6b
commit c161da3b65
9 changed files with 933 additions and 123 deletions

View File

@ -120,6 +120,12 @@ def deploy_workload(w: dict) -> tuple[str | None, bool]:
body["exposeHosts"] = hosts
else:
body["exposeHost"] = ex.get("host") or (CLUSTER_HOST or None)
# 환경변수(선언적): 리스트[{key,value,secret?}] 또는 맵{KEY: VALUE}.
env = w.get("env") or []
if isinstance(env, dict):
env = [{"key": k, "value": v} for k, v in env.items()]
body["env"] = [{"key": e["key"], "value": str(e.get("value", "")),
"secret": bool(e.get("secret", False))} for e in env]
if DRY:
log(f"deploy '{w['name']}' 예정: image={image} port={body['port']} path={body['path']} "
f"replicas={body['replicasDesired']} hosts={hosts or body.get('exposeHost')}")