Merge pull request #647 from pikasTech/fix/v02-agentrun-transient-env
fix: 透传 AgentRun transient env
This commit is contained in:
@@ -374,6 +374,7 @@ function buildAgentRunCommandInput({ params, traceId, backendProfile }) {
|
||||
}
|
||||
|
||||
function buildAgentRunRunnerJobInput({ env, traceId, commandId }) {
|
||||
const transientEnv = buildAgentRunTransientEnv(env);
|
||||
return {
|
||||
commandId,
|
||||
idempotencyKey: traceId,
|
||||
@@ -383,10 +384,20 @@ function buildAgentRunRunnerJobInput({ env, traceId, commandId }) {
|
||||
: {}),
|
||||
...(firstNonEmpty(env.HWLAB_CODE_AGENT_AGENTRUN_RUNNER_SERVICE_ACCOUNT, env.AGENTRUN_RUNNER_SERVICE_ACCOUNT)
|
||||
? { serviceAccountName: firstNonEmpty(env.HWLAB_CODE_AGENT_AGENTRUN_RUNNER_SERVICE_ACCOUNT, env.AGENTRUN_RUNNER_SERVICE_ACCOUNT) }
|
||||
: {})
|
||||
: {}),
|
||||
...(transientEnv.length > 0 ? { transientEnv } : {})
|
||||
};
|
||||
}
|
||||
|
||||
function buildAgentRunTransientEnv(env = process.env) {
|
||||
const entries = [];
|
||||
for (const name of ["HWLAB_DEVICE_POD_API_URL", "HWLAB_CLOUD_API_URL", "HWLAB_DEVICE_POD_SESSION_TOKEN"]) {
|
||||
const value = firstNonEmpty(env[name]);
|
||||
if (value) entries.push({ name, value, sensitive: true });
|
||||
}
|
||||
return entries;
|
||||
}
|
||||
|
||||
function providerCredentialSecretRef(profile, env) {
|
||||
return {
|
||||
profile,
|
||||
|
||||
@@ -163,6 +163,8 @@ test("cloud api /v1/agent/chat delegates v0.2 turns to AgentRun v0.1 over adapte
|
||||
}
|
||||
if (request.method === "POST" && url.pathname === "/api/v1/runs/run_hwlab_adapter/runner-jobs") {
|
||||
assert.equal(body.commandId, "cmd_hwlab_adapter");
|
||||
assert.deepEqual(body.transientEnv.map((entry) => entry.name), ["HWLAB_DEVICE_POD_API_URL", "HWLAB_CLOUD_API_URL", "HWLAB_DEVICE_POD_SESSION_TOKEN"]);
|
||||
assert.equal(body.transientEnv.find((entry) => entry.name === "HWLAB_DEVICE_POD_SESSION_TOKEN").value, "test-device-pod-session-token");
|
||||
return send({
|
||||
action: "create-kubernetes-job",
|
||||
runId: "run_hwlab_adapter",
|
||||
@@ -215,7 +217,10 @@ test("cloud api /v1/agent/chat delegates v0.2 turns to AgentRun v0.1 over adapte
|
||||
HWLAB_CODE_AGENT_AGENTRUN_ALLOW_NON_K3S_URL: "1",
|
||||
HWLAB_CODE_AGENT_AGENTRUN_SOURCE_COMMIT: "0123456789abcdef0123456789abcdef01234567",
|
||||
HWLAB_CODE_AGENT_DEFAULT_PROVIDER_PROFILE: "deepseek",
|
||||
HWLAB_CODE_AGENT_DEEPSEEK_MODEL: "deepseek-chat"
|
||||
HWLAB_CODE_AGENT_DEEPSEEK_MODEL: "deepseek-chat",
|
||||
HWLAB_DEVICE_POD_API_URL: "http://hwlab-cloud-web.test",
|
||||
HWLAB_CLOUD_API_URL: "http://hwlab-cloud-web.test",
|
||||
HWLAB_DEVICE_POD_SESSION_TOKEN: "test-device-pod-session-token"
|
||||
}
|
||||
});
|
||||
await new Promise((resolve) => server.listen(0, "127.0.0.1", resolve));
|
||||
|
||||
Reference in New Issue
Block a user