Summary
In-cluster Job on OpenShift (OCP) fails because uv rewrites /app/.venv/ at startup (removes .gitignore, rebuilds venv). Under the restricted-v2 SCC, the random UID assigned by OCP cannot write there.
Setting HOME=/tmp UV_CACHE_DIR=/tmp/uv-cache gets past the cache-miss error but not the .venv mutation, so the Job still fails.
Workarounds / fix options
- Standard OCP Dockerfile hardening:
RUN chown -R 0:0 /app && chmod -R g+rwX /app
- Invoke
exgentic-a2a-runner via uv run from /app/.venv/bin/uv run so uv manages the venv path.
Note: on kind the Job works perfectly — this is OCP-specific.
Found in
PR #33 review by @kellyaa.
Summary
In-cluster Job on OpenShift (OCP) fails because
uvrewrites/app/.venv/at startup (removes.gitignore, rebuilds venv). Under therestricted-v2SCC, the random UID assigned by OCP cannot write there.Setting
HOME=/tmp UV_CACHE_DIR=/tmp/uv-cachegets past the cache-miss error but not the.venvmutation, so the Job still fails.Workarounds / fix options
RUN chown -R 0:0 /app && chmod -R g+rwX /appexgentic-a2a-runnerviauv runfrom/app/.venv/bin/uv runsouvmanages the venv path.Note: on kind the Job works perfectly — this is OCP-specific.
Found in
PR #33 review by @kellyaa.