diff --git a/docs/README.md b/docs/README.md index 8a1a09828b..ad7b93102e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -130,7 +130,7 @@ For workspaces, this means admins can: ## Pricing Coder is free and open source under the -[GNU Affero General Public License v3.0](https://github.com/coder/coder/blob/main/LICENSE). +[GNU Affero General Public License v3.0](../LICENSE). All developer productivity features are included in the open source version. A [Premium license](https://coder.com/pricing#compare-plans) is available for enhanced support and custom deployments. diff --git a/docs/about/contributing/CONTRIBUTING.md b/docs/about/contributing/CONTRIBUTING.md index 97d1a82f95..2df7097b69 100644 --- a/docs/about/contributing/CONTRIBUTING.md +++ b/docs/about/contributing/CONTRIBUTING.md @@ -4,7 +4,7 @@
-To get started with Coder, the easiest way to set up the required environment is to use the provided [Nix environment](https://github.com/coder/coder/tree/main/nix). +To get started with Coder, the easiest way to set up the required environment is to use the provided [Nix environment](../../../flake.nix). Learn more [how Nix works](https://nixos.org/guides/how-nix-works). ### Nix @@ -56,7 +56,7 @@ Learn more [how Nix works](https://nixos.org/guides/how-nix-works). ### Without Nix -If you're not using the Nix environment, you can launch a local [DevContainer](https://github.com/coder/coder/tree/main/.devcontainer) to get a fully configured development environment. +If you're not using the Nix environment, you can launch a local [DevContainer](../../../.devcontainer) to get a fully configured development environment. DevContainers are supported in tools like **VS Code** and **GitHub Codespaces**, and come preloaded with all required dependencies: Docker, Go, Node.js with `pnpm`, `mise`, and `make`. @@ -114,7 +114,7 @@ the Makefile trigger the full targets as before. ./scripts/coder-dev.sh list ``` - This should return an empty list of workspaces. If you encounter an error, review the output from the [develop.sh](https://github.com/coder/coder/blob/main/scripts/develop.sh) script for issues. + This should return an empty list of workspaces. If you encounter an error, review the output from the [develop.sh](../../../scripts/develop.sh) script for issues. > [!NOTE] > `coder-dev.sh` is a helper script that behaves like the regular coder CLI, but uses the binary built from your local source and shares the same configuration directory set up by `develop.sh`. This ensures your local changes are reflected when testing. @@ -212,7 +212,7 @@ be applied selectively or to discourage anyone from contributing. ## Releases Coder releases are managed entirely through the -[`release.yaml`](https://github.com/coder/coder/blob/main/.github/workflows/release.yaml) +[`release.yaml`](../../../.github/workflows/release.yaml) GitHub Actions workflow, triggered manually via "Run workflow" in the Actions tab. Release notes are automatically generated from commit titles and PR metadata. @@ -293,7 +293,7 @@ changes are within that directory. If changes span multiple top-level directories, omit the scope. A good rule of thumb for writing good commit messages is to recite: -[If applied, this commit will ...](https://reflectoring.io/meaningful-commit-messages/). +[If applied, this commit will ...](https://cbea.ms/git-commit/). **Note:** We lint PR titles to ensure they follow the Conventional Commits specification, however, it's still possible to merge PRs on GitHub with a badly @@ -304,7 +304,7 @@ to use the original commit title instead of the PR title. When a merged PR on `main` should also ship in older releases, add the `backport` label to the PR. The -[backport workflow](https://github.com/coder/coder/blob/main/.github/workflows/backport.yaml) +[backport workflow](../../../.github/workflows/backport.yaml) will automatically detect the latest three `release/*` branches, cherry-pick the merge commit onto each one, and open PRs for review. diff --git a/docs/about/contributing/backend.md b/docs/about/contributing/backend.md index 3797a86763..034f95e8a5 100644 --- a/docs/about/contributing/backend.md +++ b/docs/about/contributing/backend.md @@ -49,78 +49,78 @@ Coder's backend is built using a collection of robust, modern Go libraries and i The Coder backend is organized into multiple packages and directories, each with a specific purpose. Here's a high-level overview of the most important ones: -* [agent](https://github.com/coder/coder/tree/main/agent): core logic of a workspace agent, supports DevContainers, remote SSH, startup/shutdown script execution. Protobuf definitions for DRPC communication with `coderd` are kept in [proto](https://github.com/coder/coder/tree/main/agent/proto). -* [cli](https://github.com/coder/coder/tree/main/cli): CLI interface for `coder` command built on [coder/serpent](https://github.com/coder/serpent). Input controls are defined in [cliui](https://github.com/coder/coder/tree/main/cli/cliui), and [testdata](https://github.com/coder/coder/tree/main/cli/testdata) contains golden files for common CLI calls -* [cmd](https://github.com/coder/coder/tree/main/cmd): entry points for CLI and services, including `coderd` -* [coderd](https://github.com/coder/coder/tree/main/coderd): the main API server implementation with [chi](https://github.com/go-chi/chi) endpoints - * [audit](https://github.com/coder/coder/tree/main/coderd/audit): audit log logic, defines target resources, actions and extra fields - * [autobuild](https://github.com/coder/coder/tree/main/coderd/autobuild): core logic of the workspace autobuild executor, periodically evaluates workspaces for next transition actions - * [httpmw](https://github.com/coder/coder/tree/main/coderd/httpmw): HTTP middlewares mainly used to extract parameters from HTTP requests (e.g. current user, template, workspace, OAuth2 account, etc.) and storing them in the request context - * [prebuilds](https://github.com/coder/coder/tree/main/coderd/prebuilds): common interfaces for prebuild workspaces, feature implementation is in [enterprise/prebuilds](https://github.com/coder/coder/tree/main/enterprise/coderd/prebuilds) - * [provisionerdserver](https://github.com/coder/coder/tree/main/coderd/provisionerdserver): DRPC server for [provisionerd](https://github.com/coder/coder/tree/main/provisionerd) instances, used to validate and extract Terraform data and resources, and store them in the database. - * [rbac](https://github.com/coder/coder/tree/main/coderd/rbac): RBAC engine for `coderd`, including authz layer, role definitions and custom roles. Built on top of [Open Policy Agent](https://github.com/open-policy-agent/opa) and Rego policies. - * [telemetry](https://github.com/coder/coder/tree/main/coderd/telemetry): records a snapshot with various workspace data for telemetry purposes. Once recorded the reporter sends it to the configured telemetry endpoint. - * [tracing](https://github.com/coder/coder/tree/main/coderd/tracing): extends telemetry with tracing data consistent with [OpenTelemetry specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md) - * [workspaceapps](https://github.com/coder/coder/tree/main/coderd/workspaceapps): core logic of a secure proxy to expose workspace apps deployed in a workspace - * [wsbuilder](https://github.com/coder/coder/tree/main/coderd/wsbuilder): wrapper for business logic of creating a workspace build. It encapsulates all database operations required to insert a build record in a transaction. -* [database](https://github.com/coder/coder/tree/main/coderd/database): schema migrations, query logic, in-memory database, etc. - * [db2sdk](https://github.com/coder/coder/tree/main/coderd/database/db2sdk): translation between database structures and [codersdk](https://github.com/coder/coder/tree/main/codersdk) objects used by coderd API. - * [dbauthz](https://github.com/coder/coder/tree/main/coderd/database/dbauthz): AuthZ wrappers for database queries, ideally, every query should verify first if the accessor is eligible to see the query results. - * [dbfake](https://github.com/coder/coder/tree/main/coderd/database/dbfake): helper functions to quickly prepare the initial database state for testing purposes (e.g. create N healthy workspaces and templates), operates on higher level than [dbgen](https://github.com/coder/coder/tree/main/coderd/database/dbgen) - * [dbgen](https://github.com/coder/coder/tree/main/coderd/database/dbgen): helper functions to insert raw records to the database store, used for testing purposes - * [dbmock](https://github.com/coder/coder/tree/main/coderd/database/dbmock): a store wrapper for database queries, useful to verify if the function has been called, used for testing purposes - * [dbpurge](https://github.com/coder/coder/tree/main/coderd/database/dbpurge): simple wrapper for periodic database cleanup operations - * [migrations](https://github.com/coder/coder/tree/main/coderd/database/migrations): an ordered list of up/down database migrations, use `./create_migration.sh my_migration_name` to modify the database schema - * [pubsub](https://github.com/coder/coder/tree/main/coderd/database/pubsub): PubSub implementation using PostgreSQL and in-memory drop-in replacement - * [queries](https://github.com/coder/coder/tree/main/coderd/database/queries): contains SQL files with queries, `sqlc` compiles them to [Go functions](https://github.com/coder/coder/blob/main/coderd/database/queries.sql.go) - * [sqlc.yaml](https://github.com/coder/coder/tree/main/coderd/database/sqlc.yaml): defines mappings between SQL types and custom Go structures -* [codersdk](https://github.com/coder/coder/tree/main/codersdk): user-facing API entities used by CLI and site to communicate with `coderd` endpoints -* [dogfood](https://github.com/coder/coder/tree/main/dogfood): Terraform definition of the dogfood cluster deployment -* [enterprise](https://github.com/coder/coder/tree/main/enterprise): enterprise-only features, notice similar file structure to repository root (`audit`, `cli`, `cmd`, `coderd`, etc.) - * [coderd](https://github.com/coder/coder/tree/main/enterprise/coderd) - * [prebuilds](https://github.com/coder/coder/tree/main/enterprise/coderd/prebuilds): core logic of prebuilt workspaces - reconciliation loop -* [provisioner](https://github.com/coder/coder/tree/main/provisioner): supported implementation of provisioners, Terraform and "echo" (for testing purposes) -* [provisionerd](https://github.com/coder/coder/tree/main/provisionerd): core logic of provisioner runner to interact provisionerd server, depending on a job acquired it calls template import, dry run or a workspace build -* [pty](https://github.com/coder/coder/tree/main/pty): terminal emulation for agent shell -* [support](https://github.com/coder/coder/tree/main/support): compile a support bundle with diagnostics -* [tailnet](https://github.com/coder/coder/tree/main/tailnet): core logic of Tailnet controller to maintain DERP maps, coordinate connections with agents and peers -* [vpn](https://github.com/coder/coder/tree/main/vpn): Coder Desktop (VPN) and tunneling components +* [agent](../../../agent): core logic of a workspace agent, supports DevContainers, remote SSH, startup/shutdown script execution. Protobuf definitions for DRPC communication with `coderd` are kept in [proto](../../../agent/proto). +* [cli](../../../cli): CLI interface for `coder` command built on [coder/serpent](https://github.com/coder/serpent). Input controls are defined in [cliui](../../../cli/cliui), and [testdata](../../../cli/testdata) contains golden files for common CLI calls +* [cmd](../../../cmd): entry points for CLI and services, including `coderd` +* [coderd](../../../coderd): the main API server implementation with [chi](https://github.com/go-chi/chi) endpoints + * [audit](../../../coderd/audit): audit log logic, defines target resources, actions and extra fields + * [autobuild](../../../coderd/autobuild): core logic of the workspace autobuild executor, periodically evaluates workspaces for next transition actions + * [httpmw](../../../coderd/httpmw): HTTP middlewares mainly used to extract parameters from HTTP requests (e.g. current user, template, workspace, OAuth2 account, etc.) and storing them in the request context + * [prebuilds](../../../coderd/prebuilds): common interfaces for prebuild workspaces, feature implementation is in [enterprise/prebuilds](../../../enterprise/coderd/prebuilds) + * [provisionerdserver](../../../coderd/provisionerdserver): DRPC server for [provisionerd](../../../provisionerd) instances, used to validate and extract Terraform data and resources, and store them in the database. + * [rbac](../../../coderd/rbac): RBAC engine for `coderd`, including authz layer, role definitions and custom roles. Built on top of [Open Policy Agent](https://github.com/open-policy-agent/opa) and Rego policies. + * [telemetry](../../../coderd/telemetry): records a snapshot with various workspace data for telemetry purposes. Once recorded the reporter sends it to the configured telemetry endpoint. + * [tracing](../../../coderd/tracing): extends telemetry with tracing data consistent with [OpenTelemetry specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md) + * [workspaceapps](../../../coderd/workspaceapps): core logic of a secure proxy to expose workspace apps deployed in a workspace + * [wsbuilder](../../../coderd/wsbuilder): wrapper for business logic of creating a workspace build. It encapsulates all database operations required to insert a build record in a transaction. +* [database](../../../coderd/database): schema migrations, query logic, in-memory database, etc. + * [db2sdk](../../../coderd/database/db2sdk): translation between database structures and [codersdk](../../../codersdk) objects used by coderd API. + * [dbauthz](../../../coderd/database/dbauthz): AuthZ wrappers for database queries, ideally, every query should verify first if the accessor is eligible to see the query results. + * [dbfake](../../../coderd/database/dbfake): helper functions to quickly prepare the initial database state for testing purposes (e.g. create N healthy workspaces and templates), operates on higher level than [dbgen](../../../coderd/database/dbgen) + * [dbgen](../../../coderd/database/dbgen): helper functions to insert raw records to the database store, used for testing purposes + * [dbmock](../../../coderd/database/dbmock): a store wrapper for database queries, useful to verify if the function has been called, used for testing purposes + * [dbpurge](../../../coderd/database/dbpurge): simple wrapper for periodic database cleanup operations + * [migrations](../../../coderd/database/migrations): an ordered list of up/down database migrations, use `./create_migration.sh my_migration_name` to modify the database schema + * [pubsub](../../../coderd/database/pubsub): PubSub implementation using PostgreSQL and in-memory drop-in replacement + * [queries](../../../coderd/database/queries): contains SQL files with queries, `sqlc` compiles them to [Go functions](../../../coderd/database/queries.sql.go) + * [sqlc.yaml](../../../coderd/database/sqlc.yaml): defines mappings between SQL types and custom Go structures +* [codersdk](../../../codersdk): user-facing API entities used by CLI and site to communicate with `coderd` endpoints +* [dogfood](../../../dogfood): Terraform definition of the dogfood cluster deployment +* [enterprise](../../../enterprise): enterprise-only features, notice similar file structure to repository root (`audit`, `cli`, `cmd`, `coderd`, etc.) + * [coderd](../../../enterprise/coderd) + * [prebuilds](../../../enterprise/coderd/prebuilds): core logic of prebuilt workspaces - reconciliation loop +* [provisioner](../../../provisioner): supported implementation of provisioners, Terraform and "echo" (for testing purposes) +* [provisionerd](../../../provisionerd): core logic of provisioner runner to interact provisionerd server, depending on a job acquired it calls template import, dry run or a workspace build +* [pty](../../../pty): terminal emulation for agent shell +* [support](../../../support): compile a support bundle with diagnostics +* [tailnet](../../../tailnet): core logic of Tailnet controller to maintain DERP maps, coordinate connections with agents and peers +* [vpn](../../../vpn): Coder Desktop (VPN) and tunneling components ## Testing The Coder backend includes a rich suite of unit and end-to-end tests. A variety of helper utilities are used throughout the codebase to make testing easier, more consistent, and closer to real behavior. -### [clitest](https://github.com/coder/coder/tree/main/cli/clitest) +### [clitest](../../../cli/clitest) * Spawns an in-memory `serpent.Command` instance for unit testing * Configures an authorized `codersdk` client * Once a `serpent.Invocation` is created, tests can execute commands as if invoked by a real user -### [ptytest](https://github.com/coder/coder/tree/main/pty/ptytest) +### [ptytest](../../../pty/ptytest) * `ptytest` attaches to a `serpent.Invocation` and simulates TTY input/output * `pty` provides matchers and "write" operations for interacting with pseudo-terminals -### [coderdtest](https://github.com/coder/coder/tree/main/coderd/coderdtest) +### [coderdtest](../../../coderd/coderdtest) * Provides shortcuts to spin up an in-memory `coderd` instance * Can start an embedded provisioner daemon * Supports multi-user testing via `CreateFirstUser` and `CreateAnotherUser` * Includes "busy wait" helpers like `AwaitTemplateVersionJobCompleted` -* [oidctest](https://github.com/coder/coder/tree/main/coderd/coderdtest/oidctest) can start a fake OIDC provider +* [oidctest](../../../coderd/coderdtest/oidctest) can start a fake OIDC provider -### [testutil](https://github.com/coder/coder/tree/main/testutil) +### [testutil](../../../testutil) * General-purpose testing utilities, including: - * [chan.go](https://github.com/coder/coder/blob/main/testutil/chan.go): helpers for sending/receiving objects from channels (`TrySend`, `RequireReceive`, etc.) - * [duration.go](https://github.com/coder/coder/blob/main/testutil/duration.go): set timeouts for test execution - * [eventually.go](https://github.com/coder/coder/blob/main/testutil/eventually.go): repeatedly poll for a condition using a ticker - * [port.go](https://github.com/coder/coder/blob/main/testutil/port.go): select a free random port - * [prometheus.go](https://github.com/coder/coder/blob/main/testutil/prometheus.go): validate Prometheus metrics with expected values - * [pty.go](https://github.com/coder/coder/blob/main/testutil/pty.go): read output from a terminal until a condition is met - * [wait_buffer.go](https://github.com/coder/coder/blob/main/testutil/wait_buffer.go): thread-safe `io.Writer` that blocks until accumulated output contains a signal (`WaitFor`, `WaitForNth`, `WaitForCond`) + * [chan.go](../../../testutil/chan.go): helpers for sending/receiving objects from channels (`TrySend`, `RequireReceive`, etc.) + * [duration.go](../../../testutil/duration.go): set timeouts for test execution + * [eventually.go](../../../testutil/eventually.go): repeatedly poll for a condition using a ticker + * [port.go](../../../testutil/port.go): select a free random port + * [prometheus.go](../../../testutil/prometheus.go): validate Prometheus metrics with expected values + * [pty.go](../../../testutil/pty.go): read output from a terminal until a condition is met + * [wait_buffer.go](../../../testutil/wait_buffer.go): thread-safe `io.Writer` that blocks until accumulated output contains a signal (`WaitFor`, `WaitForNth`, `WaitForCond`) -### [dbtestutil](https://github.com/coder/coder/tree/main/coderd/database/dbtestutil) +### [dbtestutil](../../../coderd/database/dbtestutil) * Allows choosing between real and in-memory database backends for tests * `WillUsePostgres` is useful for skipping tests in CI environments that don't run Postgres @@ -169,9 +169,9 @@ There are two types of fixtures that are used to test that migrations don't break existing Coder deployments: * Partial fixtures - [`migrations/testdata/fixtures`](https://github.com/coder/coder/tree/main/coderd/database/migrations/testdata/fixtures) + [`migrations/testdata/fixtures`](../../../coderd/database/migrations/testdata/fixtures) * Full database dumps - [`migrations/testdata/full_dumps`](https://github.com/coder/coder/tree/main/coderd/database/migrations/testdata/full_dumps) + [`migrations/testdata/full_dumps`](../../../coderd/database/migrations/testdata/full_dumps) Both types behave like database migrations (they also [`migrate`](https://github.com/golang-migrate/migrate)). Their behavior mirrors @@ -194,7 +194,7 @@ To add a new partial fixture, run the following command: ``` Then add some queries to insert data and commit the file to the repo. See -[`000024_example.up.sql`](https://github.com/coder/coder/blob/main/coderd/database/migrations/testdata/fixtures/000024_example.up.sql) +[`000024_example.up.sql`](../../../coderd/database/migrations/testdata/fixtures/000024_example.up.sql) for an example. To create a full dump, run a fully fledged Coder deployment and use it to diff --git a/docs/admin/infrastructure/scale-utility.md b/docs/admin/infrastructure/scale-utility.md index 6945b54bf5..b4e0f91376 100644 --- a/docs/admin/infrastructure/scale-utility.md +++ b/docs/admin/infrastructure/scale-utility.md @@ -4,7 +4,7 @@ We scale-test Coder with a built-in utility that can be used in your environment for insights into how Coder scales with your infrastructure. For scale-testing Kubernetes clusters we recommend that you install and use the dedicated Coder template, -[scaletest-runner](https://github.com/coder/coder/tree/main/scaletest/templates/scaletest-runner). +[scaletest-runner](../../../scaletest/templates/scaletest-runner). Learn more about [Coder’s architecture](./architecture.md) and our [scale-testing methodology](./scale-testing.md). @@ -138,7 +138,7 @@ This will delete all workspaces and users with the prefix `scaletest-`. ## Scale testing template Consider using a dedicated -[scaletest-runner](https://github.com/coder/coder/tree/main/scaletest/templates/scaletest-runner) +[scaletest-runner](../../../scaletest/templates/scaletest-runner) template alongside the CLI utility for testing large-scale Kubernetes clusters. The template deploys a main workspace with scripts used to orchestrate Coder, @@ -177,7 +177,7 @@ Scale testing concurrency can be controlled with the following parameters: It is recommended to learn how to operate the _scaletest-runner_ before running it against the staging cluster (or production at your own risk). Coder provides different -[workspace configurations](https://github.com/coder/coder/tree/main/scaletest/templates) +[workspace configurations](../../../scaletest/templates) that operators can deploy depending on the traffic projections. There are a few cluster options available: @@ -205,7 +205,7 @@ Use this template variant to verify limits of the cluster performance. During scale tests, operators can monitor progress using a Grafana dashboard. Coder offers a comprehensive overview -[dashboard](https://github.com/coder/coder/blob/main/scaletest/scaletest_dashboard.json) +[dashboard](../../../scaletest/scaletest_dashboard.json) that can seamlessly integrate into the internal Grafana deployment. This dashboard provides insights into various aspects, including: diff --git a/docs/admin/infrastructure/validated-architectures/index.md b/docs/admin/infrastructure/validated-architectures/index.md index b2426e2d3f..9fa4968bf8 100644 --- a/docs/admin/infrastructure/validated-architectures/index.md +++ b/docs/admin/infrastructure/validated-architectures/index.md @@ -157,7 +157,7 @@ to schedule the control plane pods on the appropriate node group. Coder workspaces can be deployed either as Pods or Deployments in Kubernetes. See our -[example Kubernetes workspace template](https://github.com/coder/coder/tree/main/examples/templates/kubernetes). +[example Kubernetes workspace template](../../../../examples/templates/kubernetes). Configure the workspace node group to be auto-scaling, to dynamically allocate compute as users start/stop workspaces at the beginning and end of their day. Set nodeSelectors, affinities, and tolerations in Coder templates to assign @@ -378,7 +378,7 @@ could affect workspace users experience once the platform is live. ### Helm Chart Configuration 1. Reference our - [Helm chart values file](https://github.com/coder/coder/blob/main/helm/coder/values.yaml) + [Helm chart values file](../../../../helm/coder/values.yaml) and identify the required values for deployment. 1. Create a `values.yaml` and add it to your version control system. 1. Determine the necessary environment variables. Here is the diff --git a/docs/admin/integrations/devcontainers/envbuilder/add-envbuilder.md b/docs/admin/integrations/devcontainers/envbuilder/add-envbuilder.md index fb065d0958..326e0857b2 100644 --- a/docs/admin/integrations/devcontainers/envbuilder/add-envbuilder.md +++ b/docs/admin/integrations/devcontainers/envbuilder/add-envbuilder.md @@ -16,7 +16,7 @@ choose a template from the 1. In the Coder dashboard, select **Templates** then **Create Template**. 1. Use a - [starter template](https://github.com/coder/coder/tree/main/examples/templates) + [starter template](../../../../../examples/templates) or create a new template: - Starter template: @@ -119,12 +119,12 @@ their development environments: ## Example templates -| Template | Description | -|---------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [Docker dev containers](https://github.com/coder/coder/tree/main/examples/templates/docker-devcontainer) | Docker provisions a development container. | -| [Kubernetes dev containers](https://github.com/coder/coder/tree/main/examples/templates/kubernetes-devcontainer) | Provisions a development container on the Kubernetes cluster. | -| [Google Compute Engine dev container](https://github.com/coder/coder/tree/main/examples/templates/gcp-devcontainer) | Runs a development container inside a single GCP instance. It also mounts the Docker socket from the VM inside the container to enable Docker inside the workspace. | -| [AWS EC2 dev container](https://github.com/coder/coder/tree/main/examples/templates/aws-devcontainer) | Runs a development container inside a single EC2 instance. It also mounts the Docker socket from the VM inside the container to enable Docker inside the workspace. | +| Template | Description | +|-------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [Docker dev containers](../../../../../examples/templates/docker-devcontainer) | Docker provisions a development container. | +| [Kubernetes dev containers](../../../../../examples/templates/kubernetes-devcontainer) | Provisions a development container on the Kubernetes cluster. | +| [Google Compute Engine dev container](../../../../../examples/templates/gcp-devcontainer) | Runs a development container inside a single GCP instance. It also mounts the Docker socket from the VM inside the container to enable Docker inside the workspace. | +| [AWS EC2 dev container](../../../../../examples/templates/aws-devcontainer) | Runs a development container inside a single EC2 instance. It also mounts the Docker socket from the VM inside the container to enable Docker inside the workspace. | Your template can prompt the user for a repo URL with [parameters](../../../templates/extending-templates/parameters.md): diff --git a/docs/admin/integrations/devcontainers/integration.md b/docs/admin/integrations/devcontainers/integration.md index 392eb02150..1b37c1bc52 100644 --- a/docs/admin/integrations/devcontainers/integration.md +++ b/docs/admin/integrations/devcontainers/integration.md @@ -305,7 +305,7 @@ With autostart enabled: ## Example Template -The [Docker (Dev Containers)](https://github.com/coder/coder/tree/main/examples/templates/docker-devcontainer) +The [Docker (Dev Containers)](../../../../examples/templates/docker-devcontainer) starter template demonstrates Dev Containers integration using Docker-in-Docker. It includes the `devcontainers-cli` module, `git-clone` module, and the `coder_devcontainer` resource. diff --git a/docs/admin/integrations/jfrog-artifactory.md b/docs/admin/integrations/jfrog-artifactory.md index 06f0bc670f..5dccd8d55e 100644 --- a/docs/admin/integrations/jfrog-artifactory.md +++ b/docs/admin/integrations/jfrog-artifactory.md @@ -126,7 +126,7 @@ To set this up, follow these steps: > [!NOTE] > The admin-level access token is used to provision user tokens and is never exposed to developers or stored in workspaces. -If you don't want to use the official modules, you can read through the [example template](https://github.com/coder/coder/tree/main/examples/jfrog/docker), which uses Docker as the underlying compute. The +If you don't want to use the official modules, you can read through the [example template](../../../examples/jfrog/docker), which uses Docker as the underlying compute. The same concepts apply to all compute types. ## Air-Gapped Deployments @@ -135,7 +135,7 @@ See the [air-gapped deployments](../templates/extending-templates/modules.md#off ## Next Steps -- See the [full example Docker template](https://github.com/coder/coder/tree/main/examples/jfrog/docker). +- See the [full example Docker template](../../../examples/jfrog/docker). - To serve extensions from your own VS Code Marketplace, check out [code-marketplace](https://github.com/coder/code-marketplace#artifactory-storage). diff --git a/docs/admin/integrations/multiple-kube-clusters.md b/docs/admin/integrations/multiple-kube-clusters.md index 4efa91f35a..4040ec3254 100644 --- a/docs/admin/integrations/multiple-kube-clusters.md +++ b/docs/admin/integrations/multiple-kube-clusters.md @@ -57,7 +57,7 @@ If you deployed Coder on a VM, copy the kubeconfig file to ### Create a Coder template You can start from our -[example template](https://github.com/coder/coder/tree/main/examples/templates/kubernetes). +[example template](../../../examples/templates/kubernetes). From there, add [template parameters](../templates/extending-templates/parameters.md) to allow developers to pick their desired cluster. @@ -158,7 +158,7 @@ rolebinding.rbac.authorization.k8s.io/coder-v2 created ### 2. Modify the Kubernetes template You can start from our -[example template](https://github.com/coder/coder/tree/main/examples/templates/kubernetes). +[example template](../../../examples/templates/kubernetes). ```tf variable "host" { diff --git a/docs/admin/integrations/oauth2-provider.md b/docs/admin/integrations/oauth2-provider.md index 7476b58681..910a6c31b4 100644 --- a/docs/admin/integrations/oauth2-provider.md +++ b/docs/admin/integrations/oauth2-provider.md @@ -239,7 +239,7 @@ eval $(./setup-test-app.sh) ./cleanup-test-app.sh ``` -For more details on testing, see the [OAuth2 test scripts README](https://github.com/coder/coder/blob/main/scripts/oauth2/README.md). +For more details on testing, see the [OAuth2 test scripts README](../../../scripts/oauth2/README.md). ## Common Issues diff --git a/docs/admin/integrations/opentofu.md b/docs/admin/integrations/opentofu.md index 02710d31fd..b35f105dd0 100644 --- a/docs/admin/integrations/opentofu.md +++ b/docs/admin/integrations/opentofu.md @@ -20,4 +20,4 @@ You can change your deployment custom Terraform binary as long as it is in `PATH` and is within the [supported versions](https://github.com/coder/coder/blob/f57ce97b5aadd825ddb9a9a129bb823a3725252b/provisioner/terraform/install.go#L22-L25). The hardcoded version check ensures compatibility with our -[example templates](https://github.com/coder/coder/tree/main/examples/templates). +[example templates](../../../examples/templates). diff --git a/docs/admin/integrations/prometheus.md b/docs/admin/integrations/prometheus.md index 8df2126633..bc49381ad6 100644 --- a/docs/admin/integrations/prometheus.md +++ b/docs/admin/integrations/prometheus.md @@ -30,7 +30,7 @@ coderd_api_active_users_duration_hour 0 ### Kubernetes deployment -The Prometheus endpoint can be enabled in the [Helm chart's](https://github.com/coder/coder/tree/main/helm) +The Prometheus endpoint can be enabled in the [Helm chart's](../../../helm) `values.yml` by setting `CODER_PROMETHEUS_ENABLE=true`. Once enabled, the environment variable `CODER_PROMETHEUS_ADDRESS` will be set by default to `0.0.0.0:2112`. A Service Endpoint will not be exposed; if you need to expose the Prometheus port on a Service, (for example, to use a diff --git a/docs/admin/networking/workspace-proxies.md b/docs/admin/networking/workspace-proxies.md index 5760b3e1a8..d6b6aa1ed1 100644 --- a/docs/admin/networking/workspace-proxies.md +++ b/docs/admin/networking/workspace-proxies.md @@ -178,7 +178,7 @@ regular Coder server. #### Docker Compose Change the provided -[`compose.yml`](https://github.com/coder/coder/blob/main/compose.yaml) +[`compose.yml`](../../../compose.yaml) file to include a custom entrypoint: ```diff diff --git a/docs/admin/provisioners/index.md b/docs/admin/provisioners/index.md index ac8cbfb48b..9f3bfb58ae 100644 --- a/docs/admin/provisioners/index.md +++ b/docs/admin/provisioners/index.md @@ -162,7 +162,7 @@ This can also be done in the UI when building a template: ![template tags](../../images/admin/provisioner-tags.png) Alternatively, a template can target a provisioner via -[workspace tags](https://github.com/coder/coder/tree/main/examples/workspace-tags) +[workspace tags](../../../examples/workspace-tags) inside the Terraform. See the [workspace tags documentation](../../admin/templates/extending-templates/workspace-tags.md) for more information. @@ -332,7 +332,7 @@ will use in concert with the Helm chart for deploying the Coder server. created. The set of tags is inferred automatically from the provisioner key. > Refer to the - > [values.yaml](https://github.com/coder/coder/blob/main/helm/provisioner/values.yaml) + > [values.yaml](../../../helm/provisioner/values.yaml) > file for the coder-provisioner chart for information on what values can be > specified. diff --git a/docs/admin/security/index.md b/docs/admin/security/index.md index f6684519e8..02648009a1 100644 --- a/docs/admin/security/index.md +++ b/docs/admin/security/index.md @@ -9,7 +9,7 @@ For other security tips, visit our guide to > [!CAUTION] > If you discover a vulnerability in Coder, please do not hesitate to report it -> to us by following the [security policy](https://github.com/coder/coder/blob/main/SECURITY.md). +> to us by following the [security policy](../../../SECURITY.md). Security advisories are published on the [GitHub Security Advisories](https://github.com/coder/coder/security/advisories) diff --git a/docs/admin/setup/index.md b/docs/admin/setup/index.md index ea36467cfa..6669a4debe 100644 --- a/docs/admin/setup/index.md +++ b/docs/admin/setup/index.md @@ -56,7 +56,7 @@ If you are providing TLS certificates directly to the Coder server, either 1. Use a single certificate and key for both the root and wildcard domains. 1. Configure multiple certificates and keys via - [`coder.tls.secretNames`](https://github.com/coder/coder/blob/main/helm/coder/values.yaml) + [`coder.tls.secretNames`](../../../helm/coder/values.yaml) in the Helm Chart, or [`--tls-cert-file`](../../reference/cli/server.md#--tls-cert-file) and [`--tls-key-file`](../../reference/cli/server.md#--tls-key-file) command line diff --git a/docs/admin/setup/telemetry.md b/docs/admin/setup/telemetry.md index e03b353a04..1f0709c75d 100644 --- a/docs/admin/setup/telemetry.md +++ b/docs/admin/setup/telemetry.md @@ -10,7 +10,7 @@ the data. ## What we collect You can find a full list of the data we collect in our source code -[here](https://github.com/coder/coder/blob/main/coderd/telemetry/telemetry.go). +[here](../../../coderd/telemetry/telemetry.go). In particular, look at the struct types such as `Template` or `Workspace`. As a rule, we **do not collect** the following types of information: diff --git a/docs/admin/templates/extending-templates/docker-in-workspaces.md b/docs/admin/templates/extending-templates/docker-in-workspaces.md index 2e2725af4f..3cfb0432e0 100644 --- a/docs/admin/templates/extending-templates/docker-in-workspaces.md +++ b/docs/admin/templates/extending-templates/docker-in-workspaces.md @@ -142,7 +142,7 @@ nodes. Refer to sysbox's to ensure your nodes are compliant. To get started with `envbox` check out the -[starter template](https://github.com/coder/coder/tree/main/examples/templates/kubernetes-envbox) +[starter template](../../../../examples/templates/kubernetes-envbox) or visit the [repo](https://github.com/coder/envbox). ### Authenticating with a Private Registry diff --git a/docs/admin/templates/extending-templates/external-auth.md b/docs/admin/templates/extending-templates/external-auth.md index 5dc115ed7b..62e05af10d 100644 --- a/docs/admin/templates/extending-templates/external-auth.md +++ b/docs/admin/templates/extending-templates/external-auth.md @@ -17,7 +17,7 @@ authenticate. After that, Coder will store and refresh tokens for future operations. diff --git a/docs/admin/templates/extending-templates/icons.md b/docs/admin/templates/extending-templates/icons.md index 2b4e2f92ec..7de8e4a071 100644 --- a/docs/admin/templates/extending-templates/icons.md +++ b/docs/admin/templates/extending-templates/icons.md @@ -54,7 +54,7 @@ come bundled with your Coder deployment. Coder is distributed with a bundle of icons for popular cloud providers and programming languages. You can see all of the icons (or suggest new ones) in our repository on -[GitHub](https://github.com/coder/coder/tree/main/site/static/icon). +[GitHub](../../../../site/static/icon). You can also view the entire list, with search and previews, by navigating to `/icons` on your Coder deployment (for example, diff --git a/docs/admin/templates/extending-templates/index.md b/docs/admin/templates/extending-templates/index.md index 7a3615da6e..d7864e7d30 100644 --- a/docs/admin/templates/extending-templates/index.md +++ b/docs/admin/templates/extending-templates/index.md @@ -6,7 +6,7 @@ templates using the [Coder Terraform provider](https://registry.terraform.io/providers/coder/coder/latest/docs). The provider docs will provide code examples for usage; alternatively, you can view our -[example templates](https://github.com/coder/coder/tree/main/examples/templates) +[example templates](../../../../examples/templates) to get started. ## Workspace agents diff --git a/docs/admin/templates/extending-templates/modules.md b/docs/admin/templates/extending-templates/modules.md index ebd249f89b..0f79d1535e 100644 --- a/docs/admin/templates/extending-templates/modules.md +++ b/docs/admin/templates/extending-templates/modules.md @@ -122,9 +122,9 @@ Based on the instructions #### Example template We have an example template -[here](https://github.com/coder/coder/blob/main/examples/jfrog/remote/main.tf) +[here](../../../../examples/jfrog/remote/main.tf) that uses our -[JFrog Docker](https://github.com/coder/coder/blob/main/examples/jfrog/docker/main.tf) +[JFrog Docker](../../../../examples/jfrog/docker/main.tf) template as the underlying module. ### Private git repository diff --git a/docs/admin/templates/extending-templates/workspace-tags.md b/docs/admin/templates/extending-templates/workspace-tags.md index 279d01adcf..3511601761 100644 --- a/docs/admin/templates/extending-templates/workspace-tags.md +++ b/docs/admin/templates/extending-templates/workspace-tags.md @@ -37,7 +37,7 @@ data "coder_workspace_tags" "custom_workspace_tags" { `feature_cache_enabled` Review the -[full template example](https://github.com/coder/coder/tree/main/examples/workspace-tags) +[full template example](../../../../examples/workspace-tags) using `coder_workspace_tags` and `coder_parameter`s. ## How it Works diff --git a/docs/admin/templates/managing-templates/change-management.md b/docs/admin/templates/managing-templates/change-management.md index 3df808babf..d7aec85ed0 100644 --- a/docs/admin/templates/managing-templates/change-management.md +++ b/docs/admin/templates/managing-templates/change-management.md @@ -58,7 +58,7 @@ resource "coderd_template" "kubernetes" { ``` For an example, see how we push our development image and template -[with GitHub actions](https://github.com/coder/coder/blob/main/.github/workflows/dogfood.yaml). +[with GitHub actions](../../../../.github/workflows/dogfood.yaml). ## Coder CLI diff --git a/docs/admin/templates/managing-templates/image-management.md b/docs/admin/templates/managing-templates/image-management.md index 3794db4f11..0a7cca2d62 100644 --- a/docs/admin/templates/managing-templates/image-management.md +++ b/docs/admin/templates/managing-templates/image-management.md @@ -23,7 +23,7 @@ dependencies to work in your network and work with Coder. Here are some things to consider: - `curl`, `wget`, or `busybox` is required to download and run - [the agent](https://github.com/coder/coder/blob/main/provisionersdk/scripts/bootstrap_linux.sh) + [the agent](../../../../provisionersdk/scripts/bootstrap_linux.sh) - `git` is recommended so developers can clone repositories - If the Coder server is using a certificate from an internal certificate authority (CA), you'll need to add or mount these into your image diff --git a/docs/admin/templates/managing-templates/index.md b/docs/admin/templates/managing-templates/index.md index 5b90b8b7bc..cf04cf69d2 100644 --- a/docs/admin/templates/managing-templates/index.md +++ b/docs/admin/templates/managing-templates/index.md @@ -28,13 +28,13 @@ If you prefer to use Coder on the [command line](../../../reference/cli/index.md), `coder templates init`. Coder starter templates are also available on our -[GitHub repo](https://github.com/coder/coder/tree/main/examples/templates). +[GitHub repo](../../../../examples/templates). ## Community Templates As well as Coder's starter 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). +[here](../../../../examples/templates/community-templates.md). ## Editing templates diff --git a/docs/admin/templates/open-in-coder.md b/docs/admin/templates/open-in-coder.md index 0365075af7..b2ca526b06 100644 --- a/docs/admin/templates/open-in-coder.md +++ b/docs/admin/templates/open-in-coder.md @@ -4,7 +4,7 @@ You can embed an "Open in Coder" button into your git repos or internal wikis to let developers quickly launch a new workspace. diff --git a/docs/admin/templates/troubleshooting.md b/docs/admin/templates/troubleshooting.md index b439b3896d..147965ad9c 100644 --- a/docs/admin/templates/troubleshooting.md +++ b/docs/admin/templates/troubleshooting.md @@ -8,7 +8,7 @@ has failed or timed out. ## Agent connection issues If the agent is not connected, it means the agent or -[init script](https://github.com/coder/coder/tree/main/provisionersdk/scripts) +[init script](../../../provisionersdk/scripts) has failed on the resource. ```console diff --git a/docs/ai-coder/agent-firewall/index.md b/docs/ai-coder/agent-firewall/index.md index 257aa57cd8..ca410dceaa 100644 --- a/docs/ai-coder/agent-firewall/index.md +++ b/docs/ai-coder/agent-firewall/index.md @@ -84,7 +84,7 @@ For a basic recommendation of what to allow for agents, see the [Anthropic documentation on default allowed domains](https://code.claude.com/docs/en/claude-code-on-the-web#default-allowed-domains). For a comprehensive example of a production Agent Firewall configuration, see the -[Coder dogfood policy example](https://github.com/coder/coder/blob/main/dogfood/coder/boundary-config.yaml). +[Coder dogfood policy example](../../../dogfood/coder/boundary-config.yaml). To load the policy from a `config.yaml` file in your template directory instead, pass it via `agent_firewall_config`. The module writes the config to the workspace diff --git a/docs/ai-coder/ai-gateway/monitoring.md b/docs/ai-coder/ai-gateway/monitoring.md index a9b04d99ad..5479c49d28 100644 --- a/docs/ai-coder/ai-gateway/monitoring.md +++ b/docs/ai-coder/ai-gateway/monitoring.md @@ -11,7 +11,7 @@ AI Gateway records the last `user` prompt, token usage, model reasoning, and eve ![User Leaderboard](../../images/aibridge/grafana_user_leaderboard.png) -We provide an example Grafana dashboard that you can import as a starting point for your metrics. See [the Grafana dashboard README](https://github.com/coder/coder/blob/main/examples/monitoring/dashboards/grafana/aibridge/README.md). +We provide an example Grafana dashboard that you can import as a starting point for your metrics. See [the Grafana dashboard README](../../../examples/monitoring/dashboards/grafana/aibridge/README.md). These logs and metrics can be used to determine usage patterns, track costs, and evaluate tooling adoption. diff --git a/docs/ai-coder/ai-gateway/reference.md b/docs/ai-coder/ai-gateway/reference.md index f5652e28a6..7714f4ec2e 100644 --- a/docs/ai-coder/ai-gateway/reference.md +++ b/docs/ai-coder/ai-gateway/reference.md @@ -7,7 +7,7 @@ ## Implementation Details -`coderd` runs an in-memory instance of `aibridged`, whose logic is mostly contained in https://github.com/coder/coder/tree/main/aibridge. In future releases we will support running external instances for higher throughput and complete memory isolation from `coderd`. +`coderd` runs an in-memory instance of `aibridged`, whose logic is mostly contained in ../../../aibridge. In future releases we will support running external instances for higher throughput and complete memory isolation from `coderd`. ![AI Gateway implementation details](../../images/aibridge/aibridge-implementation-details.png) diff --git a/docs/ai-coder/tasks.md b/docs/ai-coder/tasks.md index aedf76f9fa..93a1350e5b 100644 --- a/docs/ai-coder/tasks.md +++ b/docs/ai-coder/tasks.md @@ -54,7 +54,7 @@ Try prompts such as: - "document the project structure" - "change the primary color theme to purple" -To import the template and begin configuring it, import the example [Run Coder Tasks on Docker](https://github.com/coder/coder/tree/main/examples/templates/tasks-docker) template. +To import the template and begin configuring it, import the example [Run Coder Tasks on Docker](../../examples/templates/tasks-docker) template. ### Option 2) Create or Duplicate Your Own Template diff --git a/docs/install/airgap.md b/docs/install/airgap.md index 7fc80d2314..c1963fba53 100644 --- a/docs/install/airgap.md +++ b/docs/install/airgap.md @@ -6,7 +6,7 @@ air-gapped with Kubernetes or Docker. | | Public deployments | Air-gapped deployments | |---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Terraform binary | By default, Coder downloads Terraform binary from [releases.hashicorp.com](https://releases.hashicorp.com) | Terraform binary must be included in `PATH` for the VM or container image. [Supported versions](https://github.com/coder/coder/blob/main/provisioner/terraform/install.go#L23-L24) | +| Terraform binary | By default, Coder downloads Terraform binary from [releases.hashicorp.com](https://releases.hashicorp.com) | Terraform binary must be included in `PATH` for the VM or container image. [Supported versions](../../provisioner/terraform/install.go#L23-L24) | | Terraform registry | Coder templates will attempt to download providers from [registry.terraform.io](https://registry.terraform.io) or [custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) specified in each template | [Custom source addresses](https://developer.hashicorp.com/terraform/language/providers/requirements#source-addresses) can be specified in each Coder template, or a custom registry/mirror can be used. More details below | | STUN | By default, Coder uses Google's public STUN server for direct workspace connections | STUN can be safely [disabled](../reference/cli/server.md#--derp-server-stun-addresses) users can still connect via [relayed connections](../admin/networking/index.md#-geo-distribution). Alternatively, you can set a [custom DERP server](../reference/cli/server.md#--derp-server-stun-addresses) | | DERP | By default, Coder's built-in DERP relay can be used, or [Tailscale's public relays](../admin/networking/index.md#relayed-connections). | By default, Coder's built-in DERP relay can be used, or [custom relays](../admin/networking/index.md#custom-relays). | @@ -33,7 +33,7 @@ following: > [!NOTE] > Coder includes the latest -> [supported version](https://github.com/coder/coder/blob/main/provisioner/terraform/install.go#L23-L24) +> [supported version](../../provisioner/terraform/install.go#L23-L24) > of Terraform in the official Docker images. If you need to bundle a different > version of terraform, you can do so by customizing the image. @@ -50,10 +50,10 @@ RUN apk add curl unzip RUN mkdir -p /opt/terraform # Terraform is already included in the official Coder image. -# See https://github.com/coder/coder/blob/main/scripts/Dockerfile.base#L15 +# See ../../scripts/Dockerfile.base#L15 # If you need to install a different version of Terraform, you can do so here. # The below step is optional if you wish to keep the existing version. -# See https://github.com/coder/coder/blob/main/provisioner/terraform/install.go#L23-L24 +# See ../../provisioner/terraform/install.go#L23-L24 # for supported Terraform versions. ARG TERRAFORM_VERSION=1.11.0 RUN apk update && \ @@ -115,7 +115,7 @@ ENV TF_CLI_CONFIG_FILE=/home/coder/.terraformrc > [!NOTE] > If you are bundling Terraform providers into your Coder image, be sure the > provider version matches any templates or -> [example templates](https://github.com/coder/coder/tree/main/examples/templates) +> [example templates](../../examples/templates) > you intend to use. ```tf diff --git a/docs/install/cloud/compute-engine.md b/docs/install/cloud/compute-engine.md index 671a890125..6e06fce685 100644 --- a/docs/install/cloud/compute-engine.md +++ b/docs/install/cloud/compute-engine.md @@ -29,7 +29,7 @@ deployments and you should adjust your infrastructure when preparing for production use. See: [Scaling Coder](../../admin/infrastructure/index.md) @@ -65,12 +65,12 @@ sudo systemctl restart coder # restart Coder Instead of running containers on the Coder instance, you can offer developers full VM instances with the -[gcp-linux](https://github.com/coder/coder/tree/main/examples/templates/gcp-linux) +[gcp-linux](../../../examples/templates/gcp-linux) template. Before you can use this template, you must authorize Coder to create VM instances in your GCP project. Follow the instructions in the -[gcp-linux template README](https://github.com/coder/coder/tree/main/examples/templates/gcp-linux#authentication) +[gcp-linux template README](../../../examples/templates/gcp-linux#authentication) to set up authentication. ### Next Steps diff --git a/docs/install/docker.md b/docs/install/docker.md index 31a7628c7a..d10b5a18b3 100644 --- a/docs/install/docker.md +++ b/docs/install/docker.md @@ -23,14 +23,14 @@ You can install and run Coder using the official Docker images published on ## Install Coder via `docker compose` Coder publishes a -[docker compose example](https://github.com/coder/coder/blob/main/compose.yaml) +[docker compose example](../../compose.yaml) which includes a PostgreSQL container and volume. 1. Make sure you have [Docker Compose](https://docs.docker.com/compose/install/) installed. 1. Download the - [`docker-compose.yaml`](https://github.com/coder/coder/blob/main/compose.yaml) + [`docker-compose.yaml`](../../compose.yaml) file. 1. Update `group_add:` in `docker-compose.yaml` with the `gid` of `docker` diff --git a/docs/install/kubernetes.md b/docs/install/kubernetes.md index 12a46608b7..b5f7cd4562 100644 --- a/docs/install/kubernetes.md +++ b/docs/install/kubernetes.md @@ -118,9 +118,9 @@ coder: ``` You can view our -[Helm README](https://github.com/coder/coder/blob/main/helm/coder#readme) for +[Helm README](../../helm/coder#readme) for details on the values that are available, or you can view the -[values.yaml](https://github.com/coder/coder/blob/main/helm/coder/values.yaml) +[values.yaml](../../helm/coder/values.yaml) file directly. We support two release channels: mainline and stable - read the diff --git a/docs/install/rancher.md b/docs/install/rancher.md index 0a81c7a73d..ead9402ec0 100644 --- a/docs/install/rancher.md +++ b/docs/install/rancher.md @@ -127,8 +127,8 @@ kubectl create secret generic coder-db-url -n coder \ # - my-tls-secret-name ``` - For available configuration options, refer to the [Helm chart documentation](https://github.com/coder/coder/blob/main/helm#readme) - or [values.yaml file](https://github.com/coder/coder/blob/main/helm/coder/values.yaml). + For available configuration options, refer to the [Helm chart documentation](../../helm#readme) + or [values.yaml file](../../helm/coder/values.yaml). diff --git a/docs/install/upgrade-best-practices.md b/docs/install/upgrade-best-practices.md index e1df11bf6a..58b240c95f 100644 --- a/docs/install/upgrade-best-practices.md +++ b/docs/install/upgrade-best-practices.md @@ -172,7 +172,7 @@ If an upgrade gets stuck in a restart loop due to database locks: 1. **Ensure image version:** Confirm the Deployment image is set to the appropriate version (old or new, depending on the database migration state found in step 3). Match your tag in the - [migrations directory](https://github.com/coder/coder/tree/main/coderd/database/migrations) + [migrations directory](../../coderd/database/migrations) to the value in the `schema_migrations` output. 1. **Resume the upgrade:** Follow the diff --git a/docs/tutorials/best-practices/speed-up-templates.md b/docs/tutorials/best-practices/speed-up-templates.md index 91e885d27d..fe28d9ea4b 100644 --- a/docs/tutorials/best-practices/speed-up-templates.md +++ b/docs/tutorials/best-practices/speed-up-templates.md @@ -100,7 +100,7 @@ workloads, so the cluster should be deployed as such, without production-level configurations. Adjust the CPU and memory values as shown in -[Helm provisioner values.yaml](https://github.com/coder/coder/blob/main/helm/provisioner/values.yaml#L134-L141): +[Helm provisioner values.yaml](../../../helm/provisioner/values.yaml#L134-L141): ```yaml …