Skip to content

Commit 2ef477d

Browse files
author
Katie Horne
committed
chore: edit text
1 parent c010530 commit 2ef477d

File tree

6 files changed

+172
-101
lines changed

6 files changed

+172
-101
lines changed

docs/CONTRIBUTING.md

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,53 @@
1+
12
# Contributing
23

34
## Requirements
45

5-
`coder` requires Go 1.18+, Node 14+, and GNU Make.
6+
Coder requires Go 1.18+, Node 14+, and GNU Make.
67

7-
### Development Workflow
8+
### Development workflow
89

9-
The following `make` commands and scripts used in development:
10+
Use the following `make` commands and scripts in development:
1011

1112
- `make bin` builds binaries
1213
- `make install` installs binaries to `$GOPATH/bin`
1314
- `make test`
14-
- `make release` dry-runs a new release
15-
- `./develop.sh` hot-reloads for frontend development
15+
- `make release` dry runs a new release
16+
- `./develop.sh` hot reloads for front-end development
1617

1718
## Styling
1819

19-
### Go Style
20+
### Use Go style
2021

21-
Contributions must adhere to [Effective Go](https://go.dev/doc/effective_go). Linting rules should
22-
be preferred over documenting styles (run ours with `make lint`); humans are error prone!
22+
Contributions must adhere to the guidelines outlined in [Effective
23+
Go](https://go.dev/doc/effective_go). We prefer linting rules over documenting
24+
styles (run ours with `make lint`); humans are error-prone!
2325

24-
Read [Go's Code Review Comments Wiki](https://github.com/golang/go/wiki/CodeReviewComments) to find
26+
Read [Go's Code Review Comments
27+
Wiki](https://github.com/golang/go/wiki/CodeReviewComments) for information on
2528
common comments made during reviews of Go code.
2629

27-
#### No Unused Packages
28-
29-
Coders write packages that are used during implementation. It's difficult to validate whether an
30-
abstraction is valid until it's checked against an implementation. This results in a larger
31-
changeset but provides reviewers with an educated perspective on the contribution.
30+
### Avoid unused packages
3231

33-
## Review
32+
Coder writes packages that are used during implementation. It isn't easy to
33+
validate whether an abstraction is valid until it's checked against an
34+
implementation. This results in a larger changeset, but it provides reviewers
35+
with a holistic perspective regarding the contribution.
3436

35-
> Taken from [Go's review philosophy](https://go.dev/doc/contribute#reviews).
37+
## Reviews
3638

37-
Coders value thorough reviews. Think of each review comment like a ticket: you are expected to
38-
somehow "close" it by acting on it, either by implementing the suggestion or convincing the reviewer
39-
otherwise.
39+
> The following information has been borrowed from [Go's review
40+
> philosophy](https://go.dev/doc/contribute#reviews).
4041
41-
After you update the change, go through the review comments and make sure to reply to every one. You
42-
can click the "Done" button to reply indicating that you've implemented the reviewer's suggestion;
43-
otherwise, click on "Reply" and explain why you have not, or what you have done instead.
42+
Coder values thorough reviews. For each review comment that you receive, please
43+
"close" it by implementing the suggestion or providing an explanation on why the
44+
suggestion isn't the best option. Be sure to do this for each comment; you can
45+
click **Done** to indicate that you've implemented the suggestion, or you can
46+
add a comment explaining why you aren't implementing the suggestion (or what you
47+
chose to implement instead).
4448

45-
It is perfectly normal for changes to go through several round of reviews, with one or more
46-
reviewers making new comments every time and then waiting for an updated change before reviewing
47-
again. All contributors, including experienced maintainers, are subject to the same review cycle;
48-
this process is not meant to be applied selectively or discourage anyone from contribution.
49+
It is perfectly normal for changes to go through several rounds of reviews, with
50+
one or more reviewers making new comments every time, then waiting for an
51+
updated change before reviewing again. All contributors, including those from
52+
maintainers, are subject to the same review cycle; this process is not meant to
53+
be applied selectively or to discourage anyone from contributing.

docs/README.md

Lines changed: 38 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,77 @@
11
# Coder
22

3-
[!["GitHub Discussions"](https://img.shields.io/badge/%20GitHub-%20Discussions-gray.svg?longCache=true&logo=github&colorB=purple)](https://github.com/coder/coder/discussions) [!["Join us on Slack"](https://img.shields.io/badge/join-us%20on%20slack-gray.svg?longCache=true&logo=slack&colorB=brightgreen)](https://coder.com/community) [![Twitter Follow](https://img.shields.io/twitter/follow/CoderHQ?label=%40CoderHQ&style=social)](https://twitter.com/coderhq) [![codecov](https://codecov.io/gh/coder/coder/branch/main/graph/badge.svg?token=TNLW3OAP6G)](https://codecov.io/gh/coder/coder)
3+
[!["GitHub
4+
Discussions"](https://img.shields.io/badge/%20GitHub-%20Discussions-gray.svg?longCache=true&logo=github&colorB=purple)](https://github.com/coder/coder/discussions)
5+
[!["Join us on
6+
Slack"](https://img.shields.io/badge/join-us%20on%20slack-gray.svg?longCache=true&logo=slack&colorB=brightgreen)](https://coder.com/community)
7+
[![Twitter
8+
Follow](https://img.shields.io/twitter/follow/CoderHQ?label=%40CoderHQ&style=social)](https://twitter.com/coderhq)
9+
[![codecov](https://codecov.io/gh/coder/coder/branch/main/graph/badge.svg?token=TNLW3OAP6G)](https://codecov.io/gh/coder/coder)
410

511
Provision remote development environments with Terraform.
612

713
## Highlights
814

9-
- Automate development environments for Linux, Windows, and MacOS in your cloud
15+
- Automate development environments for Linux, Windows, and macOS
1016
- Start writing code with a single command
11-
- Use one of many [examples](./examples) to get started
17+
- Get started quickly using one of the [examples](./examples) provided
1218

1319
## Installing Coder
1420

15-
Install [the latest release](https://github.com/coder/coder/releases) on a system with
16-
at least 2 CPU cores and 2 GB RAM.
21+
Install [the latest release](https://github.com/coder/coder/releases) on a
22+
system with at least 2 CPU cores and 2 GB RAM.
1723

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

2026
```bash
21-
$ coder server --dev
27+
coder server --dev
2228
```
2329

2430
To run a production deployment with PostgreSQL:
2531

2632
```bash
27-
$ CODER_PG_CONNECTION_URL="postgres://<username>@<host>/<database>?password=<password>" \
33+
CODER_PG_CONNECTION_URL="postgres://<username>@<host>/<database>?password=<password>" \
2834
coder server
2935
```
3036

31-
To run as a system service, install with `.deb` (Debian, Ubuntu) or `.rpm` (Fedora, CentOS, RHEL, SUSE):
37+
To run as a system service, install with `.deb` (Debian, Ubuntu) or `.rpm`
38+
(Fedora, CentOS, RHEL, SUSE):
3239

3340
```bash
3441
# Edit the configuration!
35-
$ sudo vim /etc/coder.d/coder.env
36-
$ sudo service coder restart
42+
sudo vim /etc/coder.d/coder.env
43+
sudo service coder restart
3744
```
3845

39-
Reference `coder start --help` for a complete list of flags and environment variables.
46+
Use `coder start --help` to get a complete list of flags and environment
47+
variables.
4048

41-
### Your First Workspace
49+
### Your first workspace
4250

43-
In a new terminal, create a new template (eg. Develop in Linux on Google Cloud):
51+
In a new terminal, create a template (e.g., a template to **Develop in Linux on
52+
Google Cloud**):
4453

45-
```
46-
$ coder templates init
47-
$ coder templates create
54+
```bash
55+
coder templates init
56+
coder templates create
4857
```
4958

50-
Create a new workspace and connect via SSH:
59+
Create a workspace and connect to it via SSH:
5160

52-
```
53-
$ coder workspaces create my-first-workspace
54-
$ coder ssh my-first-workspace
61+
```bash
62+
coder workspaces create my-first-workspace
63+
coder ssh my-first-workspace
5564
```
5665

57-
### Modifying Templates
66+
### Modifying templates
5867

59-
You can edit the Terraform from a sample template:
68+
You can edit the Terraform template using a sample template:
6069

6170
```sh
62-
$ coder templates init
63-
$ cd gcp-linux/
64-
$ vim main.tf
65-
$ coder templates update gcp-linux
71+
coder templates init
72+
cd gcp-linux/
73+
vim main.tf
74+
coder templates update gcp-linux
6675
```
6776

6877
## Documentation
@@ -73,7 +82,8 @@ $ coder templates update gcp-linux
7382
- [What Coder is not](about.md#what-coder-is-not)
7483
- [Templates](./templates.md)
7584
- [Manage templates](./templates.md#manage-templates)
76-
- [Persistent and ephemeral resources](./templates.md#persistent-and-ephemeral-resources)
85+
- [Persistent and ephemeral
86+
resources](./templates.md#persistent-and-ephemeral-resources)
7787
- [Variables](./templates.md#variables)
7888
- [Workspaces](./workspaces.md)
7989
- [Create workspaces](./workspaces.md#create-workspaces)

docs/SECURITY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Security Policy
22

3-
Keeping your code secure is core to what we do. If you find a vulnerability,
4-
please send an email to security@coder.com, and our team will respond to you.
3+
Keeping your code secure is central to what we do. If you find a vulnerability,
4+
please send an email to security@coder.com.

docs/about.md

Lines changed: 53 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,80 @@
11
# About Coder
22

3-
Coder is an open source platform for creating and managing developer workspaces on your preferred clouds and servers.
3+
Coder is an open-source platform that makes it easy for organizations of all
4+
sizes to provision, manage, and access remote developer workspaces that are
5+
hosted using the cloud service of their choice.
46

5-
By building on top of common development interfaces (SSH) and infrastructure tools (Terraform), Coder aims to make the process of **provisioning** and **accessing** remote workspaces approachable for organizations of various sizes and stages of cloud-native maturity.
6-
7-
> ⚠️ Coder v2 is in alpha and not ready for production use. You may be interested in [Coder v1](https://coder.com/docs) or [code-server](https://github.com/cdr/code-server).
7+
> ⚠️ Coder v2 is in **alpha** state and is *not* ready for production use. For
8+
> production environments, please consider [Coder v1](https://coder.com/docs) or
9+
> [code-server](https://github.com/cdr/code-server).
810
911
## Why remote development
1012

11-
Migrating from local developer machines to remote servers is an increasingly common solution for developers[^1] and organizations[^2] alike. Remote development has a number of benefits:
13+
Migrating from local developer machines to workspaces hosted by cloud services
14+
is an increasingly common solution for developers[^1] and organizations[^2]
15+
alike. There are several benefits, including:
1216

13-
- Speed: Server-grade compute speeds up operations in software development such as IDE loads, compiles, builds, and running large workloads (monolyth or microservice applications).
17+
- **Increased speed:** Server-grade compute speeds up operations in software
18+
development, such as IDE loading, code compilation and building, and the
19+
running of large workloads (such as those for monolith or microservice
20+
applications)
1421

15-
- Environment management: Onboarding & troubleshooting development environments is automated using tools such as Terraform, nix, Docker, devcontainers, etc.
22+
- **Easier environment management:** Tools such as Terraform, nix, Docker,
23+
devcontainers, and so on make developer onboarding and the troubleshooting of
24+
development environments easier
1625

17-
- Security: Source code and other data can be centralized on private servers or cloud, instead of local developer machines.
26+
- **Increase security:** Centralize source code and other data onto private
27+
servers or cloud services instead of local developer machines
1828

19-
- Compatibility: Remote workspaces share infrastructure configuration with other developer, staging, and production environments, reducing configuration drift.
29+
- **Improved compatibility:** Remote workspaces share infrastructure
30+
configuration with other development, staging, and production environments,
31+
reducing configuration drift
2032

21-
- Accessibility: Devices such as light notebooks, Chromebooks, and iPads connect to remote workspaces via browser-based IDEs or remote IDE extensions.
33+
- **Improved accessibility:** Devices such as lightweight notebooks,
34+
Chromebooks, and iPads can connect to remote workspaces via browser-based IDEs
35+
or remote IDE extensions
2236

23-
## Why Coder?
37+
## Why Coder
2438

25-
The added layer of infrastructure control is a key differentiator from Coder v1 and other remote IDE platforms. This gives admins the ability to:
39+
The key difference between Coder v2 and other remote IDE platforms is the added
40+
layer of infrastructure control. This additional layer allows admins to:
2641

27-
- support ARM, Windows, Linux, and MacOS workspaces
28-
- modify pod/container spec: add disks, manage network policy, environment variables
29-
- use VM/dedicated workspaces: develop with Kernel features, container knowledge not required
30-
- enable persistent workspaces: just like a local machine, but faster and in the cloud
42+
- Support ARM, Windows, Linux, and macOS workspaces
43+
- Modify pod/container specs (e.g., adding disks, managing network policies,
44+
setting/updating environment variables)
45+
- Use VM/dedicated workspaces, developing with Kernel features (no container
46+
knowledge required)
47+
- Enable persistent workspaces, which are like local machines, but faster and
48+
hosted by a cloud service
3149

32-
Coder includes [production-ready templates](../examples) for use on Kubernetes, AWS EC2, Google Cloud, Azure, and more.
50+
Coder includes [production-ready templates](../examples) for use with AWS EC2,
51+
Azure, Google Cloud, Kubernetes, and more.
3352

34-
## What Coder is not
53+
## What Coder is *not*
3554

36-
- Coder is an infrastructure as code (IaC) platform. Terraform is the first IaC *provisioner* in Coder. As a result, Coder admins can define any Terraform resources can as Coder workspaces.
55+
- Coder is an infrastructure-as-code (IaC) platform. Terraform is the first IaC
56+
*provisioner* in Coder. As a result, Coder admins can define Terraform
57+
resources as Coder workspaces.
3758

38-
- Coder is not a DevOps/CI platform. Coder workspaces can follow best practices for cloud workloads, but Coder is not responsible for how you define or deploy the software you write.
59+
- Coder is not a DevOps/CI platform. Coder workspaces can follow best practices
60+
for cloud service-based workloads, but Coder is not responsible for how you
61+
define or deploy the software you write.
3962

40-
- Coder is not an online IDE. Instead, Coder has strong support for common editors such as VS Code, vim, and JetBrains, over HTTPS or SSH.
63+
- Coder is not an online IDE. Instead, Coder supports common editors, such as VS
64+
Code, vim, and JetBrains, over HTTPS or SSH.
4165

42-
- Coder is not a collaboration platform. You can continue using git and IDE extensions for pull requests, code reviews, and pair programming.
66+
- Coder is not a collaboration platform. You can use git and dedicated IDE
67+
extensions for pull requests, code reviews, and pair programming.
4368

44-
- Coder is not SaaS/fully-managed. Install Coder on your cloud (AWS, GCP, Azure) or datacenter.
69+
- Coder is not a software-as-a-service/fully-managed offering. You must host
70+
Coder on a cloud service (AWS, Azure, GCP) or your private data center.
4571

4672
---
4773

4874
Next: [Templates](./templates.md)
4975

50-
[^1]: alexellis.io: [The Internet is my computer](https://blog.alexellis.io/the-internet-is-my-computer/)
76+
[^1]: alexellis.io: [The Internet is my
77+
computer](https://blog.alexellis.io/the-internet-is-my-computer/)
5178

52-
[^2]: slack.engineering: [Development environments at Slack](https://slack.engineering/development-environments-at-slack)
79+
[^2]: slack.engineering: [Development environments at
80+
Slack](https://slack.engineering/development-environments-at-slack)

docs/templates.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
# Templates
22

3-
Coder admins manage *templates* to define the infrastructure behind workspaces. A Coder deployment can have multiple templates for different workloads, such as "frontend development," "windows development," etc.
3+
Templates define the infrastructure underlying workspaces. Each Coder deployment
4+
can have multiple templates for different workloads, such as ones for front-end
5+
development, Windows development, and so on.
46

5-
Templates are shared and updates can be rolled out, or users can manually update their workspaces.
7+
Admins of Coder manage templates, including sharing them and rolling out updates
8+
to everybody. Users can also manually update their workspaces.
69

710
## Manage templates
811

9-
Coder provides production-ready template [examples](../examples/), but they can be modified with Terraform.
12+
Coder provides production-ready [sample template](../examples/), but you can
13+
modify the templates with Terraform.
1014

1115
```sh
1216
# start from an example
@@ -19,11 +23,14 @@ vim <template-name>/main.tf
1923
coder templates <create/update> <template-name>
2024
```
2125

22-
If you are commonly editing templates, we recommend source-controlling template code using GitOps/CI pipelines to make changes.
26+
> We recommend source controlling your templates.
2327
2428
## Persistent and ephemeral resources
2529

26-
Coder supports ephemeral and persistent resources in workspaces. Ephemeral resources are be destroyed when a workspace is not in use (stopped). persistent resources remain. See how this works for an example "frontend" template:
30+
Coder supports both ephemeral and persistent resources in workspaces. Ephemeral
31+
resources are destroyed when a workspace is not in use (e.g., when it is
32+
stopped). Persistent resources remain. See how this works for a sample front-end
33+
template:
2734

2835
| Resource | Type |
2936
| :--------------------------- | :--------- |
@@ -36,11 +43,15 @@ When a workspace is deleted, all related resources are destroyed.
3643

3744
## Variables
3845

39-
Templates often contain *variables*. In Coder, there are two types of variables.
46+
Templates often contain *variables*. In Coder, there are two types of variables:
4047

41-
**Admin variables** are set when a template is being created/updated. These are often cloud secrets, such as a ServiceAccount token. These are annotated with `sensitive = true` in the template code.
48+
- **Admin variables** are set when a template is created/updated. These values
49+
are often cloud secrets, such as a `ServiceAccount` token, and are annotated
50+
with `sensitive = true` in the template code.
4251

43-
**User variables** are set when a user creates a workspace. They are unique to each workspace, often personalization settings such as preferred region or workspace image.
52+
**User variables** are set when a user creates a workspace. They are unique to
53+
each workspace, and they are often personalization settings such as preferred
54+
region or workspace image.
4455

4556
---
4657

0 commit comments

Comments
 (0)