Skip to content

odiglet creates /var/odigos/java/ with incorrect permissions (missing execute bit), causing non-root Java pods to crash #4769

Description

@algoritmsystems

Version: Odigos v1.24.0, v1.24.2
Mount method: k8s-host-path (default) and k8s-virtual-device

Description:
The odiglet DaemonSet extracts instrumentation files to the host node under /var/odigos/java/, but creates the directory with mode 644 (drw-r--r--) instead of 755 (drwxr-xr-x).

Because the execute bit (x) is missing, any container running as a non-root user is blocked from traversing the directory. This causes the JVM to fail at startup with the following error:
Error opening zip file or JAR manifest missing : /var/odigos/java/javaagent.jar

Steps to Reproduce:

  1. Install Odigos v1.24.2.
  2. Instrument a Java workload that runs as a non-root user (e.g., USER 1000 in Dockerfile).
  3. The Pod enters CrashLoopBackOff.

Verification:
Running a debug pod on the node confirms the missing execute bit:

kubectl debug node/<worker> -it --image=busybox -- sh -c "ls -la /host/var/odigos/java/"
# Output: drw-r--r--  2 root  root  4096 Apr 24 16:02 .

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions