Before submitting
Problem or motivation
I often run into the case where I install project dependencies in a workspace (like cargo, npm) and quickly run out of disk space.
This is because microsandbox allocates 8gb for the bind mount.
It's possible to override this but devsy currently provides no way to do that. You can only generally set the CPU and Memory for all vms created through devsy. And you have no way of changing the workspace disk size.
Proposed solution
Devcontainer.json has a hostRequirements key, which according to the docs is described as:
While devcontainer.json does not focus on hardware or VM provisioning, it can be useful to know your container’s minimum RAM, CPU, and storage requirements. This is what the hostRequirements properties allow you to do. Cloud services can use these properties to automatically default to the best compute option available, while in other cases, you will be presented with a warning if the requirements are not met.
Currently devsy uses this field to check if the host meets the requirements. I think in case of a provider that provisions a vm like microsandbox. It would make more sense to pass these options to microsandbox to create a VM that meets these requirements.
Alternatives considered
Another approach is to set env vars:
There's already these:
export MICROSANDBOX_CPUS=8
export MICROSANDBOX_MEMORY=16384
You could add another one:
export MICROSANDBOX_STORAGE=32g
With some string manipulation you would pass this to microsandbox:
--mount-dir /host/workspace-dir:/workspaces/workspace-dir:rw,quota=32G
Area
Providers
Acceptance criteria
No response
Additional context
No response
Before submitting
Problem or motivation
I often run into the case where I install project dependencies in a workspace (like cargo, npm) and quickly run out of disk space.
This is because microsandbox allocates 8gb for the bind mount.
It's possible to override this but devsy currently provides no way to do that. You can only generally set the CPU and Memory for all vms created through devsy. And you have no way of changing the workspace disk size.
Proposed solution
Devcontainer.json has a
hostRequirementskey, which according to the docs is described as:Currently devsy uses this field to check if the host meets the requirements. I think in case of a provider that provisions a vm like microsandbox. It would make more sense to pass these options to microsandbox to create a VM that meets these requirements.
Alternatives considered
Another approach is to set env vars:
There's already these:
You could add another one:
With some string manipulation you would pass this to microsandbox:
Area
Providers
Acceptance criteria
No response
Additional context
No response