Skip to content

Commit eb472ff

Browse files
authored
chore: Inject k8s pod name and uid (#10633)
Injected as env vars and picked up as part of the otel resource for resource association.
1 parent 043e2c2 commit eb472ff

14 files changed

+98
-12
lines changed

spartan/aztec-network/templates/boot-node.yaml

+16
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,14 @@ spec:
9494
value: "{{ .Values.aztec.epochDuration }}"
9595
- name: AZTEC_EPOCH_PROOF_CLAIM_WINDOW_IN_L2_SLOTS
9696
value: "{{ .Values.aztec.epochProofClaimWindow }}"
97+
- name: K8S_POD_UID
98+
valueFrom:
99+
fieldRef:
100+
fieldPath: metadata.uid
101+
- name: K8S_POD_NAME
102+
valueFrom:
103+
fieldRef:
104+
fieldPath: metadata.name
97105
{{- end }}
98106
containers:
99107
- name: boot-node
@@ -142,6 +150,14 @@ spec:
142150
valueFrom:
143151
fieldRef:
144152
fieldPath: status.podIP
153+
- name: K8S_POD_UID
154+
valueFrom:
155+
fieldRef:
156+
fieldPath: metadata.uid
157+
- name: K8S_POD_NAME
158+
valueFrom:
159+
fieldRef:
160+
fieldPath: metadata.name
145161
- name: AZTEC_PORT
146162
value: "{{ .Values.bootNode.service.nodePort }}"
147163
- name: LOG_LEVEL

spartan/aztec-network/templates/deploy-l1-verifier.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,14 @@ spec:
7474
done || { echo "All L1 verifier deploy attempts failed." >&2; exit 1; }
7575
echo "L1 verifier deployed"
7676
env:
77+
- name: K8S_POD_UID
78+
valueFrom:
79+
fieldRef:
80+
fieldPath: metadata.uid
81+
- name: K8S_POD_NAME
82+
valueFrom:
83+
fieldRef:
84+
fieldPath: metadata.name
7785
- name: NODE_NO_WARNINGS
7886
value: "1"
7987
- name: LOG_LEVEL

spartan/aztec-network/templates/prover-agent.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,14 @@ spec:
8080
source /shared/config/service-addresses && \
8181
node --no-warnings /usr/src/yarn-project/aztec/dest/bin/index.js start --prover-agent
8282
env:
83+
- name: K8S_POD_UID
84+
valueFrom:
85+
fieldRef:
86+
fieldPath: metadata.uid
87+
- name: K8S_POD_NAME
88+
valueFrom:
89+
fieldRef:
90+
fieldPath: metadata.name
8391
- name: AZTEC_PORT
8492
value: "{{ .Values.proverAgent.service.nodePort }}"
8593
- name: LOG_LEVEL

spartan/aztec-network/templates/prover-broker.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,14 @@ spec:
6262
source /shared/config/service-addresses && \
6363
node --no-warnings /usr/src/yarn-project/aztec/dest/bin/index.js start --prover-broker
6464
env:
65+
- name: K8S_POD_UID
66+
valueFrom:
67+
fieldRef:
68+
fieldPath: metadata.uid
69+
- name: K8S_POD_NAME
70+
valueFrom:
71+
fieldRef:
72+
fieldPath: metadata.name
6573
- name: AZTEC_PORT
6674
value: "{{ .Values.proverBroker.service.nodePort }}"
6775
- name: LOG_LEVEL

spartan/aztec-network/templates/prover-node.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,14 @@ spec:
107107
- name: config
108108
mountPath: /shared/config
109109
env:
110+
- name: K8S_POD_UID
111+
valueFrom:
112+
fieldRef:
113+
fieldPath: metadata.uid
114+
- name: K8S_POD_NAME
115+
valueFrom:
116+
fieldRef:
117+
fieldPath: metadata.name
110118
- name: POD_IP
111119
valueFrom:
112120
fieldRef:

spartan/aztec-network/templates/pxe.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,14 @@ spec:
8181
echo "AZTEC_NODE_URL=${AZTEC_NODE_URL}"
8282
node --no-warnings /usr/src/yarn-project/aztec/dest/bin/index.js start --pxe
8383
env:
84+
- name: K8S_POD_UID
85+
valueFrom:
86+
fieldRef:
87+
fieldPath: metadata.uid
88+
- name: K8S_POD_NAME
89+
valueFrom:
90+
fieldRef:
91+
fieldPath: metadata.name
8492
- name: AZTEC_PORT
8593
value: "{{ .Values.pxe.service.nodePort }}"
8694
- name: LOG_JSON

spartan/aztec-network/templates/setup-l2-contracts.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,14 @@ spec:
6666
node --no-warnings /usr/src/yarn-project/aztec/dest/bin/index.js setup-protocol-contracts --skipProofWait --l1-chain-id {{ .Values.ethereum.chainId }}
6767
echo "L2 contracts initialized"
6868
env:
69+
- name: K8S_POD_UID
70+
valueFrom:
71+
fieldRef:
72+
fieldPath: metadata.uid
73+
- name: K8S_POD_NAME
74+
valueFrom:
75+
fieldRef:
76+
fieldPath: metadata.name
6977
- name: TELEMETRY
7078
value: "{{ .Values.telemetry.enabled }}"
7179
- name: LOG_LEVEL

spartan/aztec-network/templates/transaction-bot.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,14 @@ spec:
7575
echo "AZTEC_NODE_URL=${AZTEC_NODE_URL}"
7676
node --no-warnings /usr/src/yarn-project/aztec/dest/bin/index.js start --pxe --bot
7777
env:
78+
- name: K8S_POD_UID
79+
valueFrom:
80+
fieldRef:
81+
fieldPath: metadata.uid
82+
- name: K8S_POD_NAME
83+
valueFrom:
84+
fieldRef:
85+
fieldPath: metadata.name
7886
- name: AZTEC_PORT
7987
value: "{{ .Values.bot.service.nodePort }}"
8088
- name: LOG_JSON

spartan/aztec-network/templates/validator.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,14 @@ spec:
144144
- name: validator-data
145145
mountPath: {{ .Values.validator.dataDir }}
146146
env:
147+
- name: K8S_POD_UID
148+
valueFrom:
149+
fieldRef:
150+
fieldPath: metadata.uid
151+
- name: K8S_POD_NAME
152+
valueFrom:
153+
fieldRef:
154+
fieldPath: metadata.name
147155
- name: POD_IP
148156
valueFrom:
149157
fieldRef:

yarn-project/foundation/src/config/env_var.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -188,4 +188,6 @@ export type EnvVar =
188188
| 'FAUCET_MNEMONIC_ACCOUNT_INDEX'
189189
| 'FAUCET_ETH_AMOUNT'
190190
| 'FAUCET_INTERVAL_MS'
191-
| 'FAUCET_L1_ASSETS';
191+
| 'FAUCET_L1_ASSETS'
192+
| 'K8S_POD_NAME'
193+
| 'K8S_POD_UID';

yarn-project/telemetry-client/src/aztec_resource_detector.ts

+3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { type DetectorSync, type IResource, Resource } from '@opentelemetry/resources';
2+
import { ATTR_K8S_POD_NAME, ATTR_K8S_POD_UID } from '@opentelemetry/semantic-conventions/incubating';
23

34
import { NETWORK_NAME } from './attributes.js';
45
import { getConfigEnvVars } from './config.js';
@@ -12,6 +13,8 @@ class AztecDetector implements DetectorSync {
1213

1314
return new Resource({
1415
[NETWORK_NAME]: config.networkName,
16+
[ATTR_K8S_POD_UID]: config.k8sPodUid,
17+
[ATTR_K8S_POD_NAME]: config.k8sPodName,
1518
});
1619
}
1720
}

yarn-project/telemetry-client/src/config.ts

+10
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ export interface TelemetryClientConfig {
88
networkName: string;
99
otelCollectIntervalMs: number;
1010
otelExportTimeoutMs: number;
11+
k8sPodUid?: string;
12+
k8sPodName?: string;
1113
}
1214

1315
export const telemetryClientConfigMappings: ConfigMappingsType<TelemetryClientConfig> = {
@@ -48,6 +50,14 @@ export const telemetryClientConfigMappings: ConfigMappingsType<TelemetryClientCo
4850
defaultValue: 30000, // Default extracted from otel client
4951
parseEnv: (val: string) => parseInt(val),
5052
},
53+
k8sPodUid: {
54+
env: 'K8S_POD_UID',
55+
description: 'The UID of the Kubernetes pod (injected automatically by k8s)',
56+
},
57+
k8sPodName: {
58+
env: 'K8S_POD_NAME',
59+
description: 'The name of the Kubernetes pod (injected automatically by k8s)',
60+
},
5161
};
5262

5363
export function getConfigEnvVars(): TelemetryClientConfig {

yarn-project/telemetry-client/src/otel_logger_provider.ts

+1
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,6 @@ export async function registerOtelLoggerProvider(resource?: IResource, otelLogsU
3030
);
3131

3232
otelLogs.setGlobalLoggerProvider(loggerProvider);
33+
3334
return loggerProvider;
3435
}

yarn-project/telemetry-client/src/otel_resource.ts

+1-11
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { awsEc2Detector, awsEcsDetector } from '@opentelemetry/resource-detector-aws';
21
import {
32
type IResource,
43
detectResourcesSync,
@@ -11,17 +10,8 @@ import {
1110
import { aztecDetector } from './aztec_resource_detector.js';
1211

1312
export async function getOtelResource(): Promise<IResource> {
14-
// TODO(palla/log): Do we really need *all* this info?
1513
const resource = detectResourcesSync({
16-
detectors: [
17-
osDetectorSync,
18-
envDetectorSync,
19-
processDetectorSync,
20-
serviceInstanceIdDetectorSync,
21-
awsEc2Detector,
22-
awsEcsDetector,
23-
aztecDetector,
24-
],
14+
detectors: [osDetectorSync, envDetectorSync, processDetectorSync, serviceInstanceIdDetectorSync, aztecDetector],
2515
});
2616

2717
if (resource.asyncAttributesPending) {

0 commit comments

Comments
 (0)