Remote development environments on your infrastructure
Go to file
Kyle Carberry 7833c24779
chore: Add license (#841)
2022-04-04 11:55:06 -05:00
.github chore: configure dependabot to trigger weekly (#849) 2022-04-04 14:40:35 +00:00
.vscode feat: Add config-ssh command (#735) 2022-03-30 17:59:54 -05:00
agent feat: Add config-ssh command (#735) 2022-03-30 17:59:54 -05:00
cli fix: Remove line length limit on MacOS for input prompts (#839) 2022-04-03 18:09:55 +00:00
cmd chore: update v1 schema (#643) 2022-04-01 14:42:36 -05:00
coderd test: Fix ProjectVersionLogs returning error when using DB (#852) 2022-04-04 10:03:29 -05:00
codersdk chore: update v1 schema (#643) 2022-04-01 14:42:36 -05:00
cryptorand chore: improve coverage of cryptorand package (#377) 2022-02-28 09:50:55 -08:00
examples chore: update v1 schema (#643) 2022-04-01 14:42:36 -05:00
peer chore: update to go 1.18 (#628) 2022-03-28 19:14:40 +00:00
peerbroker feat: Add UI for awaiting agent connections (#578) 2022-03-28 19:19:28 -05:00
provisioner fix: ensure websocket close messages are truncated to 123 bytes (#779) 2022-04-01 18:17:45 +00:00
provisionerd feat: Add AWS instance identity authentication (#570) 2022-03-28 19:31:03 +00:00
provisionersdk chore: remove usage of ioutil (#642) 2022-03-29 14:59:32 -05:00
pty chore: Improve CI builds by caching Go modules (#528) 2022-03-22 17:09:04 -05:00
scripts feat: Initial E2E test framework for v2 (#288) 2022-03-02 09:26:53 -08:00
site chore: bump @pmmmwh/react-refresh-webpack-plugin in /site (#847) 2022-04-04 13:59:06 +00:00
.gitattributes chore: Move httpapi, httpmw, & database into `coderd` (#568) 2022-03-25 16:07:45 -05:00
.gitignore chore: Ignore .idea for Jetbrain's IDEs (#626) 2022-03-28 13:04:23 -05:00
.golangci.yml chore: Remove varnamelen linter (#854) 2022-04-04 11:17:57 -05:00
.goreleaser.yml fix: Build Windows releases with zip archives (#823) 2022-04-01 19:36:56 +00:00
LICENSE chore: Add license (#841) 2022-04-04 11:55:06 -05:00
Makefile chore: split queries.sql into files by table (#762) 2022-04-01 15:45:23 -05:00
README.md chore(com): add docs for "coder projects update" (#732) 2022-04-01 13:48:45 -05:00
codecov.yml chore: Move httpapi, httpmw, & database into `coderd` (#568) 2022-03-25 16:07:45 -05:00
coder.env feat: Add TLS support (#556) 2022-03-24 14:21:05 -05:00
coder.service feat: Support caching provisioner assets (#574) 2022-03-28 14:57:19 -05:00
develop.sh bugfix: remove call to deleted function from develop script (#800) 2022-04-01 08:54:55 -04:00
go.mod fix: use `golang.org/x/term` instead of `golang.org/x/crypto/ssh/terminal` (#837) 2022-04-01 21:25:46 +00:00
go.sum chore: bump google.golang.org/api from 0.73.0 to 0.74.0 (#771) 2022-03-31 09:42:41 -05:00
rules.go ci: Replace DataDog CI with custom upload script (#169) 2022-02-07 17:32:32 +00:00

README.md

Coder

"GitHub Discussions" "Join us on Slack" Twitter Follow codecov

Provision remote development environments with Terraform.

Highlights

  • Automate development environments for Linux, Windows, and MacOS in your cloud
  • Start writing code with a single command
  • Use one of many examples to get started

Getting Started

Install the latest release.

To tinker, start with dev-mode (all data is in-memory, and is destroyed on exit):

$ coder start --dev

To run a production deployment with PostgreSQL:

$ CODER_PG_CONNECTION_URL="postgres://<username>@<host>/<database>?password=<password>" \
    coder start

To run as a system service, install with .deb or .rpm:

# Edit the configuration!
$ sudo vim /etc/coder.d/coder.env
$ sudo service coder restart

Your First Workspace

In a new terminal, create a new project (eg. Develop in Linux on Google Cloud):

$ coder projects init
$ coder projects create

Create a new workspace and SSH in:

$ coder workspaces create my-first-workspace
$ coder ssh my-first-workspace

Working with Projects

You can edit the Terraform from a sample project:

$ coder projects init
$ cd gcp-linux/
$ vim main.tf
$ coder projects update gcp-linux

Development

The code structure is inspired by Basics of Unix Philosophy and Effective Go.

Coder requires Go 1.18+, Node 14+, and GNU Make.

  • make bin builds binaries
  • make install installs binaries to $GOPATH/bin
  • make test
  • make release dry-runs a new release
  • ./develop.sh hot-reloads for frontend development