fix: improve wechat collector deploy visibility

This commit is contained in:
Codex
2026-06-13 14:54:34 +00:00
parent 19930f56ce
commit 5d484d1ac4
5 changed files with 100 additions and 8 deletions
+37 -4
View File
@@ -97,7 +97,15 @@ interface WechatArchiveConfig {
createNamespace: boolean;
workload: { kind: string; name: string; serviceAccountName: string; replicas: number; containerName: string };
storage: { kind: string; name: string; mountPath: string; size: string; create: boolean };
image: { repository: string; tag: string; pullPolicy: string; context: string; dockerfile: string; wcferryVersion: string };
image: {
repository: string;
tag: string;
pullPolicy: string;
context: string;
dockerfile: string;
wcferryVersion: string;
pip: { indexUrl: string; trustedHost: string; timeoutSeconds: number; retries: number };
};
wcfHost: string;
commandPort: number;
messagePort: number;
@@ -819,11 +827,17 @@ function windowsScriptSyncAndStartPrepareScript(_archive: WechatArchiveConfig):
$StateRoot = ${psSingleQuote(stateRoot)}
New-Item -ItemType Directory -Force $StateRoot | Out-Null
if (Test-Path ${psSingleQuote(resultFile)}) { Remove-Item -Force ${psSingleQuote(resultFile)} }
$proc = Start-Process -FilePath "powershell.exe" -ArgumentList @("-NoProfile","-ExecutionPolicy","Bypass","-File",${psSingleQuote(prepare)}) -WindowStyle Hidden -PassThru -RedirectStandardOutput ${psSingleQuote(stdout)} -RedirectStandardError ${psSingleQuote(stderr)}
$Wrapper = Join-Path $StateRoot "prepare-runner.cmd"
@"
@echo off
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "${prepare}" > "${stdout}" 2> "${stderr}"
"@ | Set-Content -Encoding ASCII $Wrapper
$cmd = '/c start "" /min "' + $Wrapper + '"'
$proc = Start-Process -FilePath "cmd.exe" -ArgumentList $cmd -WindowStyle Hidden -PassThru
[pscustomobject]@{
ok = $true
started = $true
pid = $proc.Id
launcherPid = $proc.Id
opsRoot = $OpsRoot
stdout = ${psSingleQuote(stdout)}
stderr = ${psSingleQuote(stderr)}
@@ -1027,7 +1041,13 @@ import json, sys, time
payload = {"ok": False, "status": "running", "startedAt": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()), "image": "${image}", "logs": {"build": sys.argv[2], "push": sys.argv[3]}}
open(sys.argv[1], "w", encoding="utf-8").write(json.dumps(payload, ensure_ascii=False, indent=2))
PY
docker build --build-arg WCFERRY_VERSION=${shQuote(ingress.collector.image.wcferryVersion)} -t ${shQuote(image)} "$job_dir" >"$build_log" 2>&1
docker build \\
--build-arg WCFERRY_VERSION=${shQuote(ingress.collector.image.wcferryVersion)} \\
--build-arg PIP_INDEX_URL=${shQuote(ingress.collector.image.pip.indexUrl)} \\
--build-arg PIP_TRUSTED_HOST=${shQuote(ingress.collector.image.pip.trustedHost)} \\
--build-arg PIP_TIMEOUT_SECONDS=${shQuote(String(ingress.collector.image.pip.timeoutSeconds))} \\
--build-arg PIP_RETRIES=${shQuote(String(ingress.collector.image.pip.retries))} \\
-t ${shQuote(image)} "$job_dir" >"$build_log" 2>&1
build_rc=$?
if [ "$build_rc" -eq 0 ]; then
docker push ${shQuote(image)} >"$push_log" 2>&1
@@ -1399,6 +1419,7 @@ function parsePersonalWechatIngress(raw: Record<string, unknown>): WechatArchive
const workload = recordField(collector, "workload", `${configLabel}.personalWechatIngress.collector`);
const storage = recordField(collector, "storage", `${configLabel}.personalWechatIngress.collector`);
const image = recordField(collector, "image", `${configLabel}.personalWechatIngress.collector`);
const pip = recordField(image, "pip", `${configLabel}.personalWechatIngress.collector.image`);
const readOnly = recordField(collector, "readOnly", `${configLabel}.personalWechatIngress.collector`);
const poc = recordField(raw, "poc", `${configLabel}.personalWechatIngress`);
return {
@@ -1460,6 +1481,12 @@ function parsePersonalWechatIngress(raw: Record<string, unknown>): WechatArchive
context: stringField(image, "context", `${configLabel}.personalWechatIngress.collector.image`),
dockerfile: stringField(image, "dockerfile", `${configLabel}.personalWechatIngress.collector.image`),
wcferryVersion: stringField(image, "wcferryVersion", `${configLabel}.personalWechatIngress.collector.image`),
pip: {
indexUrl: stringField(pip, "indexUrl", `${configLabel}.personalWechatIngress.collector.image.pip`),
trustedHost: stringField(pip, "trustedHost", `${configLabel}.personalWechatIngress.collector.image.pip`),
timeoutSeconds: numberField(pip, "timeoutSeconds", `${configLabel}.personalWechatIngress.collector.image.pip`),
retries: numberField(pip, "retries", `${configLabel}.personalWechatIngress.collector.image.pip`),
},
},
wcfHost: stringField(collector, "wcfHost", `${configLabel}.personalWechatIngress.collector`),
commandPort: numberField(collector, "commandPort", `${configLabel}.personalWechatIngress.collector`),
@@ -1574,6 +1601,12 @@ function personalWechatIngressSummary(config: WechatArchiveConfig["personalWecha
context: config.collector.image.context,
dockerfile: config.collector.image.dockerfile,
wcferryVersion: config.collector.image.wcferryVersion,
pip: {
indexUrl: config.collector.image.pip.indexUrl,
trustedHost: config.collector.image.pip.trustedHost,
timeoutSeconds: config.collector.image.pip.timeoutSeconds,
retries: config.collector.image.pip.retries,
},
},
wcfHost: config.collector.wcfHost,
commandPort: config.collector.commandPort,