feat: deploy sub2api api2 on jd01

This commit is contained in:
Codex
2026-06-30 09:25:59 +00:00
parent b60cd70752
commit e0c70a2de7
5 changed files with 217 additions and 19 deletions
@@ -972,14 +972,30 @@ def generate_api_key():
alphabet = string.ascii_letters + string.digits
return "sk-unidesk-codex-" + "".join(secrets.choice(alphabet) for _ in range(48))
def ensure_api_key_secret(group_id):
def existing_sub2api_pool_api_key(token):
try:
existing = next((item for item in list_user_keys(token) if item.get("name") == POOL_API_KEY_NAME), None)
except Exception:
return None
if not isinstance(existing, dict):
return None
key = existing.get("key")
return key if isinstance(key, str) and key else None
def ensure_api_key_secret(group_id, token):
existing = None
try:
existing = decode_secret_value(POOL_API_KEY_SECRET_NAME, POOL_API_KEY_SECRET_KEY)
except Exception:
existing = None
api_key = existing if existing else generate_api_key()
secret_action = "kept-existing" if existing else "created"
reused = None if existing else existing_sub2api_pool_api_key(token)
api_key = existing or reused or generate_api_key()
if existing:
secret_action = "kept-existing"
elif reused:
secret_action = "reused-existing-sub2api-key"
else:
secret_action = "created"
manifest = {
"apiVersion": "v1",
"kind": "Secret",
@@ -2419,7 +2435,7 @@ def run_sync():
load_factor_status = account_load_factor_status(token)
ws_v2_status = account_ws_v2_status(token)
temp_unschedulable_status = account_temp_unschedulable_status(token)
api_key, secret_action, secret_apply_stdout = ensure_api_key_secret(group_id)
api_key, secret_action, secret_apply_stdout = ensure_api_key_secret(group_id, token)
api_key_result = ensure_sub2api_api_key(token, api_key, group_id)
owner_balance = ensure_pool_owner_balance(token, api_key_result["userId"])
owner_concurrency = ensure_pool_owner_concurrency(token, api_key_result["userId"])