Giter VIP home page Giter VIP logo

vscode-spot's Introduction

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

vscode-spot's People

Contributors

bradygmsft avatar derekbekoe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.