Files
kevinveenbirkenbachandClaude Opus 5 a6471b6df4 refactor(openclaw): read the container paths from the volume declarations
env.j2 hardcoded four container paths that meta/volumes.yml already declares.
Read the volume targets instead, so a changed mount cannot leave the
environment pointing at a path that no longer exists.

Value-identical, checked against the declaration rather than assumed:
openclaw_data.target is /home/node/.openclaw and openclaw_config.target is
/home/node/.openclaw/openclaw.json, and path_join reproduces the workspace
path exactly.

Same pattern as a772115b8 for litellm, but verified by value here rather
than by the service having worked.

openclaw was not deployed this session, so this is a static check.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-28 13:15:37 +02:00

10 lines
579 B
Django/Jinja

{% include 'roles/sys-svc-container/templates/env.j2' %}
HOME=/home/node
OPENCLAW_CONFIG_DIR={{ lookup('volume', application_id, 'openclaw_data').target }}
OPENCLAW_CONFIG_PATH={{ lookup('volume', application_id, 'openclaw_config').target }}
OPENCLAW_GATEWAY_TOKEN={{ lookup('config', application_id, 'secrets.credentials.gateway_token') | dotenv_quote }}
OPENCLAW_HOME=/home/node
OPENCLAW_STATE_DIR={{ lookup('volume', application_id, 'openclaw_data').target }}
OPENCLAW_WORKSPACE_DIR={{ [ lookup('volume', application_id, 'openclaw_data').target, 'workspace' ] | path_join }}