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:
Marcin Tojek 2022-12-05 12:21:09 +01:00 committed by GitHub
parent b46035823e
commit cec667d309
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 143 additions and 149 deletions

View File

@ -1,4 +1,5 @@
# Adopters
# Adopters
[!["Join us on
Discord"](https://img.shields.io/badge/join-us%20on%20Discord-gray.svg?longCache=true&logo=discord&colorB=green)](https://coder.com/chat?utm_source=github.com/coder/coder&utm_medium=github&utm_campaign=adopters.md) [![Twitter
Follow](https://img.shields.io/twitter/follow/coderhq?label=%40coderhq&style=social)](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. |

View File

@ -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

View File

@ -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 |
---

View File

@ -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

View File

@ -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)

View File

@ -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">

View File

@ -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)

View File

@ -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'. -->

View File

@ -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.

View File

@ -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`.

View File

@ -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

View File

@ -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).

View File

@ -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)

View File

@ -168,7 +168,6 @@ resource "coder_app" "jupyter" {
![JupyterLab in Coder](../images/jupyter-on-docker.png)
### RStudio
Configure your agent and `coder_app` like so to use RStudio. Notice the

View File

@ -1,9 +1,5 @@
{
"versions": [
"main",
"v0.8.1",
"v0.7.12"
],
"versions": ["main", "v0.8.1", "v0.7.12"],
"routes": [
{
"title": "About",

View File

@ -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

View File

@ -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 youre 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. Youll 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. Youll 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 its 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, Im 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!

View File

@ -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

View File

@ -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.

View File

@ -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)