Skip to content

feat(runtime): pass CloudBucketMount through RuntimeConfig.mounts - #646

Draft
lukass16 wants to merge 3 commits into
mainfrom
lukass/runtime-config-mounts
Draft

lukass16 wants to merge 3 commits into
mainfrom
lukass/runtime-config-mounts

Conversation

@lukass16

@lukass16 lukass16 commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Issue

Hosted QC (and any other Modal rollout that goes through Task.runtime_config) cannot attach an S3 prefix as a POSIX path. ModalRuntime already has constructor-only secrets, but those never reach the hosted worker.

Solution

Add serializable RuntimeConfig.mounts (RuntimeMount: path, bucket, prefix, secret). Modal attaches each as a read-only CloudBucketMount. Compose + mounts is rejected (DinD cannot pass mounts to main). Docker, Daytona, and HUDRuntime reject the field.

Outcome / Verification

  • test_modal_runtime_attaches_read_only_bucket_mounts covers pass-through, prefix/path validation, Compose rejection, and Docker rejection.
  • Related Modal/RuntimeConfig tests in test_docker_provider.py still pass (20).

Made with Cursor

lukass16 and others added 3 commits September 5, 2026 12:09
Hosted QC needs a serializable mount spec on the task. Modal attaches
each mount read-only; other runtimes reject the field.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
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