Skip to content

Commit 38a0b2c

Browse files
committed
Add support for JAVA_TOOL_OPTIONS in environment variable handling
1 parent 0bd1786 commit 38a0b2c

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

pkg/mutation/mutation_pod.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,10 @@ func addPodInitContainer(targetPod *corev1.Pod, _ []corev1.EnvVar, deploymentNam
255255
Env: func(envMap map[string]string) []corev1.EnvVar {
256256
envVars := make([]corev1.EnvVar, 0, len(envMap))
257257
for key, value := range envMap {
258+
if key == "JAVA_TOOL_OPTIONS" {
259+
v := getEnv(targetPod.Spec.Containers, key)
260+
value = value + " " + v
261+
}
258262
envVars = append(envVars, corev1.EnvVar{Name: key, Value: value})
259263
}
260264
return envVars
@@ -289,6 +293,19 @@ func addPodInitContainer(targetPod *corev1.Pod, _ []corev1.EnvVar, deploymentNam
289293
return initContainers
290294
}
291295

296+
func getEnv(containers []corev1.Container, key string) string {
297+
for _, container := range containers {
298+
if container.Env != nil && len(container.Env) > 0 {
299+
for _, envVar := range container.Env {
300+
if envVar.Name == key {
301+
return envVar.Value
302+
}
303+
}
304+
}
305+
}
306+
return ""
307+
}
308+
292309
func modifyPodContainer(targetPod *corev1.Pod, envs []corev1.EnvVar, deploymentName string) []corev1.Container {
293310
log.Debugf("[mutation] /injection-pod: the envs is %v\n size is %d\n", envs, len(envs))
294311
containers := make([]corev1.Container, 0)

0 commit comments

Comments
 (0)