fix: require explicit trans shell operations

This commit is contained in:
Codex
2026-06-15 04:01:04 +00:00
parent b2c2819fe2
commit b8fb3c41a8
18 changed files with 241 additions and 273 deletions
+5 -5
View File
@@ -289,7 +289,7 @@ async function apply(config: UniDeskConfig, options: ApplyOptions): Promise<Reco
};
}
if (options.dryRun) {
const result = await capture(config, target.route, ["script"], dryRunManifestScript({ yaml, target, fieldManager, manifestName: serviceName }));
const result = await capture(config, target.route, ["sh"], dryRunManifestScript({ yaml, target, fieldManager, manifestName: serviceName }));
const parsed = parseJsonOutput(result.stdout);
return {
ok: result.exitCode === 0 && boolField(parsed, "ok", false),
@@ -311,7 +311,7 @@ async function apply(config: UniDeskConfig, options: ApplyOptions): Promise<Reco
readTextFile,
});
const confirmedYaml = renderManifest(n8n, target, secretMaterial.fingerprint);
const result = await capture(config, target.route, ["script"], applyScript(confirmedYaml, n8n, target, secretMaterial, frpcSecret));
const result = await capture(config, target.route, ["sh"], applyScript(confirmedYaml, n8n, target, secretMaterial, frpcSecret));
const parsed = parseJsonOutput(result.stdout);
const caddy = await applyPk01CaddyBlock(config, serviceName, target.publicExposure);
return {
@@ -335,7 +335,7 @@ async function apply(config: UniDeskConfig, options: ApplyOptions): Promise<Reco
async function status(config: UniDeskConfig, options: CommonOptions): Promise<Record<string, unknown>> {
const n8n = readN8nConfig();
const target = resolveTarget(n8n, options.targetId);
const result = await capture(config, target.route, ["script"], statusScript(n8n, target));
const result = await capture(config, target.route, ["sh"], statusScript(n8n, target));
const parsed = parseJsonOutput(result.stdout);
return {
ok: result.exitCode === 0 && boolField(parsed, "ok", false),
@@ -350,7 +350,7 @@ async function status(config: UniDeskConfig, options: CommonOptions): Promise<Re
async function logs(config: UniDeskConfig, options: LogsOptions): Promise<Record<string, unknown>> {
const n8n = readN8nConfig();
const target = resolveTarget(n8n, options.targetId);
const result = await capture(config, target.route, ["script"], logsScript(target, options));
const result = await capture(config, target.route, ["sh"], logsScript(target, options));
const parsed = parseJsonOutput(result.stdout);
return {
ok: result.exitCode === 0 && boolField(parsed, "ok", false),
@@ -367,7 +367,7 @@ async function logs(config: UniDeskConfig, options: LogsOptions): Promise<Record
async function validate(config: UniDeskConfig, options: CommonOptions): Promise<Record<string, unknown>> {
const n8n = readN8nConfig();
const target = resolveTarget(n8n, options.targetId);
const k8s = await capture(config, target.route, ["script"], validateScript(target));
const k8s = await capture(config, target.route, ["sh"], validateScript(target));
const k8sParsed = parseJsonOutput(k8s.stdout);
const publicProbe = publicHttpProbe(target.publicExposure.publicBaseUrl, "/");
return {