Spot: Instant cloud environments for developers
Developer tools are becoming more cloud powered. Spot is a VS Code extension that provides an integrated terminal, file explorer and editor to any host running the Spot Host with terminal access through the browser also.
- VS Code Extension
- Terminal, File Explorer, File Editing, Notifications, Status Bar
- Persistent File Storage
- Bring your own container
- Secure access over HTTPS
- In-browser access
Announcements
Getting started
A few steps to get you started right away:
Log in to Azure:
Azure: Log In
Choose a single subscription:
Azure: Select Subscriptions
Create a spot:
Spot: Create
When done, disconnect:
Spot: Disconnect
.
Use Spot: Terminate
to shut down the instance.
NOTE: Spot utilizes Azure Container Instances. See Container Instances pricing for their pricing information.
NOTE: When you're done with a spot, save any files in persistent storage and terminate the spot.
Commands
Command |
Description |
Spot: Create |
Create a new spot. |
Spot: Connect |
Connect to a spot using the spot name and token. |
Spot: Disconnect |
Disconnect from a spot but keep it running. |
Spot: Terminate |
Terminate a spot. |
Ports
Inside a running spot, the following ports are available to you: 5001, 5002, 5003.
Known Limitations
- Cannot create Spots with Alpine-based images
- Intellisense & Debugging
- Currently, there is no cross-file Intellisense or debugging
Debugging Tips
- Check the deployment logs in the Portal. A possible error is that spot name (DNS name) is already taken.
- Check the ACI logs for each container.
Manual Set Up
This is typically not required and is for advanced usage.
Azure File Share
Set up an Azure File Share with the following files at the root of the file share:
- https://github.com/derekbekoe/spot/releases/download/v0.2.0/spot-host
- https://github.com/derekbekoe/spot/releases/download/v0.2.0/pty.node
- https://github.com/derekbekoe/spot/releases/download/v0.2.0/certbot.sh
Configuration
All configuration options below are optional and should only be used for advanced usage.
Name |
Description |
spot.azureResourceGroup |
The resource group to deploy spots into. |
spot.azureStorageAccountName |
The storage account name containing the file share. |
spot.azureStorageAccountKey |
The storage account key for the storage account. |
spot.azureFileShareName1 |
The file share name containing the spot host. |
spot.azureRegion |
The region to deploy spots into. See region availability. |
spot.azureFileShareName2 |
The file share name you want to mount for persistent storage. |
spot.createSpotWithSSLEnabled |
Create new spots with SSL enabled. This is experimental. Disable this if you are having issues with Let's Encrypt. |
spot.fileWatcherWatchPath |
The file path to watch in the created Spot. |
See User and Workspace Settings on how to set these configuration values in VS Code.
Feedback
Developer Setup
Looking to contribute or debug yourself?
- Clone the repository
- Open VS Code
- Run
npm install
- Start the VS Code debugger to launch the extension
Packaging
Compile TS: npm run compile
Build package: ./node_modules/.bin/vsce package
Publish extension: ./node_modules/.bin/vsce publish -p TOKEN
Release History
See GitHub Releases.
License
MIT