@@ -30,6 +30,8 @@ var _ = Describe("LightrunJavaAgent controller", func() {
3030 agentPlatform = "linux"
3131 initVolumeName = "lightrun-agent-init"
3232 javaEnv = "JAVA_TOOL_OPTIONS"
33+ defaultAgentPath = "-agentpath:/lightrun/agent/lightrun_agent.so"
34+ agentCliFlags = "--lightrun_extra_class_path=<PATH_TO_JAR>"
3335 )
3436 var containerSelector = []string {"app" , "app2" }
3537 var agentConfig map [string ]string = map [string ]string {"max_log_cpu_cost" : "2" }
@@ -91,6 +93,7 @@ var _ = Describe("LightrunJavaAgent controller", func() {
9193 AgentName : agentName ,
9294 AgentTags : agentTags ,
9395 AgentConfig : agentConfig ,
96+ AgentCliFlags : agentCliFlags ,
9497 AgentEnvVarName : javaEnv ,
9598 ContainerSelector : containerSelector ,
9699 InitContainer : agentsv1beta.InitContainer {
@@ -198,7 +201,7 @@ var _ = Describe("LightrunJavaAgent controller", func() {
198201 }).Should (BeTrue ())
199202 })
200203
201- It ("Should patch Env Vars of containers" , func () {
204+ It ("Should patch Env Vars of containers with agentCliFlags value " , func () {
202205 Eventually (func () bool {
203206 if err := k8sClient .Get (ctx , deplRequest , & patchedDepl ); err != nil {
204207 return false
@@ -207,13 +210,11 @@ var _ = Describe("LightrunJavaAgent controller", func() {
207210 for _ , envVar := range container .Env {
208211 if envVar .Name == javaEnv {
209212 if container .Name == "app" {
210- if envVar .Value != "-agentpath:/lightrun/agent/lightrun_agent.so" {
211- //logger.Info("first container", envVar.Name, envVar.Value)
213+ if envVar .Value != defaultAgentPath + "=" + agentCliFlags {
212214 return false
213215 }
214216 } else if container .Name == "app2" {
215- if envVar .Value != "-Djava.net.preferIPv4Stack=true -agentpath:/lightrun/agent/lightrun_agent.so" {
216- //logger.Info("second container", envVar.Name, envVar.Value)
217+ if envVar .Value != "-Djava.net.preferIPv4Stack=true " + defaultAgentPath + "=" + agentCliFlags {
217218 return false
218219 }
219220 }
@@ -481,6 +482,30 @@ var _ = Describe("LightrunJavaAgent controller", func() {
481482 }).Should (BeTrue ())
482483 })
483484
485+ It ("Should patch Env Vars of containers with default agent path" , func () {
486+ Eventually (func () bool {
487+ if err := k8sClient .Get (ctx , deplRequest2 , & patchedDepl2 ); err != nil {
488+ return false
489+ }
490+ for _ , container := range patchedDepl2 .Spec .Template .Spec .Containers {
491+ for _ , envVar := range container .Env {
492+ if envVar .Name == javaEnv {
493+ if container .Name == "app" {
494+ if envVar .Value != defaultAgentPath {
495+ return false
496+ }
497+ } else if container .Name == "app2" {
498+ if envVar .Value != "-Djava.net.preferIPv4Stack=true " + defaultAgentPath {
499+ return false
500+ }
501+ }
502+ }
503+ }
504+ }
505+ return true
506+ }).Should (BeTrue ())
507+ })
508+
484509 It ("Should delete deployment" , func () {
485510 depl := appsv1.Deployment {
486511 ObjectMeta : metav1.ObjectMeta {
0 commit comments