68 lines
2.0 KiB
JavaScript
Executable File
68 lines
2.0 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
import { readFileSync } from "node:fs";
|
|
|
|
const fixturePath = process.env.AGENTRUN_SELFTEST_STARTUP_FIXTURE_PATH;
|
|
if (!fixturePath) {
|
|
process.stderr.write("AGENTRUN_SELFTEST_STARTUP_FIXTURE_PATH is required\n");
|
|
process.exit(2);
|
|
}
|
|
|
|
const fixture = JSON.parse(readFileSync(fixturePath, "utf8"));
|
|
const args = process.argv.slice(2);
|
|
const resource = args[1];
|
|
if (args[0] !== "get") {
|
|
process.stderr.write(`unsupported command: ${args.join(" ")}\n`);
|
|
process.exit(2);
|
|
}
|
|
|
|
if (resource === "job") {
|
|
const failed = fixture.mode === "failed";
|
|
const succeeded = fixture.mode === "succeeded";
|
|
process.stdout.write(JSON.stringify({
|
|
kind: "Job",
|
|
metadata: {
|
|
name: args[2],
|
|
namespace: fixture.namespace,
|
|
uid: "job-startup-selftest",
|
|
creationTimestamp: fixture.createdAt,
|
|
},
|
|
status: failed
|
|
? { failed: 1, startTime: fixture.createdAt, conditions: [{ type: "Failed", status: "True", reason: "BackoffLimitExceeded" }] }
|
|
: succeeded
|
|
? { succeeded: 1, startTime: fixture.createdAt, conditions: [{ type: "Complete", status: "True" }] }
|
|
: { active: 1, startTime: fixture.createdAt },
|
|
}));
|
|
process.exit(0);
|
|
}
|
|
|
|
if (resource === "pods") {
|
|
const running = fixture.mode === "running";
|
|
const failed = fixture.mode === "failed";
|
|
const succeeded = fixture.mode === "succeeded";
|
|
const waiting = running ? undefined : {
|
|
reason: fixture.reason,
|
|
message: fixture.message,
|
|
};
|
|
process.stdout.write(JSON.stringify({
|
|
items: [{
|
|
kind: "Pod",
|
|
metadata: {
|
|
name: "runner-startup-selftest-pod",
|
|
namespace: fixture.namespace,
|
|
creationTimestamp: fixture.createdAt,
|
|
},
|
|
status: {
|
|
phase: running ? "Running" : failed ? "Failed" : succeeded ? "Succeeded" : "Pending",
|
|
containerStatuses: [{
|
|
name: "runner",
|
|
state: running ? { running: { startedAt: fixture.createdAt } } : { waiting },
|
|
}],
|
|
},
|
|
}],
|
|
}));
|
|
process.exit(0);
|
|
}
|
|
|
|
process.stderr.write(`unsupported resource: ${resource}\n`);
|
|
process.exit(2);
|