v2.0.0-rc.10
Pre-release📝 DOCS
You can find the 2.0.0 RC docs at: https://fsnpxp-3000.csb.app/sdk
rc.9 release!
🔥 Hot resizing incident
So we identified an issue with what we call "hot resizing sandboxes". This was experienced as VMs not hibernating and also not being able to get them back up. The reason this happened is because Sandboxes where being hot resized below their parent Sandbox tier. Basically the Sandbox goes out of memory.
We have measures in place for both the SDK and our API. The SDK now has:
csb build . --vm-tier=Micro --vm-build-tier=Medium- The
vm-tierrepresents the tier given to Sandboxes created from the template - The
vm-build-tierrepresents the tier used when building the template - There is no risk of "hot downsizing" the Universal Template to a bad state anymore
Shortly the API will also give an error if you try to create a Sandbox with a Tier that causes a "hot downsize" from its parent.
💰 Compensation 💰 We are running a job to identify customers affected by this for automatic compensation, but please reach out to us if this compensation has not been applied by end of next week 🙏
🏗️ Infra
- Fixed a race condition where Sandbox Agent was throwing a false error. Typically happened during template building
- We should now send a proper error response from the API, so no more
Internal Server Error - We have a new debug dashboard which allows to more easily debug VM ids across the stack
- We have a new status page https://status2.codesandbox.io/. Currently it only displays health of API, but we are adding clusters and other infra related health checks ASAP
🚨 Breaking
- You now have to pass
expireAtwhen creating host tokens. We noticed nobody really persists host tokens, but rather creates new ones for every session. Since tokens does not expire by default, this results in a lot of active tokens. We wanted to make sure you make a conscious choice about the behavior you want here
⚠️ Deprecations
git.checkoutnow has a deprecatedisBranchsecond argument in favor of the newgit.createBranchmethod
🚀 Features
git.createBranchto create a branch.git.checkoutis explicitly used for checking out any reference- The template builder now uses a new API endpoint which selects 3 clusters to schedule the template to. This removes some logic from the SDK and gets us closer to better scheduling management
- The SDK now gives sentry error reports to help us debug any issues related to API calls. We'll extend this soon to interactions with the Sandbox as well
- The CLI now has
--vm-tierto indicate the tier to use when creating Sandboxes from the template and--vm-build-tierfor the tier to use for building the template - The CLI will now dump logs if errors occurs during setup. Use
--log-pathparameter to configure where to dump the logs
🐛 Fixes
- Our Dashboard search now properly searches ids etc. If you have a lot of Sandboxes it will still be slow, but there will be a new Dashboard coming in the future
- There was a race condition with commands where we try to name it after it has been discarded
- The
--aliasparam in the CLI had an issue with parsing