Task · CAOT-0039

Deploy on camden as a container under /opt/compose

Description

The wave-1 install is a bare binary at /usr/local/bin/codingagent2otel driven by a systemd unit. Rob’s standing rule for camden is that every app deploys as a container under /opt, following /opt/CLAUDE.md, and never as a hand-placed binary, so that install is the wrong shape regardless of it passing its own checks. camden’s layout law puts the compose project at /opt/compose//compose.yml and all application data at /opt//, referenced by absolute path.

Two things do not carry across from the systemd unit. The unit granted CAP_DAC_READ_SEARCH as an ambient capability so the unprivileged service user could read files whose synced POSIX ACL carries an effective mask of —; Docker’s cap_add places a capability in the bounding and permitted sets but not the effective set for a non-root uid, and the image hardcodes USER 65532. And the binary has no environment-variable configuration at all, so the container must be given a bind-mounted YAML file.

Acceptance Criteria

Definition of Done

References

View the source file on GitHub