refactor: simplify Docker entrypoints — agent bundles log appender
All checks were successful
All checks were successful
The agent shaded JAR now includes the log appender classes. Remove PropertiesLauncher, -Dloader.path, and separate appender JAR references. All JVM types now use: java -javaagent:/app/agent.jar -jar app.jar Plain Java uses -cp with explicit main class. Native runs binary directly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -117,16 +117,11 @@ public class DockerRuntimeOrchestrator implements RuntimeOrchestrator {
|
||||
String customArgs = request.customArgs() != null && !request.customArgs().isBlank()
|
||||
? " " + request.customArgs() : "";
|
||||
String entrypoint = switch (request.runtimeType()) {
|
||||
case "quarkus" -> "exec java -javaagent:/app/agent.jar" + customArgs + " -jar " + appJarPath;
|
||||
case "plain-java" -> "exec java -javaagent:/app/agent.jar -cp " + appJarPath +
|
||||
":/app/cameleer-log-appender.jar" + customArgs + " " + request.mainClass();
|
||||
case "plain-java" -> "exec java -javaagent:/app/agent.jar" + customArgs +
|
||||
" -cp " + appJarPath + " " + request.mainClass();
|
||||
case "native" -> "exec " + appJarPath + customArgs;
|
||||
default -> { // spring-boot (default)
|
||||
String launcher = request.mainClass() != null ? request.mainClass()
|
||||
: "org.springframework.boot.loader.launch.PropertiesLauncher";
|
||||
yield "exec java -javaagent:/app/agent.jar -Dloader.path=/app/cameleer-log-appender.jar" +
|
||||
customArgs + " -cp " + appJarPath + " " + launcher;
|
||||
}
|
||||
default -> // spring-boot, quarkus, and others all use -jar
|
||||
"exec java -javaagent:/app/agent.jar" + customArgs + " -jar " + appJarPath;
|
||||
};
|
||||
createCmd.withEntrypoint("sh", "-c", entrypoint);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user