feat: render agentrun otel env
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 [];
|
||||
|
||||
@@ -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 }]),
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user