vscode-spot icon indicating copy to clipboard operation
vscode-spot copied to clipboard

Instant cloud environments for developers

:construction: This project has been archived

Read about Cloud Hosted Developer Environments in this blog post - Intelligent Productivity and Collaboration, from Anywhere.


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

Spot VS Code extension commands Connected to spot Access spot from browser

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?

  1. Clone the repository
  2. Open VS Code
  3. Run npm install
  4. 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