Skip to content

Commit 0725566

Browse files
committed
Add node and pod ip env vars automatically
1 parent 70d47d8 commit 0725566

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

pkg/constants/env.go

+2
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ const (
3333

3434
EnvPodName = "OTEL_RESOURCE_ATTRIBUTES_POD_NAME"
3535
EnvPodUID = "OTEL_RESOURCE_ATTRIBUTES_POD_UID"
36+
EnvPodIP = "OTEL_POD_IP"
3637
EnvNodeName = "OTEL_RESOURCE_ATTRIBUTES_NODE_NAME"
38+
EnvNodeIP = "OTEL_NODE_IP"
3739

3840
FlagApacheHttpd = "enable-apache-httpd-instrumentation"
3941
FlagDotNet = "enable-dotnet-instrumentation"

pkg/instrumentation/sdk.go

+26
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,32 @@ func getContainerIndex(containerName string, pod corev1.Pod) int {
235235

236236
func (i *sdkInjector) injectCommonEnvVar(otelinst v1alpha1.Instrumentation, pod corev1.Pod, index int) corev1.Pod {
237237
container := &pod.Spec.Containers[index]
238+
239+
idx := getIndexOfEnv(container.Env, constants.EnvNodeIP)
240+
if idx == -1 {
241+
container.Env = append(container.Env, corev1.EnvVar{
242+
Name: constants.EnvNodeIP,
243+
ValueFrom: &corev1.EnvVarSource{
244+
FieldRef: &corev1.ObjectFieldSelector{
245+
FieldPath: "status.hostIP",
246+
},
247+
},
248+
})
249+
}
250+
251+
idx = getIndexOfEnv(container.Env, constants.EnvPodIP)
252+
if idx == -1 {
253+
container.Env = append(container.Env, corev1.EnvVar{
254+
Name: constants.EnvPodIP,
255+
ValueFrom: &corev1.EnvVarSource{
256+
FieldRef: &corev1.ObjectFieldSelector{
257+
APIVersion: "v1",
258+
FieldPath: "status.podIP",
259+
},
260+
},
261+
})
262+
}
263+
238264
for _, env := range otelinst.Spec.Env {
239265
idx := getIndexOfEnv(container.Env, env.Name)
240266
if idx == -1 {

0 commit comments

Comments
 (0)