mirror of
https://github.com/coder/coder.git
synced 2025-04-04 18:28:14 +00:00
fix: prettier misses docs directory (#5285)
* chore: keep admin/prometheus.md if make target fails * Address PR comments * Formatted * fix: prettier misses docs * make fmt * More md files
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
# Adopters
|
||||
# Adopters
|
||||
|
||||
[](https://coder.com/chat?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=adopters.md) [](https://twitter.com/coderhq)
|
||||
@ -7,6 +8,6 @@ Follow](https://img.shields.io/twitter/follow/coderhq?label=%40coderhq&style=soc
|
||||
|
||||
> 👋 _If you are considering using Coder in your organization please introduce yourself via https://coder.com/demo_ 🙇🏻♂️
|
||||
|
||||
| Organization | Contact | Description of Use |
|
||||
| --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [Coder](https://www.coder.com) | [@coderhq](https://twitter.com/coderhq) | Coder builds coder with Coder. |
|
||||
| Organization | Contact | Description of Use |
|
||||
| ------------------------------ | --------------------------------------- | ------------------------------ |
|
||||
| [Coder](https://www.coder.com) | [@coderhq](https://twitter.com/coderhq) | Coder builds coder with Coder. |
|
||||
|
10
Makefile
10
Makefile
@ -359,9 +359,9 @@ fmt/prettier:
|
||||
cd site
|
||||
# Avoid writing files in CI to reduce file write activity
|
||||
ifdef CI
|
||||
yarn run format:check
|
||||
yarn run format:check . ../*.md ../docs
|
||||
else
|
||||
yarn run format:write
|
||||
yarn run format:write . ../*.md ../docs
|
||||
endif
|
||||
.PHONY: fmt/prettier
|
||||
|
||||
@ -452,11 +452,7 @@ site/src/api/typesGenerated.ts: scripts/apitypings/main.go $(shell find codersdk
|
||||
docs/admin/prometheus.md: scripts/metricsdocgen/main.go scripts/metricsdocgen/metrics
|
||||
go run scripts/metricsdocgen/main.go
|
||||
cd site
|
||||
ifdef CI
|
||||
yarn run format:check
|
||||
else
|
||||
yarn run format:write
|
||||
endif
|
||||
yarn run format:write ../docs/admin/prometheus.md
|
||||
|
||||
update-golden-files: cli/testdata/.gen-golden
|
||||
.PHONY: update-golden-files
|
||||
|
@ -11,7 +11,6 @@ Software development on your infrastructure. Offload your team's development fro
|
||||
|
||||
> "By leveraging Terraform, Coder lets developers run any IDE on any compute platform including on-prem, AWS, Azure, GCP, DigitalOcean, Kubernetes, Docker, and more, with workspaces running on Linux, Windows, or Mac." - **Kevin Fishner Chief of Staff at [HashiCorp](https://hashicorp.com/)**
|
||||
|
||||
|
||||
<p align="center">
|
||||
<img src="./docs/images/hero-image.png">
|
||||
</p>
|
||||
@ -96,7 +95,7 @@ Please file [an issue](https://github.com/coder/coder/issues/new) if any informa
|
||||
| [Coder](https://github.com/coder/coder) | Platform | OSS + Self-Managed | Pay your cloud | All [Terraform](https://www.terraform.io/registry/providers) resources, all clouds, multi-architecture: Linux, Mac, Windows, containers, VMs, amd64, arm64 |
|
||||
| [code-server](https://github.com/cdr/code-server) | Web IDE | OSS + Self-Managed | Pay your cloud | Linux, Mac, Windows, containers, VMs, amd64, arm64 |
|
||||
| [Coder (Classic)](https://coder.com/docs) | Platform | Self-Managed | Pay your cloud + license fees | Kubernetes Linux Containers |
|
||||
| [GitHub Codespaces](https://github.com/features/codespaces) | Platform | SaaS | 2x Azure Compute | Linux Virtual Machines |
|
||||
| [GitHub Codespaces](https://github.com/features/codespaces) | Platform | SaaS | 2x Azure Compute | Linux Virtual Machines |
|
||||
|
||||
---
|
||||
|
||||
|
@ -39,6 +39,7 @@ direnv: export +AR +AS +CC +CONFIG_SHELL +CXX +HOST_PATH +IN_NIX_SHELL +LD +NIX_
|
||||
```
|
||||
|
||||
Alternatively if you do not want to use nix then you'll need to install the need the following tools by hand:
|
||||
|
||||
- Go 1.18+
|
||||
- on macOS, run `brew install go`
|
||||
- Node 14+
|
||||
@ -63,7 +64,6 @@ Alternatively if you do not want to use nix then you'll need to install the need
|
||||
- [`pandoc`]()
|
||||
- on macOS, run `brew install pandocomatic`
|
||||
|
||||
|
||||
### Development workflow
|
||||
|
||||
Use the following `make` commands and scripts in development:
|
||||
@ -143,7 +143,6 @@ $ git ls-files v0.12.2 -- coderd/database/migrations/*.up.sql
|
||||
|
||||
This helps in naming the dump (e.g. `000069` above).
|
||||
|
||||
|
||||
## Styling
|
||||
|
||||
### Documentation
|
||||
|
@ -92,6 +92,6 @@ Azure, Google Cloud, Kubernetes, and more.
|
||||
- Coder is not a SaaS/fully-managed offering. You must host
|
||||
Coder on a cloud service (AWS, Azure, GCP) or your private data center.
|
||||
|
||||
|
||||
## Up next
|
||||
|
||||
- Learn about [Templates](./templates.md)
|
||||
|
@ -4,7 +4,7 @@ Coder integrates with git providers so developers can authenticate with reposito
|
||||
|
||||
## How it works
|
||||
|
||||
When developers use `git` inside their workspace, they are first prompted to authenticate. After that, Coder will store/refresh tokens for future operations.
|
||||
When developers use `git` inside their workspace, they are first prompted to authenticate. After that, Coder will store/refresh tokens for future operations.
|
||||
|
||||
<video autoplay playsinline loop>
|
||||
<source src="https://github.com/coder/coder/blob/main/site/static/gitauth.mp4?raw=true" type="video/mp4">
|
||||
|
@ -7,4 +7,3 @@ Groups can be used with [template RBAC](./rbac.md) to give groups of users acces
|
||||
## Enabling this feature
|
||||
|
||||
This feature is only available with an enterprise license. [Learn more](../enterprise.md)
|
||||
|
||||
|
@ -29,45 +29,45 @@ The environment variable `CODER_PROMETHEUS_ENABLE` will be enabled automatically
|
||||
|
||||
<!-- Code generated by 'make docs/admin/prometheus.md'. DO NOT EDIT -->
|
||||
|
||||
| Name | Type | Description | Labels |
|
||||
| - | - | - | - |
|
||||
| `coderd_api_active_users_duration_hour` | gauge | The number of users that have been active within the last hour. | |
|
||||
| `coderd_api_concurrent_requests` | gauge | The number of concurrent API requests | |
|
||||
| `coderd_api_concurrent_websockets` | gauge | The total number of concurrent API websockets | |
|
||||
| `coderd_api_request_latencies_ms` | histogram | Latency distribution of requests in milliseconds | `method` `path` |
|
||||
| `coderd_api_requests_processed_total` | counter | The total number of processed API requests | `code` `method` `path` |
|
||||
| `coderd_api_websocket_durations_ms` | histogram | Websocket duration distribution of requests in milliseconds | `path` |
|
||||
| `coderd_api_workspace_latest_build_total` | gauge | The latest workspace builds with a status. | `status` |
|
||||
| `coderd_provisionerd_job_timings_ms` | histogram | The provisioner job time duration. | `provisioner` `status` |
|
||||
| `coderd_provisionerd_jobs_current` | gauge | The number of currently running provisioner jobs. | `provisioner` |
|
||||
| `go_gc_duration_seconds` | summary | A summary of the pause duration of garbage collection cycles. | |
|
||||
| `go_goroutines` | gauge | Number of goroutines that currently exist. | |
|
||||
| `go_info` | gauge | Information about the Go environment. | `version` |
|
||||
| `go_memstats_alloc_bytes` | gauge | Number of bytes allocated and still in use. | |
|
||||
| `go_memstats_alloc_bytes_total` | counter | Total number of bytes allocated, even if freed. | |
|
||||
| `go_memstats_buck_hash_sys_bytes` | gauge | Number of bytes used by the profiling bucket hash table. | |
|
||||
| `go_memstats_frees_total` | counter | Total number of frees. | |
|
||||
| `go_memstats_gc_sys_bytes` | gauge | Number of bytes used for garbage collection system metadata. | |
|
||||
| `go_memstats_heap_alloc_bytes` | gauge | Number of heap bytes allocated and still in use. | |
|
||||
| `go_memstats_heap_idle_bytes` | gauge | Number of heap bytes waiting to be used. | |
|
||||
| `go_memstats_heap_inuse_bytes` | gauge | Number of heap bytes that are in use. | |
|
||||
| `go_memstats_heap_objects` | gauge | Number of allocated objects. | |
|
||||
| `go_memstats_heap_released_bytes` | gauge | Number of heap bytes released to OS. | |
|
||||
| `go_memstats_heap_sys_bytes` | gauge | Number of heap bytes obtained from system. | |
|
||||
| `go_memstats_last_gc_time_seconds` | gauge | Number of seconds since 1970 of last garbage collection. | |
|
||||
| `go_memstats_lookups_total` | counter | Total number of pointer lookups. | |
|
||||
| `go_memstats_mallocs_total` | counter | Total number of mallocs. | |
|
||||
| `go_memstats_mcache_inuse_bytes` | gauge | Number of bytes in use by mcache structures. | |
|
||||
| `go_memstats_mcache_sys_bytes` | gauge | Number of bytes used for mcache structures obtained from system. | |
|
||||
| `go_memstats_mspan_inuse_bytes` | gauge | Number of bytes in use by mspan structures. | |
|
||||
| `go_memstats_mspan_sys_bytes` | gauge | Number of bytes used for mspan structures obtained from system. | |
|
||||
| `go_memstats_next_gc_bytes` | gauge | Number of heap bytes when next garbage collection will take place. | |
|
||||
| `go_memstats_other_sys_bytes` | gauge | Number of bytes used for other system allocations. | |
|
||||
| `go_memstats_stack_inuse_bytes` | gauge | Number of bytes in use by the stack allocator. | |
|
||||
| `go_memstats_stack_sys_bytes` | gauge | Number of bytes obtained from system for stack allocator. | |
|
||||
| `go_memstats_sys_bytes` | gauge | Number of bytes obtained from system. | |
|
||||
| `go_threads` | gauge | Number of OS threads created. | |
|
||||
| `promhttp_metric_handler_requests_in_flight` | gauge | Current number of scrapes being served. | |
|
||||
| `promhttp_metric_handler_requests_total` | counter | Total number of scrapes by HTTP status code. | `code` |
|
||||
| Name | Type | Description | Labels |
|
||||
| -------------------------------------------- | --------- | ------------------------------------------------------------------ | ---------------------- |
|
||||
| `coderd_api_active_users_duration_hour` | gauge | The number of users that have been active within the last hour. | |
|
||||
| `coderd_api_concurrent_requests` | gauge | The number of concurrent API requests | |
|
||||
| `coderd_api_concurrent_websockets` | gauge | The total number of concurrent API websockets | |
|
||||
| `coderd_api_request_latencies_ms` | histogram | Latency distribution of requests in milliseconds | `method` `path` |
|
||||
| `coderd_api_requests_processed_total` | counter | The total number of processed API requests | `code` `method` `path` |
|
||||
| `coderd_api_websocket_durations_ms` | histogram | Websocket duration distribution of requests in milliseconds | `path` |
|
||||
| `coderd_api_workspace_latest_build_total` | gauge | The latest workspace builds with a status. | `status` |
|
||||
| `coderd_provisionerd_job_timings_ms` | histogram | The provisioner job time duration. | `provisioner` `status` |
|
||||
| `coderd_provisionerd_jobs_current` | gauge | The number of currently running provisioner jobs. | `provisioner` |
|
||||
| `go_gc_duration_seconds` | summary | A summary of the pause duration of garbage collection cycles. | |
|
||||
| `go_goroutines` | gauge | Number of goroutines that currently exist. | |
|
||||
| `go_info` | gauge | Information about the Go environment. | `version` |
|
||||
| `go_memstats_alloc_bytes` | gauge | Number of bytes allocated and still in use. | |
|
||||
| `go_memstats_alloc_bytes_total` | counter | Total number of bytes allocated, even if freed. | |
|
||||
| `go_memstats_buck_hash_sys_bytes` | gauge | Number of bytes used by the profiling bucket hash table. | |
|
||||
| `go_memstats_frees_total` | counter | Total number of frees. | |
|
||||
| `go_memstats_gc_sys_bytes` | gauge | Number of bytes used for garbage collection system metadata. | |
|
||||
| `go_memstats_heap_alloc_bytes` | gauge | Number of heap bytes allocated and still in use. | |
|
||||
| `go_memstats_heap_idle_bytes` | gauge | Number of heap bytes waiting to be used. | |
|
||||
| `go_memstats_heap_inuse_bytes` | gauge | Number of heap bytes that are in use. | |
|
||||
| `go_memstats_heap_objects` | gauge | Number of allocated objects. | |
|
||||
| `go_memstats_heap_released_bytes` | gauge | Number of heap bytes released to OS. | |
|
||||
| `go_memstats_heap_sys_bytes` | gauge | Number of heap bytes obtained from system. | |
|
||||
| `go_memstats_last_gc_time_seconds` | gauge | Number of seconds since 1970 of last garbage collection. | |
|
||||
| `go_memstats_lookups_total` | counter | Total number of pointer lookups. | |
|
||||
| `go_memstats_mallocs_total` | counter | Total number of mallocs. | |
|
||||
| `go_memstats_mcache_inuse_bytes` | gauge | Number of bytes in use by mcache structures. | |
|
||||
| `go_memstats_mcache_sys_bytes` | gauge | Number of bytes used for mcache structures obtained from system. | |
|
||||
| `go_memstats_mspan_inuse_bytes` | gauge | Number of bytes in use by mspan structures. | |
|
||||
| `go_memstats_mspan_sys_bytes` | gauge | Number of bytes used for mspan structures obtained from system. | |
|
||||
| `go_memstats_next_gc_bytes` | gauge | Number of heap bytes when next garbage collection will take place. | |
|
||||
| `go_memstats_other_sys_bytes` | gauge | Number of bytes used for other system allocations. | |
|
||||
| `go_memstats_stack_inuse_bytes` | gauge | Number of bytes in use by the stack allocator. | |
|
||||
| `go_memstats_stack_sys_bytes` | gauge | Number of bytes obtained from system for stack allocator. | |
|
||||
| `go_memstats_sys_bytes` | gauge | Number of bytes obtained from system. | |
|
||||
| `go_threads` | gauge | Number of OS threads created. | |
|
||||
| `promhttp_metric_handler_requests_in_flight` | gauge | Current number of scrapes being served. | |
|
||||
| `promhttp_metric_handler_requests_total` | counter | Total number of scrapes by HTTP status code. | `code` |
|
||||
|
||||
<!-- End generated by 'make docs/admin/prometheus.md'. -->
|
||||
|
@ -5,7 +5,7 @@ templates and assigning budgets to users. Users that exceed their budget will be
|
||||
blocked from launching more workspaces until they either delete their other workspaces
|
||||
or get their budget extended.
|
||||
|
||||
For example: A template is configured with a cost of 5 credits per day, and the user is
|
||||
For example: A template is configured with a cost of 5 credits per day, and the user is
|
||||
granted a budget of 15 credits per day. This budget limits the user to 3 concurrent workspaces.
|
||||
|
||||
Quotas are licensed with [Groups](./groups.md).
|
||||
@ -48,18 +48,18 @@ resource "docker_container" "workspace" {
|
||||
}
|
||||
|
||||
resource "coder_metadata" "workspace" {
|
||||
count = data.coder_workspace.me.start_count
|
||||
count = data.coder_workspace.me.start_count
|
||||
resource_id = docker_container.workspace.id
|
||||
daily_cost = 20
|
||||
}
|
||||
```
|
||||
|
||||
When the workspace above is shut down, the `docker_container` and
|
||||
When the workspace above is shut down, the `docker_container` and
|
||||
`coder_metadata` both get deleted. This reduces the cost from 30 credits to
|
||||
10 credits.
|
||||
10 credits.
|
||||
|
||||
Resources without a `daily_cost` value are considered to cost 0. If the cost
|
||||
was removed on the `docker_volume` above, the template would consume 0 credits when
|
||||
Resources without a `daily_cost` value are considered to cost 0. If the cost
|
||||
was removed on the `docker_volume` above, the template would consume 0 credits when
|
||||
it's offline. This technique is good for incentivizing users to shut down their
|
||||
unused workspaces and freeing up compute in the cluster.
|
||||
|
||||
|
@ -8,7 +8,7 @@ First of all, we do not collect any information that could threaten the security
|
||||
|
||||
You can find a full list of the data we collect in the source code [here](https://github.com/coder/coder/blob/main/coderd/telemetry/telemetry.go).
|
||||
|
||||
Telemetry can be configured with the `CODER_TELEMETRY=x` environment variable.
|
||||
Telemetry can be configured with the `CODER_TELEMETRY=x` environment variable.
|
||||
|
||||
For example, telemetry can be disabled with `CODER_TELEMETRY=false`.
|
||||
|
||||
|
@ -1,14 +1,13 @@
|
||||
# Documentation
|
||||
|
||||
This style guide is primarily for use with authoring documentation.
|
||||
# Documentation
|
||||
|
||||
This style guide is primarily for use with authoring documentation.
|
||||
|
||||
## General guidelines
|
||||
|
||||
- Use sentence case, even in titles (do not punctuate the title, though)
|
||||
- Use the second person
|
||||
- Use the active voice
|
||||
- Use plural nouns and pronouns (*they*, *their*, or *them*), especially when
|
||||
- Use plural nouns and pronouns (_they_, _their_, or _them_), especially when
|
||||
the specific number is uncertain (i.e., "Set up your environments" even though
|
||||
you don't know if the user will have one or many environments)
|
||||
- When writing documentation titles, use the noun form, not the gerund form (e.g., "Environment
|
||||
@ -17,7 +16,7 @@ This style guide is primarily for use with authoring documentation.
|
||||
example, ["A Job creates one or more
|
||||
Pods..."](https://kubernetes.io/docs/concepts/workloads/controllers/job/) is
|
||||
correct when writing about Kubernetes. However, in other contexts, neither
|
||||
*job* nor *pods* would be capitalized. Please follow the conventions set forth
|
||||
_job_ nor _pods_ would be capitalized. Please follow the conventions set forth
|
||||
by the relevant companies and open source communities.
|
||||
|
||||
## Third-party references
|
||||
@ -25,11 +24,11 @@ This style guide is primarily for use with authoring documentation.
|
||||
If you have questions that aren't explicitly covered by this guide, consult the
|
||||
following third-party references:
|
||||
|
||||
| **Type of guidance** | **Third-party reference** |
|
||||
| - | - |
|
||||
| Spelling | [Merriam-Webster.com](https://www.merriam-webster.com/) |
|
||||
| Style - nontechnical | [The Chicago Manual of Style](https://www.chicagomanualofstyle.org/home.html) |
|
||||
| Style - technical | [Microsoft Writing Style Guide](https://docs.microsoft.com/en-us/style-guide/welcome/) |
|
||||
| **Type of guidance** | **Third-party reference** |
|
||||
| -------------------- | -------------------------------------------------------------------------------------- |
|
||||
| Spelling | [Merriam-Webster.com](https://www.merriam-webster.com/) |
|
||||
| Style - nontechnical | [The Chicago Manual of Style](https://www.chicagomanualofstyle.org/home.html) |
|
||||
| Style - technical | [Microsoft Writing Style Guide](https://docs.microsoft.com/en-us/style-guide/welcome/) |
|
||||
|
||||
## Tools
|
||||
|
||||
@ -50,14 +49,14 @@ Use **bold** formatting when referring to UI elements.
|
||||
|
||||
### Italics
|
||||
|
||||
Use *italics* for:
|
||||
Use _italics_ for:
|
||||
|
||||
- Parameter names
|
||||
- Mathematical and version variables
|
||||
|
||||
### Code font
|
||||
|
||||
Use *code font* for:
|
||||
Use _code font_ for:
|
||||
|
||||
- User text input
|
||||
- Command-line utility names
|
||||
@ -68,7 +67,7 @@ Use *code font* for:
|
||||
- HTTP verbs, status codes, and content-type values
|
||||
- Placeholder variables
|
||||
|
||||
Use *code blocks* for code samples and other blocks of code. Be sure to indicate
|
||||
Use _code blocks_ for code samples and other blocks of code. Be sure to indicate
|
||||
the language your using to apply the proper syntax highlighting.
|
||||
|
||||
```text
|
||||
@ -80,10 +79,10 @@ For code that you want users to enter via a command-line interface, use
|
||||
|
||||
### Punctuation
|
||||
|
||||
Do not use the ampersand (&) as a shorthand for *and* unless you're referring to a
|
||||
UI element or the name of something that uses *&*.
|
||||
Do not use the ampersand (&) as a shorthand for _and_ unless you're referring to a
|
||||
UI element or the name of something that uses _&_.
|
||||
|
||||
You can use the symbol `~` in place of the word *approximately*.
|
||||
You can use the symbol `~` in place of the word _approximately_.
|
||||
|
||||
### UI elements
|
||||
|
||||
@ -147,4 +146,3 @@ We also do not capitalize the names of user roles:
|
||||
## Standardized spellings
|
||||
|
||||
- WiFi
|
||||
|
||||
|
@ -1,10 +1,12 @@
|
||||
# Dotfiles
|
||||
|
||||
<!-- markdown-link-check-disable -->
|
||||
|
||||
Coder offers the `coder dotfiles <repo>` command which simplifies workspace
|
||||
personalization. Our behavior is consistent with Codespaces, so
|
||||
[their documentation](https://docs.github.com/en/codespaces/customizing-your-codespace/personalizing-codespaces-for-your-account#dotfiles)
|
||||
explains how it loads your repo.
|
||||
|
||||
<!-- markdown-link-check-enable -->
|
||||
|
||||
You can read more on dotfiles best practices [here](https://dotfiles.github.io).
|
||||
|
@ -4,15 +4,18 @@ Coder is free to use and includes some features that are only accessible with a
|
||||
Contact sales@coder.com to obtain a license.
|
||||
|
||||
### User Management
|
||||
|
||||
- [Groups](./admin/groups.md)
|
||||
- [Template RBAC](./admin/rbac.md)
|
||||
- [SCIM](./admin/auth.md#scim)
|
||||
|
||||
### Networking & Deployment
|
||||
|
||||
- [High Availability](./admin/high-availability.md)
|
||||
- [Browser Only Connections](./networking.md#browser-only-connections)
|
||||
|
||||
### Other
|
||||
|
||||
- [Audit Logging](./admin/audit-logs.md)
|
||||
- [Quotas](./admin/quotas.md)
|
||||
|
||||
|
@ -168,7 +168,6 @@ resource "coder_app" "jupyter" {
|
||||
|
||||

|
||||
|
||||
|
||||
### RStudio
|
||||
|
||||
Configure your agent and `coder_app` like so to use RStudio. Notice the
|
||||
|
@ -1,9 +1,5 @@
|
||||
{
|
||||
"versions": [
|
||||
"main",
|
||||
"v0.8.1",
|
||||
"v0.7.12"
|
||||
],
|
||||
"versions": ["main", "v0.8.1", "v0.7.12"],
|
||||
"routes": [
|
||||
{
|
||||
"title": "About",
|
||||
|
@ -15,58 +15,57 @@ Coder with Docker has the following advantages:
|
||||
|
||||
1. Run Coder with Docker.
|
||||
|
||||
```shell
|
||||
export CODER_DATA=$HOME/.config/coderv2-docker
|
||||
export DOCKER_GROUP=$(getent group docker | cut -d: -f3)
|
||||
mkdir -p $CODER_DATA
|
||||
docker run --rm -it \
|
||||
-v $CODER_DATA:/home/coder/.config \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
--group-add $DOCKER_GROUP \
|
||||
ghcr.io/coder/coder:latest
|
||||
```
|
||||
|
||||
> This will use Coder's tunnel and built-in database. See our [Docker documentation](../install/docker.md) for other configuration options such as running on localhost, using docker-compose, and external PostgreSQL.
|
||||
```shell
|
||||
export CODER_DATA=$HOME/.config/coderv2-docker
|
||||
export DOCKER_GROUP=$(getent group docker | cut -d: -f3)
|
||||
mkdir -p $CODER_DATA
|
||||
docker run --rm -it \
|
||||
-v $CODER_DATA:/home/coder/.config \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
--group-add $DOCKER_GROUP \
|
||||
ghcr.io/coder/coder:latest
|
||||
```
|
||||
|
||||
> This will use Coder's tunnel and built-in database. See our [Docker documentation](../install/docker.md) for other configuration options such as running on localhost, using docker-compose, and external PostgreSQL.
|
||||
|
||||
1. In new terminal, [install Coder](../install/) in order to connect to your deployment through the CLI.
|
||||
1. In new terminal, [install Coder](../install/) in order to connect to your deployment through the CLI.
|
||||
|
||||
```shell
|
||||
curl -L https://coder.com/install.sh | sh
|
||||
```
|
||||
```shell
|
||||
curl -L https://coder.com/install.sh | sh
|
||||
```
|
||||
|
||||
1. Run `coder login <access url>` and follow the
|
||||
interactive instructions to create your user.
|
||||
1. Run `coder login <access url>` and follow the
|
||||
interactive instructions to create your user.
|
||||
|
||||
1. Pull the "Docker" example template using the interactive `coder templates init`:
|
||||
1. Pull the "Docker" example template using the interactive `coder templates init`:
|
||||
|
||||
```shell
|
||||
coder templates init
|
||||
cd docker
|
||||
```
|
||||
```shell
|
||||
coder templates init
|
||||
cd docker
|
||||
```
|
||||
|
||||
1. Push up the template with `coder templates create`
|
||||
1. Push up the template with `coder templates create`
|
||||
|
||||
1. Open the dashboard in your browser to create your
|
||||
first workspace:
|
||||
1. Open the dashboard in your browser to create your
|
||||
first workspace:
|
||||
|
||||
<img src="../images/quickstart/docker/login.png">
|
||||
<img src="../images/quickstart/docker/login.png">
|
||||
|
||||
Then navigate to `Templates > docker > Create workspace`
|
||||
Then navigate to `Templates > docker > Create workspace`
|
||||
|
||||
<img src="../images/quickstart/docker/create-workspace.png">
|
||||
<img src="../images/quickstart/docker/create-workspace.png">
|
||||
|
||||
Now wait a few moments for the workspace to build... After the first build,
|
||||
the image is cached and subsequent builds will take a few seconds.
|
||||
Now wait a few moments for the workspace to build... After the first build,
|
||||
the image is cached and subsequent builds will take a few seconds.
|
||||
|
||||
1. Your workspace is ready to go!
|
||||
1. Your workspace is ready to go!
|
||||
|
||||
<img src="../images/quickstart/docker/ides.png">
|
||||
<img src="../images/quickstart/docker/ides.png">
|
||||
|
||||
Open up a web application or [SSH in](../ides.md#ssh-configuration).
|
||||
Open up a web application or [SSH in](../ides.md#ssh-configuration).
|
||||
|
||||
1. If you want to modify the Docker image or template, edit the files in the
|
||||
previously created `./docker` directory, then run `coder templates push`.
|
||||
1. If you want to modify the Docker image or template, edit the files in the
|
||||
previously created `./docker` directory, then run `coder templates push`.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
# Google Cloud Platform
|
||||
|
||||
In this quickstart, you will learn how to deploy the Coder control plane instance and your first template.
|
||||
In this quickstart, you will learn how to deploy the Coder control plane instance and your first template.
|
||||
|
||||
## Requirements
|
||||
|
||||
This quickstart assumes you have `roles/compute.instanceAdmin.v1` access to your Google Cloud Platform project.
|
||||
This quickstart assumes you have `roles/compute.instanceAdmin.v1` access to your Google Cloud Platform project.
|
||||
|
||||
## Setting Up your VM
|
||||
## Setting Up your VM
|
||||
|
||||
If this is the first time you’re creating a VM on this project, you will need to enable the `Compute Engine API`. On the Compute Engine API page, click `enable` and wait for the service to finish connecting.
|
||||
|
||||
@ -34,10 +34,10 @@ This will give you a terminal into the VM that we will use to install Coder.
|
||||
|
||||
## Install Coder
|
||||
|
||||
In the terminal, run the following command
|
||||
In the terminal, run the following command
|
||||
|
||||
```sh
|
||||
curl -fsSL https://coder.com/install.sh | sh
|
||||
curl -fsSL https://coder.com/install.sh | sh
|
||||
```
|
||||
|
||||
## Run Coder
|
||||
@ -46,9 +46,9 @@ For this tutorial, we will run Coder as a `systemd` service. You can run Coder i
|
||||
|
||||
First, edit the `coder.env` file to enable `CODER_TUNNEL` by setting the value to true with the following command:
|
||||
|
||||
``` sh
|
||||
```sh
|
||||
sudo vim /etc/coder.d/coder.env
|
||||
```
|
||||
```
|
||||
|
||||
<img src="../images/quickstart/google-cloud-platform/gcp4.png">
|
||||
|
||||
@ -56,17 +56,17 @@ Exit vim and run the following command to start Coder as a system service:
|
||||
|
||||
```sh
|
||||
sudo systemctl enable --now coder
|
||||
```
|
||||
```
|
||||
|
||||
The following command shows the Coder service's logs, including the Access URL. The Access URL will be used to access the Coder control plane.
|
||||
The following command shows the Coder service's logs, including the Access URL. The Access URL will be used to access the Coder control plane.
|
||||
|
||||
```sh
|
||||
journalctl -u coder.service -b
|
||||
```
|
||||
journalctl -u coder.service -b
|
||||
```
|
||||
|
||||
<img src="../images/quickstart/google-cloud-platform/gcp5.png">
|
||||
|
||||
In this instance, Coder can be accessed at the URL `https://fcca2f3bfc9d2e3bf1b9feb50e723448.pit-1.try.coder.app`.
|
||||
In this instance, Coder can be accessed at the URL `https://fcca2f3bfc9d2e3bf1b9feb50e723448.pit-1.try.coder.app`.
|
||||
|
||||
Copy the URL and run the following command to create the workspace admin:
|
||||
|
||||
@ -74,37 +74,37 @@ Copy the URL and run the following command to create the workspace admin:
|
||||
coder login <url***.try.coder.app>
|
||||
```
|
||||
|
||||
Fill out the prompts and be sure to save use email and password. This is your admin login. Now, you can now access Coder from your local machine by navigating to the `***.try.coder.app` URL and logging in with that same username and password.
|
||||
Fill out the prompts and be sure to save use email and password. This is your admin login. Now, you can now access Coder from your local machine by navigating to the `***.try.coder.app` URL and logging in with that same username and password.
|
||||
|
||||
## Creating and Uploading your First Template
|
||||
|
||||
First, run `coder template init` to create your first template. You’ll be given a list of prefabricated templates. This tutorial shows you how to create a Linux based template on GCP.
|
||||
First, run `coder template init` to create your first template. You’ll be given a list of prefabricated templates. This tutorial shows you how to create a Linux based template on GCP.
|
||||
|
||||
<img src="../images/quickstart/google-cloud-platform/gcp6.png">
|
||||
|
||||
Select the `Develop in Linux on Google Cloud`, then `cd ./gcp-linux`.
|
||||
Select the `Develop in Linux on Google Cloud`, then `cd ./gcp-linux`.
|
||||
|
||||
Run the following command:
|
||||
Run the following command:
|
||||
|
||||
```sh
|
||||
coder templates create
|
||||
```
|
||||
|
||||
It will ask for your `project-id`, which you can find on the home page of your GCP Dashboard.
|
||||
It will ask for your `project-id`, which you can find on the home page of your GCP Dashboard.
|
||||
|
||||
Given it’s your first time setting up Coder, it may give an error that will look like the following:
|
||||
|
||||
<img src="../images/quickstart/google-cloud-platform/gcp7.png">
|
||||
|
||||
In the error message will be a link. In this case, the URL is `https://console.developes.google.com/apis/api/iam.googles.com/overview:?project=1073148106645`. Copy the respective URL from your error message, and visit it via your browser. It may ask you to enable `Identity and Access Management (IAM) API`.
|
||||
In the error message will be a link. In this case, the URL is `https://console.developes.google.com/apis/api/iam.googles.com/overview:?project=1073148106645`. Copy the respective URL from your error message, and visit it via your browser. It may ask you to enable `Identity and Access Management (IAM) API`.
|
||||
|
||||
Click `enable` and wait as the API initializes for your account.
|
||||
Click `enable` and wait as the API initializes for your account.
|
||||
|
||||
Once initialized, click create credentials in the upper right-hand corner. Select the `Compute Engine API` from the dropdown, and select `Application Data` under `What data will you be accessing?`. In addition, select `Yes, I’m using one or more` under `Are you planning on using this API with Compute Engine, Kubernetes Engine, App Engine, or Cloud Functions?`.
|
||||
|
||||
<img src="../images/quickstart/google-cloud-platform/gcp8.png">
|
||||
|
||||
Back in your GCP terminal, run the `coder templates create` one more time.
|
||||
Back in your GCP terminal, run the `coder templates create` one more time.
|
||||
|
||||
Congrats! You can now create new Linux-based workspaces that use Google Cloud Platform. Go onto your Coder dashboard, build your workspace, and get started coding!
|
||||
|
||||
|
@ -343,7 +343,7 @@ Template permissions can be used to give users and groups access to specific tem
|
||||
|
||||
## Community Templates
|
||||
|
||||
You can see a list of community templates by our users [here](https://github.com/coder/coder/blob/main/examples/templates/community-templates.md).
|
||||
You can see a list of community templates by our users [here](https://github.com/coder/coder/blob/main/examples/templates/community-templates.md).
|
||||
|
||||
## Next Steps
|
||||
|
||||
|
10
docs/templates/resource-persistence.md
vendored
10
docs/templates/resource-persistence.md
vendored
@ -1,6 +1,6 @@
|
||||
# Resource Persistence
|
||||
|
||||
Coder templates have full control over workspace ephemerality. In a
|
||||
Coder templates have full control over workspace ephemerality. In a
|
||||
completely ephemeral workspace, there are zero resources in the On state. In
|
||||
a completely persistent workspace, there is no difference between the Off and
|
||||
On states.
|
||||
@ -46,11 +46,12 @@ resource "docker_volume" "home_volume" {
|
||||
|
||||
Because we depend on `coder_workspace.me.owner`, if the owner changes their
|
||||
username, Terraform would recreate the volume (wiping its data!) the next
|
||||
time the workspace restarts.
|
||||
time the workspace restarts.
|
||||
|
||||
Therefore, persistent resource names must only depend on immutable IDs such as:
|
||||
* `coder_workspace.me.owner_id`
|
||||
* `coder_workspace.me.id`
|
||||
|
||||
- `coder_workspace.me.owner_id`
|
||||
- `coder_workspace.me.id`
|
||||
|
||||
```hcl
|
||||
data "coder_workspace" "me" {
|
||||
@ -64,6 +65,7 @@ resource "docker_volume" "home_volume" {
|
||||
```
|
||||
|
||||
## 🛡 Bulletproofing
|
||||
|
||||
Even if our persistent resource depends exclusively on static IDs, a change to
|
||||
the `name` format or other attributes would cause Terraform to rebuild the resource.
|
||||
|
||||
|
@ -92,5 +92,6 @@ Coder stores macOS and Linux logs at the following locations:
|
||||
---
|
||||
|
||||
## Up next
|
||||
|
||||
- Learn about how to personalize your workspace with [Dotfiles](./dotfiles.md)
|
||||
- Learn about using [IDEs](./ides.md)
|
||||
|
Reference in New Issue
Block a user