From 4ae52ed5df816faa838950cd277a4d27725027d5 Mon Sep 17 00:00:00 2001 From: Ethan Dickson Date: Wed, 13 Nov 2024 02:14:34 +0000 Subject: [PATCH] ci: reenable link checker & fix broken links --- .github/.linkspector.yml | 19 ++++++++++++++++--- .github/workflows/weekly-docs.yaml | 11 ++++++----- docs/admin/infrastructure/scale-testing.md | 4 ++-- docs/admin/integrations/kubernetes-logs.md | 2 +- docs/admin/networking/index.md | 2 +- docs/admin/networking/workspace-proxies.md | 3 ++- docs/admin/provisioners.md | 10 +++++----- docs/admin/security/database-encryption.md | 2 +- docs/admin/templates/creating-templates.md | 2 +- .../templates/managing-templates/schedule.md | 2 +- docs/admin/users/idp-sync.md | 5 ++--- docs/install/offline.md | 2 +- docs/reference/index.md | 6 +++--- docs/user-guides/workspace-access/vscode.md | 2 +- docs/user-guides/workspace-access/web-ides.md | 4 ++-- docs/user-guides/workspace-management.md | 3 ++- 16 files changed, 47 insertions(+), 32 deletions(-) diff --git a/.github/.linkspector.yml b/.github/.linkspector.yml index b24df8940f608..1cdd35a21805e 100644 --- a/.github/.linkspector.yml +++ b/.github/.linkspector.yml @@ -1,9 +1,22 @@ dirs: - docs +excludedDirs: + # Downstream bug in linkspector means large markdown files fail to parse + # but these are autogenerated and shouldn't need checking + - docs/reference + # Older changelogs may contain broken links + - docs/changelogs ignorePatterns: - - pattern: "://localhost" - - pattern: '://.*.?example\\.com' - - pattern: "github.com/" + - pattern: "localhost" + - pattern: "example.com" - pattern: "mailto:" + - pattern: "127.0.0.1" + - pattern: "0.0.0.0" + - pattern: "JFROG_URL" + - pattern: "coder.company.org" + # These real sites were blocking the linkspector action / GitHub runner IPs(?) + - pattern: "i.imgur.com" + - pattern: "code.visualstudio.com" + - pattern: "www.emacswiki.org" aliveStatusCodes: - 200 diff --git a/.github/workflows/weekly-docs.yaml b/.github/workflows/weekly-docs.yaml index e12f9366a910c..d66503e2552ed 100644 --- a/.github/workflows/weekly-docs.yaml +++ b/.github/workflows/weekly-docs.yaml @@ -4,11 +4,11 @@ on: schedule: - cron: "0 9 * * 1" workflow_dispatch: # allows to run manually for testing - # pull_request: - # branches: - # - main - # paths: - # - "docs/**" + pull_request: + branches: + - main + paths: + - "docs/**" permissions: contents: read @@ -33,6 +33,7 @@ jobs: reporter: github-pr-review config_file: ".github/.linkspector.yml" fail_on_error: "true" + filter_mode: "nofilter" - name: Send Slack notification if: failure() && github.event_name == 'schedule' diff --git a/docs/admin/infrastructure/scale-testing.md b/docs/admin/infrastructure/scale-testing.md index c371f23fd5559..09d6fdc837a91 100644 --- a/docs/admin/infrastructure/scale-testing.md +++ b/docs/admin/infrastructure/scale-testing.md @@ -11,7 +11,7 @@ capabilities, allowing Coder to efficiently deploy, scale, and manage workspaces across a distributed infrastructure. This ensures high availability, fault tolerance, and scalability for Coder deployments. Coder is deployed on this cluster using the -[Helm chart](../../install/kubernetes.md#install-coder-with-helm). +[Helm chart](../../install/kubernetes.md#4-install-coder-with-helm). ## Methodology @@ -113,7 +113,7 @@ on the workload size to ensure deployment stability. #### CPU and memory usage Enabling -[agent stats collection](../../reference/cli/index.md#--prometheus-collect-agent-stats) +[agent stats collection](../../reference/cli/server.md#--prometheus-collect-agent-stats) (optional) may increase memory consumption. Enabling direct connections between users and workspace agents (apps or SSH diff --git a/docs/admin/integrations/kubernetes-logs.md b/docs/admin/integrations/kubernetes-logs.md index fc2481483ffed..95fb5d84801f5 100644 --- a/docs/admin/integrations/kubernetes-logs.md +++ b/docs/admin/integrations/kubernetes-logs.md @@ -14,7 +14,7 @@ or deployment, such as: [`kubernetes_deployment`](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/deployment) Terraform resource, which requires the `coder` service account to have permission to create deployments. For example, if you use -[Helm](../../install/kubernetes.md#install-coder-with-helm) to install Coder, +[Helm](../../install/kubernetes.md#4-install-coder-with-helm) to install Coder, you should set `coder.serviceAccount.enableDeployments=true` in your `values.yaml` diff --git a/docs/admin/networking/index.md b/docs/admin/networking/index.md index 2e07a7e6e4ac8..e93c83938c125 100644 --- a/docs/admin/networking/index.md +++ b/docs/admin/networking/index.md @@ -56,7 +56,7 @@ In order for clients to be able to establish direct connections: communicate with each other using their locally assigned IP addresses, then a direct connection can be established immediately. Otherwise, the client and agent will contact - [the configured STUN servers](../../reference/cli/server.md#derp-server-stun-addresses) + [the configured STUN servers](../../reference/cli/server.md#--derp-server-stun-addresses) to try and determine which `ip:port` can be used to communicate with their counterpart. See [STUN and NAT](./stun.md) for more details on how this process works. diff --git a/docs/admin/networking/workspace-proxies.md b/docs/admin/networking/workspace-proxies.md index 968082322e819..03da5e142f7ce 100644 --- a/docs/admin/networking/workspace-proxies.md +++ b/docs/admin/networking/workspace-proxies.md @@ -4,7 +4,8 @@ Workspace proxies provide low-latency experiences for geo-distributed teams. Coder's networking does a best effort to make direct connections to a workspace. In situations where this is not possible, such as connections via the web -terminal and [web IDEs](../../user-guides/workspace-access/index.md#web-ides), +terminal and +[web IDEs](../../user-guides/workspace-access/index.md#other-web-ides), workspace proxies are able to reduce the amount of distance the network traffic needs to travel. diff --git a/docs/admin/provisioners.md b/docs/admin/provisioners.md index 159ef79332de4..12758eab61d48 100644 --- a/docs/admin/provisioners.md +++ b/docs/admin/provisioners.md @@ -1,7 +1,7 @@ # External provisioners By default, the Coder server runs -[built-in provisioner daemons](../reference/cli/server.md#provisioner-daemons), +[built-in provisioner daemons](../reference/cli/server.md#--provisioner-daemons), which execute `terraform` during workspace and template builds. However, there are often benefits to running external provisioner daemons: @@ -235,17 +235,17 @@ This is illustrated in the below table: Provisioners can broadly be categorized by scope: `organization` or `user`. The scope of a provisioner can be specified with -[`-tag=scope=`](../reference/cli/provisioner_start.md#t---tag) when +[`-tag=scope=`](../reference/cli/provisioner_start.md#-t---tag) when starting the provisioner daemon. Only users with at least the [Template Admin](./users/index.md#roles) role or higher may create organization-scoped provisioner daemons. There are two exceptions: -- [Built-in provisioners](../reference/cli/server.md#provisioner-daemons) are +- [Built-in provisioners](../reference/cli/server.md#--provisioner-daemons) are always organization-scoped. - External provisioners started using a - [pre-shared key (PSK)](../reference/cli/provisioner_start.md#psk) are always + [pre-shared key (PSK)](../reference/cli/provisioner_start.md#--psk) are always organization-scoped. ### Organization-Scoped Provisioners @@ -369,7 +369,7 @@ docker run --rm -it \ As mentioned above, the Coder server will run built-in provisioners by default. This can be disabled with a server-wide -[flag or environment variable](../reference/cli/server.md#provisioner-daemons). +[flag or environment variable](../reference/cli/server.md#--provisioner-daemons). ```sh coder server --provisioner-daemons=0 diff --git a/docs/admin/security/database-encryption.md b/docs/admin/security/database-encryption.md index f775b68ea516f..7bee8e3bd58e1 100644 --- a/docs/admin/security/database-encryption.md +++ b/docs/admin/security/database-encryption.md @@ -7,7 +7,7 @@ preventing attackers with database access from using them to impersonate users. ## How it works Coder allows administrators to specify -[external token encryption keys](../../reference/cli/server.md#external-token-encryption-keys). +[external token encryption keys](../../reference/cli/server.md#--external-token-encryption-keys). If configured, Coder will use these keys to encrypt external user tokens before storing them in the database. The encryption algorithm used is AES-256-GCM with a 32-byte key length. diff --git a/docs/admin/templates/creating-templates.md b/docs/admin/templates/creating-templates.md index 8af4391e049ee..8a833015ae207 100644 --- a/docs/admin/templates/creating-templates.md +++ b/docs/admin/templates/creating-templates.md @@ -145,7 +145,7 @@ You will then see your new template in the dashboard. ## From scratch (advanced) There may be cases where you want to create a template from scratch. You can use -[any Terraform provider](https://registry.terraform.com) with Coder to create +[any Terraform provider](https://registry.terraform.io) with Coder to create templates for additional clouds (e.g. Hetzner, Alibaba) or orchestrators (VMware, Proxmox) that we do not provide example templates for. diff --git a/docs/admin/templates/managing-templates/schedule.md b/docs/admin/templates/managing-templates/schedule.md index 4fa285dfa74f3..ffbebef713de8 100644 --- a/docs/admin/templates/managing-templates/schedule.md +++ b/docs/admin/templates/managing-templates/schedule.md @@ -97,7 +97,7 @@ to set the default quiet hours to a time when most users are not expected to be using Coder. Admins can force users to use the default quiet hours with the -[CODER_ALLOW_CUSTOM_QUIET_HOURS](../../../reference/cli/server.md#allow-custom-quiet-hours) +[CODER_ALLOW_CUSTOM_QUIET_HOURS](../../../reference/cli/server.md#--allow-custom-quiet-hours) environment variable. Users will still be able to see the page, but will be unable to set a custom time or timezone. If users have already set a custom quiet hours schedule, it will be ignored and the default will be used instead. diff --git a/docs/admin/users/idp-sync.md b/docs/admin/users/idp-sync.md index eba86b0d1d0ab..123384c963ce7 100644 --- a/docs/admin/users/idp-sync.md +++ b/docs/admin/users/idp-sync.md @@ -326,9 +326,8 @@ the OIDC provider. See > Depending on the OIDC provider, this claim may be named differently. Common > ones include `groups`, `memberOf`, and `roles`. -Next configure the Coder server to read groups from the claim name with the -[OIDC organization field](../../reference/cli/server.md#--oidc-organization-field) -server flag: +Next configure the Coder server to read groups from the claim name with the OIDC +organization field server flag: ```sh # as an environment variable diff --git a/docs/install/offline.md b/docs/install/offline.md index 6a4aae1af0daa..c70b3426cc12f 100644 --- a/docs/install/offline.md +++ b/docs/install/offline.md @@ -137,7 +137,7 @@ provider_installation { ## Run offline via Docker -Follow our [docker-compose](./docker.md#run-coder-with-docker-compose) +Follow our [docker-compose](./docker.md#install-coder-via-docker-compose) documentation and modify the docker-compose file to specify your custom Coder image. Additionally, you can add a volume mount to add providers to the filesystem mirror without re-building the image. diff --git a/docs/reference/index.md b/docs/reference/index.md index 01afba25891f3..c99fd66be55c9 100644 --- a/docs/reference/index.md +++ b/docs/reference/index.md @@ -82,7 +82,7 @@ activity. }" ``` -- [Manually send workspace activity](../reference/api/agents.md#submit-workspace-agent-stats): +- [Manually send workspace activity](../reference/api/workspaces.md#extend-workspace-deadline-by-id): Keep a workspace "active," even if there is not an open connection (e.g. for a long-running machine learning job). @@ -94,10 +94,10 @@ activity. do if pgrep -f "my_training_script.py" > /dev/null then - curl -X POST "https://coder.example.com/api/v2/workspaceagents/me/report-stats" \ + curl -X POST "https://coder.example.com/api/v2/workspaces/$WORKSPACE_ID/extend" \ -H "Coder-Session-Token: $CODER_AGENT_TOKEN" \ -d '{ - "connection_count": 1 + "deadline": "2019-08-24T14:15:22Z" }' # Sleep for 30 minutes (1800 seconds) if the job is running diff --git a/docs/user-guides/workspace-access/vscode.md b/docs/user-guides/workspace-access/vscode.md index dc3cac46be0e8..7eab386c7626f 100644 --- a/docs/user-guides/workspace-access/vscode.md +++ b/docs/user-guides/workspace-access/vscode.md @@ -16,7 +16,7 @@ extension, authenticates with Coder, and connects to the workspace. ![Demo](https://github.com/coder/vscode-coder/raw/main/demo.gif?raw=true) > The `VS Code Desktop` button can be hidden by enabling -> [Browser-only connections](../../admin/networking/index.md#browser-only-connections-enterprise). +> [Browser-only connections](../../admin/networking/index.md#browser-only-connections-enterprise-premium). ### Manual Installation diff --git a/docs/user-guides/workspace-access/web-ides.md b/docs/user-guides/workspace-access/web-ides.md index 41bee34ef2e76..583118d596ad3 100644 --- a/docs/user-guides/workspace-access/web-ides.md +++ b/docs/user-guides/workspace-access/web-ides.md @@ -76,6 +76,6 @@ guide. ## SSH Fallback If you prefer to run web IDEs in localhost, you can port forward using -[SSH](../index.md#ssh) or the Coder CLI `port-forward` sub-command. Some web -IDEs may not support URL base path adjustment so port forwarding is the only +[SSH](./index.md#ssh) or the Coder CLI `port-forward` sub-command. Some web IDEs +may not support URL base path adjustment so port forwarding is the only approach. diff --git a/docs/user-guides/workspace-management.md b/docs/user-guides/workspace-management.md index 4d4f30f2f9026..98158cf0233ef 100644 --- a/docs/user-guides/workspace-management.md +++ b/docs/user-guides/workspace-management.md @@ -112,7 +112,8 @@ To set a workspace's schedule, go to the workspace, then **Settings** > ![Scheduling UI](../images/schedule.png) Coder might also stop a workspace automatically if there is a -[template update](../admin/templates/index.md#Start/stop) available. +[template update](../admin/templates/managing-templates/index.md#updating-templates) +available. Learn more about [workspace lifecycle](./workspace-lifecycle.md) and our [scheduling features](./workspace-scheduling.md). pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy