Skip to content

build(kinova): add websockets + msgpack to the rollout client image deps#695

Draft
suchkristenwow wants to merge 1 commit into
mainfrom
build/kinova-rollout-client-deps
Draft

build(kinova): add websockets + msgpack to the rollout client image deps#695
suchkristenwow wants to merge 1 commit into
mainfrom
build/kinova-rollout-client-deps

Conversation

@suchkristenwow

Copy link
Copy Markdown

What

Bake websockets>=13 and msgpack>=1.0 into the MoveIt Pro user-overlay Docker image via a pip install layer in the shared base stage of the workspace Dockerfile.

Why

This is for the C0 Kinova rollout client (scripts/kinova/rollout.py) added in end-to-end PR #81 (c0-kinova-rollout). That client is a torch-free real-Kinova rollout client whose policy client uses websockets (sync) + msgpack to talk to a policy server. It runs inside the agent_bridge container, so its Python dependencies must live in the image.

This closes the open checklist item in end-to-end PR #81:

Add msgpack + websockets to the agent_bridge container image so the client runs there.

Today those deps are only pip installed ephemerally into the running container (moveit_pro-dev-1, image moveit-studio-dev:main-humble), so they vanish on every image rebuild. This change replaces that ephemeral workaround by baking them in at moveit_pro build time.

How

The workspace Dockerfile base stage is shared by every service via Docker Compose extends: base (base builds from context: ${STUDIO_HOST_USER_WORKSPACE}), so the agent_bridge service inherits it. The deps are added with pip install right after the existing rosdep install step — the same place the Dockerfile already invites additional pip/apt installs.

Why pip and not a rosdep key

python3-websockets / python3-msgpack are valid rosdep keys, but on the Ubuntu Jammy base (humble) the apt python3-websockets candidate is 9.1, which does not satisfy the required websockets>=13. So websockets must come from pip to honor the version constraint; both are installed via pip for consistency.

Versions

  • websockets>=13
  • msgpack>=1.0

(Match end-to-end PR #81's pyproject.)

Validation

  • hadolint (the repo's pre-commit Dockerfile linter, v2.14.0) passes with no warnings.

🤖 Generated with Claude Code

The C0 Kinova rollout client (scripts/kinova/rollout.py, end-to-end PR #81)
is a torch-free real-Kinova rollout client whose policy client uses
`websockets` (sync) + `msgpack` to talk to the policy server. It runs in
the agent_bridge container, so its Python deps must be baked into the user
overlay image instead of being pip-installed ephemerally into the running
container (which is lost on image rebuild).

Install them via pip in the shared `base` Dockerfile stage (which all
services, including agent_bridge, extend). pip is used rather than a rosdep
key because the Ubuntu Jammy apt `python3-websockets` candidate is 9.1,
which does not satisfy the required `websockets>=13`.

Versions: websockets>=13, msgpack>=1.0 (match end-to-end PR #81's pyproject).

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 11c2f795-cc38-447e-929b-f55999e83762

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown

⚠️ This PR modifies 1 file(s) that also exist in PickNikRobotics/moveit_pro_empty_ws.

Consider whether the change should land upstream in moveit_pro_empty_ws first so downstream forks pick it up on the next sync.

Overlapping files
  • Dockerfile

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown

MoveIt Pro Example WS - Objectives Integration Test Report

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant