Kyle Carberry 91bf8636fb feat: Add workspace agent for SSH (#318)
* feat: Add workspace agent for SSH

This adds the initial agent that supports TTY
and execution over SSH. It functions across MacOS,
Windows, and Linux.

This does not handle the coderd interaction yet,
but does setup a simple path forward.

* Fix pty tests on Windows

* Fix log race

* Lock around dial error to fix log output

* Fix context return early

* fix: Leaking yamux session after HTTP handler is closed

Closes #317. We depended on the context canceling the yamux connection,
but this isn't a sync operation. Explicitly calling close ensures the
handler waits for yamux to complete before exit.

* Lock around close return

* Force failure with log

* Fix failed handler

* Upgrade dep

* Fix defer inside loops

* Fix context cancel for HTTP requests

* Fix resize
2022-02-18 23:13:32 -06:00
2022-02-17 20:09:33 -08:00
2022-02-10 08:33:27 -06:00
2022-02-17 20:09:33 -08:00

coder codecov

Coder v2

This repository contains source code for Coder V2. Additional documentation:

Directory Structure

Development

Pre-requisites

  • git
  • go version 1.17, with the GOPATH environment variable set
  • node
  • yarn

Cloning

  • git clone https://github.com/coder/coder
  • cd coder

Building

  • make build
  • make install

The coder CLI binary will now be available at $GOPATH/bin/coder

Development

  • ./develop.sh

The develop.sh script runs the server locally on port 3000, and runs a hot-reload server for front-end code on 8080.

Front-End Plan

For the front-end team, we're planning on 2 phases to the 'v2' work:

Phase 1

Phase 1 is the 'new-wine-in-an-old-bottle' approach - we want to preserve the look and feel (UX) of v1, while testing and validating the market fit of our new v2 provisioner model. This means that we'll preserve Material UI and re-use components from v1 (porting them over to the v2 codebase).

Phase 2

Phase 2 is the 'new-wine-in-a-new-bottle' - which we can do once we've successfully packaged the new wine in the old bottle.

In other words, once we've validated that the new strategy fits and is desirable for our customers, we'd like to build a new, v2-native UI (leveraging designers on the team to build a first-class experience around the new provisioner model).

S
Description
Provision remote development environments via Terraform
Readme AGPL-3.0
1.1 GiB
Languages
Go 74.9%
TypeScript 23.1%
Shell 0.8%
HCL 0.3%
PLpgSQL 0.3%
Other 0.4%