Deploying VSCode

Visual Studio Code (VSCode), is a source-code editor made by Microsoft that includes support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add additional functionality.

In this tutorial you will learn how to deploy VSCode so it can be accessed by any browser, allowing you to quickly and safely browse source code repositories and make lightweight code changes.

Pre-requirements

  • A playground account. Follow the Signup process if you would like to create one.

Deploying VSCode

To deploy the application, open the catalog by clicking on the upper left hand corner: Catalog icon

Catalog summary

Then, select the VSCode application in the Napptive namespace and choose the desired tag and click Deploy. Each tag (go, nodejs, and python) is associated with a specific technology and it is already configured with the default compiler and toolchain (additional extensions can be then added through the VSCode interface).

catalog-vscode-app

Once the application is running, click in the application endpoint to open VSCode in your browser.

To secure your VSCode instance, the application is configured to ask for a password. The default password is pass and we encourage you to change it on the application parameters before deploying it. To change the default password, just modify the PASSWORD environment variable as shown below:

env:
    # Login credentials
    - name: PASSWORD
      value: pass

vscode-app

At this point, VSCode is ready to go, just clone any Git repository you want, or work locally.

Cloning a remote repository using git

To clone a remote repository, select Clone Git Repository from the Get Started window.

vscode-git-clone

After that, you will be asked to authorize the GitHub extension to log into your account.

vscode-git-auth

Alternatively, you can use the git command opening a terminal from VSCode.

Installing additional libraries

Installing additional base libraries may require launching the application as root. Before deploying VSCode, modify the application parameters by changing the security-context trait to run it as root as shown below.

# Security Context trait to run the app as root
- type: security-context
 properties:
   fsGroup: 0
   runAsUser: 0
   runAsGroup: 0

Accessing the kubernetes API from Visual Code

VSCode has been configured to include the kubectl command by default. This is done by the kubeconfig-injector trait that is already attached. The trait creates a kubeconfig file to access the same environment as the one VSCode has been deployed is already configured. To interact with Kubernetes, and operate on that environment, open a terminal and issue kubectl commands as needed.

To open the terminal, select the top left hand icon to open the menu, click on Terminal and select New Terminal.

kubectl get pod
NAME                         READY   STATUS    RESTARTS   AGE
go-vscode-...                1/1     Running   0          4h36m

Adding persistent storage

This application has an ephemeral volume defined and mounted on the home/coder path. All the data stored in this path will be lost in case of application restarts. If you need a persistent volume, change the volume definition to a persistent volume when deploying the application.