Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
(N.B - PR was created with codex and manually reviewed. My specific use case is to attach a volume to store Xcode compilation cache/swiftpm caches for runners)
Sand currently configures the disposable root disk but cannot attach independently provisioned storage. Add optional
vm.additionalDisksso a runner can use a persistent data disk or read-only seed image without exposing arbitrary Tart command-line arguments.Each mapping decodes to a
DiskAttachmentvalue with typed synchronization/caching enums. A short keyed decoder follows existing Config conventions, includingreadOnly: falsewhen omitted. Mapping-only input avoids a second shorthand parser; unknown mapping keys follow the existing config behavior. Validate empty/invalid sources and options, preserve OCI tags and NBD ports, expand local leading tildes, and forward each attachment as one canonical--disk=...argument without shell interpolation. NBD restrictions match Tart 2.40.1.The default empty array preserves existing behavior, and
rootDiskOptsstill affects only the root disk. Sand does not create, erase, snapshot or delete extra disks. Writable attachments require exclusive ownership; storage provisioning and durability choices remain the operator's responsibility. Generic pass-through flags are intentionally excluded because they can conflict with Sand-managed lifecycle options.Scope is limited to config/type/argument forwarding, docs, a sample fixture and focused tests. No host storage policy, packaging or deployment changes are included.
Validation at exact head
18050098cc0f825d9e2a5adf960e54afb9d7b597, based on upstream96c2e9fa76e1cae9c7759115bc91e82e7201c04d:swift test --jobs 2: 60 XCTest and 12 Swift Testing tests passed on macOS 27.0.1 with full Xcode; parameterized tests cover additional values.git diff --checkpassed.GitHub checks have not yet completed; the results above are from the exact-head local guest suite. Opened as a draft for design review.