From df9a0adfa06c52583532ffa83677818e52419d66 Mon Sep 17 00:00:00 2001
From: "p.zindyaev"
Date: Wed, 14 Jan 2026 10:00:03 +0300
Subject: [PATCH] feature(ADS-3007): add JAVA_HOME/bin to PATH env variable
---
cmd/ad-runtime-utils/app.go | 1 +
examples/config/kafka.yaml | 41 ++++++++++++++++++++++---------------
internal/exec/exec.go | 3 +++
3 files changed, 28 insertions(+), 17 deletions(-)
diff --git a/cmd/ad-runtime-utils/app.go b/cmd/ad-runtime-utils/app.go
index a512ef3..f3dbae6 100644
--- a/cmd/ad-runtime-utils/app.go
+++ b/cmd/ad-runtime-utils/app.go
@@ -149,6 +149,7 @@ func startService(service string, envName string, envPath string, cfg config.Con
srvConfig.EnvVars = make(map[string]string)
}
srvConfig.EnvVars[envName] = envPath
+ srvConfig.EnvVars["PATH"] = fmt.Sprintf("%s/bin:%s", envPath, os.Getenv("PATH"))
if !supervise {
return exec.RunExecutable(srvConfig.Executable, srvConfig.ExecutableArgs, srvConfig.EnvVars)
}
diff --git a/examples/config/kafka.yaml b/examples/config/kafka.yaml
index 65cb6d5..e1fa5b8 100644
--- a/examples/config/kafka.yaml
+++ b/examples/config/kafka.yaml
@@ -1,17 +1,24 @@
-executable: bin/kafka-server-start.sh
-executable_args:
- - config/server.properties
-runtimes:
- java:
- version: "21"
-health_checks:
- - type: port
- params:
- port: 9092
- timeout: 20
- protocol: tcp
- - type: port
- params:
- port: 9093
- timeout: 20
- protocol: tcp
+services:
+ KAFKA:
+ executable: /usr/lib/kafka/bin/kafka-server-start.sh
+ executable_args:
+ - /usr/lib/kafka/config/server.properties
+ runtimes:
+ java:
+ version: "21"
+ env_vars:
+ KAFKA_OPTS: "-DZstdTempFolder=/usr/lib/kafka/tmp -Dorg.xerial.snappy.tempdir=/usr/lib/kafka/tmp -Djava.io.tmpdir=/var/tmp"
+ LOG_DIR: "/var/log/kafka"
+ PID_DIR: "/var/run/kafka"
+ JMX_PORT: "9999"
+ health_checks:
+ - type: port
+ params:
+ port: 9092
+ timeout: 20
+ protocol: tcp
+ - type: port
+ params:
+ port: 9093
+ timeout: 20
+ protocol: tcp
diff --git a/internal/exec/exec.go b/internal/exec/exec.go
index ed5e740..a75f013 100644
--- a/internal/exec/exec.go
+++ b/internal/exec/exec.go
@@ -3,6 +3,7 @@ package exec
import (
"context"
"fmt"
+ "os"
"os/exec"
)
@@ -10,6 +11,8 @@ import (
func RunExecutableAsync(executablePath string, args []string, envVars map[string]string) (*exec.Cmd, error) {
ctx := context.TODO()
cmd := exec.CommandContext(ctx, executablePath, args...)
+ cmd.Stdout = os.Stdout
+ cmd.Stderr = os.Stderr
// Add environment variables to the command.
for k, v := range envVars {