feat: render agentrun otel env

This commit is contained in:
Codex
2026-06-19 15:05:48 +00:00
parent f4f61fcc84
commit 805bb320e3
3 changed files with 15 additions and 0 deletions
+5
View File
@@ -271,6 +271,11 @@ controlPlane:
apiKeySecretRef:
name: agentrun-v02-api-key
key: HWLAB_API_KEY
env:
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: http://otel-collector.platform-infra.svc.cluster.local:4318/v1/traces
OTEL_SERVICE_NAME: agentrun-manager
UNIDESK_NODE_ID: D601
HWLAB_RUNTIME_LANE: v0.3
unideskSshEndpointEnv:
name: UNIDESK_MAIN_SERVER_IP
value: 74.48.78.17
+9
View File
@@ -94,6 +94,7 @@ export interface AgentRunLaneSpec {
readonly manager: {
readonly serviceAccount: string;
readonly apiKeySecretRef: { readonly name: string; readonly key: string };
readonly env: Readonly<Record<string, string>>;
readonly unideskSshEndpointEnv: { readonly name: string; readonly value: string } | null;
readonly bootRepoUrl: string;
readonly imageBuild: AgentRunImageBuildSpec;
@@ -279,6 +280,7 @@ export function agentRunLaneSummary(spec: AgentRunLaneSpec): Record<string, unkn
manager: {
serviceAccount: spec.deployment.manager.serviceAccount,
apiKeySecretRef: spec.deployment.manager.apiKeySecretRef,
envNames: Object.keys(spec.deployment.manager.env).sort(),
unideskSshEndpointEnv: spec.deployment.manager.unideskSshEndpointEnv === null
? null
: { name: spec.deployment.manager.unideskSshEndpointEnv.name, valuesPrinted: false },
@@ -529,6 +531,7 @@ function parseDeployment(input: Record<string, unknown>, path: string): AgentRun
manager: {
serviceAccount: stringField(manager, "serviceAccount", `${path}.manager`),
apiKeySecretRef: parseSecretRef(recordField(manager, "apiKeySecretRef", `${path}.manager`), `${path}.manager.apiKeySecretRef`),
env: optionalEnvRecord(manager, "env", `${path}.manager`),
unideskSshEndpointEnv: optionalEnvPair(manager, "unideskSshEndpointEnv", `${path}.manager`),
bootRepoUrl: urlField(manager, "bootRepoUrl", `${path}.manager`),
imageBuild: parseImageBuild(recordField(manager, "imageBuild", `${path}.manager`), `${path}.manager.imageBuild`),
@@ -719,6 +722,12 @@ function optionalEnvPair(obj: Record<string, unknown>, key: string, path: string
};
}
function optionalEnvRecord(obj: Record<string, unknown>, key: string, path: string): Readonly<Record<string, string>> {
const value = obj[key];
if (value === undefined || value === null) return {};
return stringRecordField(asRecord(value, `${path}.${key}`), `${path}.${key}`);
}
function optionalStringArrayField(obj: Record<string, unknown>, key: string, path: string): readonly string[] {
const value = obj[key];
if (value === undefined || value === null) return [];
+1
View File
@@ -449,6 +449,7 @@ function managerEnv(spec: AgentRunLaneSpec, sourceCommit: string, imageRef: stri
...(spec.deployment.runner.egressProxyUrl === null ? [] : [{ name: "AGENTRUN_RUNNER_EGRESS_PROXY_URL", value: spec.deployment.runner.egressProxyUrl }]),
...(spec.deployment.runner.noProxyExtra.length === 0 ? [] : [{ name: "AGENTRUN_RUNNER_NO_PROXY_EXTRA", value: spec.deployment.runner.noProxyExtra.join(",") }]),
{ name: "AGENTRUN_API_KEY", valueFrom: { secretKeyRef: spec.deployment.manager.apiKeySecretRef } },
...Object.entries(spec.deployment.manager.env).sort(([left], [right]) => left.localeCompare(right)).map(([name, value]) => ({ name, value })),
...(spec.deployment.manager.unideskSshEndpointEnv === null ? [] : [{ name: spec.deployment.manager.unideskSshEndpointEnv.name, value: spec.deployment.manager.unideskSshEndpointEnv.value }]),
];
}