Commit Graph

1574 Commits

Author SHA1 Message Date
ケイラ 114ba4593b chore: fix swagger type of AuditLog AdditionalFields (#17286) 2025-04-07 13:48:58 -06:00
Edward Angert d0aff04aef docs: remove blank inbox doc (#17285)
[preview](https://coder.com/docs/@hotfix-inbox-doc)

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-04-07 14:19:45 -04:00
Edward Angert 2f6682a46f docs: add zed code_app to extending-templates doc (#17281)
continuation of #17236  (thanks @sharkymark )

adds zed as a coder_app to
<https://coder.com/docs/admin/templates/extending-templates>



[preview](https://coder.com/docs/@17236-zed-app/admin/templates/extending-templates#coder-app-examples)

---------

Co-authored-by: sharkymark <mtm20176@gmail.com>
Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-04-07 14:00:43 -04:00
Spike Curtis d312e82a51 feat: support --hostname-suffix flag on coder ssh (#17279)
Adds `hostname-suffix` flag to `coder ssh` command for use in SSH Config ProxyCommands.

Also enforces that Coder server doesn't start the suffix with a dot.

part of: #16828
2025-04-07 21:33:33 +04:00
Marcin Tojek 743d308eb3 feat: support multiple terminal fonts (#17257)
Fixes: https://github.com/coder/coder/issues/15024
2025-04-07 14:30:10 +02:00
Spike Curtis 59c5bc9bd2 feat: add hostname-suffix option to config-ssh (#17270)
Adds `hostname-suffix` as a Config SSH option that we get from Coderd, and also accept via a CLI flag.

It doesn't actually do anything with this value --- that's for PRs up the stack, since we need the `coder ssh` command to be updated to understand the suffix first.
2025-04-07 12:11:04 +04:00
Spike Curtis 24248736ac feat: add host suffix to /api/v2/deployment/ssh (#17269)
Adds `HostnameSuffix` to ssh config API and deprecates `HostnamePrefix`. We will still support setting and using the prefix for some time.
2025-04-07 11:57:10 +04:00
Spike Curtis 87d9ff0973 feat: add CODER_WORKSPACE_HOSTNAME_SUFFIX (#17268)
Adds deployment option `CODER_WORKSPACE_HOSTNAME_SUFFIX`. This will eventually replace `CODER_SSH_HOSTNAME_PREFIX`, but we will do this slowly and support both for `coder ssh` for some time.

Note that the name is changed to "workspace" hostname, since this suffix will also be used for Coder Connect on Coder Desktop, which is not limited to SSH.
2025-04-07 11:35:47 +04:00
Edward Angert f475555d06 docs: document that default GitHub app requires device flow (#17162)
## Issue

Closes #16824

Document that the default GitHub authentication app provided by Coder
requires device flow, and that this behavior cannot be overridden.

## Changes Made

Claude updated the GitHub authentication documentation to:

1. Add a prominent warning in the Default Configuration section
explaining that the default GitHub app requires device flow and ignores
the `CODER_OAUTH2_GITHUB_DEVICE_FLOW` setting
2. Clarify the Device Flow section to indicate that:
   - Device flow is always enabled for the default GitHub app
   - Device flow is optional for custom GitHub OAuth apps
- The `CODER_OAUTH2_GITHUB_DEVICE_FLOW` setting is ignored when using
the default app


[preview](https://coder.com/docs/@16824-github-device-flow/admin/users/github-auth)

<sub>🤖 Generated with [Claude Code](https://claude.ai/code)</sub>

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: M Atif Ali <atif@coder.com>
2025-04-05 21:44:13 -04:00
brettkolodny ae7afd1aa0 feat: split cli roles edit command into create and update commands (#17121)
Closes #14239
2025-04-04 14:04:20 -04:00
Charlie Voiselle b000a7a093 docs: update markdown list in scale-coder.md (#17262) 2025-04-04 12:15:13 -04:00
Edward Angert 43d584c4f3 docs: add a section about latency and how it's measured (#16734)
closes https://github.com/coder/coder/issues/14942

- what latency is measured
- where it's reported
- how users experience latency
- how to lower latency



[preview](https://coder.com/docs/@14942-latency/admin/networking#latency)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-04-04 08:12:11 -04:00
Jaayden Halko 54ff17bec6 feat: create experimental CreateWorkspacePage and dynamic-parameters experiment (#17240)
The purpose of the PR is to make a copy of the CreateWorkspacePage and
create an experimental version that will use when the dynamic-parameters
experiment is enabled.

The Figma designs for this page are still in progress but this first PR
will start to move to the new designs.

Figma design:
https://www.figma.com/design/SMg6H8VKXnPSkE6h9KPoAD/UX-Presets?node-id=2121-2383&t=CtgPUz8eNsTI5b1t-1

Much of the existing code will be left behind and will slowly migrated
over the course of several PRs to make sure no existing functionality is
forgotten in the migration to dynamic paramaters.
2025-04-03 16:39:12 -04:00
Edward Angert 0fe7346264 docs: remove enterprise from docs (#17226)
Enterprise is a legacy plan that has been replaced by Premium.

[preview](https://coder.com/docs/@enterprise-feats)

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-04-02 16:51:57 -04:00
Ben Potter c418e86a4d chore: slightly soften disclaimers for AI features (#17223) 2025-04-02 13:00:06 +00:00
Ben Potter 13997cacb1 docs: clarify details around MCP (#17220) 2025-04-02 12:48:08 +00:00
Edward Angert 0ec87abaa5 docs: add new section on managing provisioners from the dashboard (#16563)
closes #16513 


[preview](https://coder.com/docs/@16513-manage-ext-provisioners/admin/provisioners/manage-provisioner-jobs)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-04-01 21:04:31 -05:00
Edward Angert 0125ff4592 docs: add new workspace notifications dashboard and config (#16548)
closes #16511 


[preview](https://coder.com/docs/@16511-dashboard-vscode-notif/admin/monitoring/notifications)

(beta tag is removed in https://github.com/coder/coder/pull/17096)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-04-01 21:03:55 -05:00
Edward Angert 2efb8088f4 docs: remove beta badge from notifications doc (#17096)
remove beta from notifications doc


[preview](https://coder.com/docs/@notifications-beta/admin/monitoring/notifications)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-04-01 21:52:09 -04:00
Ben Potter a61c3e7a1c docs: add tutorials for using early access AI agent features (#17186)
Some content is still being merged, but the structure is still there

Preview: https://coder.com/docs/@ai-features/tutorials/ai-agents
2025-04-01 19:57:05 -05:00
Stephen Kirby a3248f9364 chore(docs): move feature stage docs to install directory (#17199)
I think the feature stages page should be co-located with releases and
not at the entrance of the docs.


[preview](https://coder.com/docs/@move-feature-stages/install/releases/feature-stages)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-04-01 18:44:51 -05:00
Ben Potter fd241164a9 docs: clarify that CODER_EXTERNAL_AUTH_0_ID is used in callback URLs (#16879)
## Summary
- Clarifies that the CODER_EXTERNAL_AUTH_0_ID value is used as part of
the OAuth callback URL path
- Adds explicit callback URL examples to GitLab and Bitbucket Server
sections
- Updates the GitHub OAuth app configuration instructions to be more
explicit
- Fixes the documentation mistake where it claimed this ID was only for
"internal reference"

## Test plan
- Documentation change only
- Verified consistency across all OAuth provider sections

Fixes #16851


[preview](https://coder.com/docs/@fix-external-auth-docs-16851/admin/external-auth)

<sub>🤖 Generated with [Claude Code](https://claude.ai/code)</sub>

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: Edward Angert <EdwardAngert@users.noreply.github.com>
Co-authored-by: M Atif Ali <atif@coder.com>
2025-04-01 17:03:25 -04:00
Edward Angert 900e125e4a docs: update SMTP configuration in notifications docs (#17161)
## Issue

Closes #16206

(thanks @bjornrobertsson - not sure why I can't tag you as a reviewer)

Mismatch between the SMTP configuration UI and the documentation.

## Verification

Claude verified this issue by examining:

1. The current SMTP configuration code in the codebase
2. The CLI help documentation for the server command
3. The examples provided in the notifications documentation

The issue was confirmed by finding:
- A reference to a deprecated variable
`CODER_NOTIFICATIONS_EMAIL_FORCE_TLS` instead of the current
`CODER_EMAIL_FORCE_TLS`
- Missing information about the port format required for the SMTP
smarthost

## Changes made

1. Updated the `--email-smarthost` description to clarify that the
format should include both hostname and port: `(format:
     hostname:port)`
2. Fixed the reference to the TLS environment variable in the STARTTLS
description, replacing the deprecated
`CODER_NOTIFICATIONS_EMAIL_FORCE_TLS` with the correct
`CODER_EMAIL_FORCE_TLS`

## Additional information

The Gmail and Outlook examples in the documentation already correctly
show the port included in the smarthost configuration, but the main
description table needed to be updated to explicitly mention this
requirement.


[preview](https://coder.com/docs/@16206-smtp-required-components/admin/monitoring/notifications)

<sub>🤖 Generated with [Claude Code](https://claude.ai/code)</sub>

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-04-01 14:44:09 -04:00
Edward Angert 037dbc84da docs: add new cursor and windsurf docs (#17092)
closes #16919 

- [x] cursor doc
- [x] windsurf doc

from
https://github.com/coder/coder/issues/16919#issuecomment-2737033477:
- add to access-workspace
- link to module(s)
- how to windsurf with ssh
- temp: install vsix manually (Windsurf)
   - from <https://github.com/coder/vscode-coder>
- log in first
- search extensions for Coder
- ask your admin to add a module:
https://registry.coder.com/modules/cursor

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: M Atif Ali <atif@coder.com>
2025-04-01 20:13:32 +05:00
Kyle Carberry 8ea956fc11 feat: add app status tracking to the backend (#17163)
This does ~95% of the backend work required to integrate the AI work.

Most left to integrate from the tasks branch is just frontend, which
will be a lot smaller I believe.

The real difference between this branch and that one is the abstraction
-- this now attaches statuses to apps, and returns the latest status
reported as part of a workspace.

This change enables us to have a similar UX to in the tasks branch, but
for agents other than Claude Code as well. Any app can report status
now.
2025-03-31 10:55:44 -04:00
Michael Smith 9bc727e977 chore: add support for one-way websockets to backend (#16853)
Closes https://github.com/coder/coder/issues/16775

## Changes made
- Added `OneWayWebSocket` function that establishes WebSocket
connections that don't allow client-to-server communication
- Added tests for the new function
- Updated API endpoints to make new WS-based endpoints, and mark
previous SSE-based endpoints as deprecated
- Updated existing SSE handlers to use the same core logic as the new WS
handlers

## Notes
- Frontend changes handled via #16855
2025-03-28 17:13:20 -04:00
Edward Angert c6799911dd docs: edit workspace lifecycle description (#17146)
thanks for pointing this out, @jmshoffs0812 !
2025-03-28 07:24:33 -04:00
Cian Johnston 06e5d9ef21 feat(coderd): add webpush package (#17091)
* Adds `codersdk.ExperimentWebPush` (`web-push`)
* Adds a `coderd/webpush` package that allows sending native push
notifications via `github.com/SherClockHolmes/webpush-go`
* Adds database tables to store push notification subscriptions.
* Adds an API endpoint that allows users to subscribe/unsubscribe, and
send a test notification (404 without experiment, excluded from API docs)
* Adds server CLI command to regenerate VAPID keys (note: regenerating
the VAPID keypair requires deleting all existing subscriptions)

---------

Co-authored-by: Kyle Carberry <kyle@carberry.com>
2025-03-27 10:03:53 +00:00
Edward Angert 6bb4bdb9cb docs: add troubleshooting section to Desktop docs (#17098)
[preview](https://coder.com/docs/@121-desktop-troubleshoot/user-guides/desktop)

relates to https://github.com/coder/coder-desktop-macos/issues/121

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: Ethan <39577870+ethanndickson@users.noreply.github.com>
2025-03-26 19:00:32 +00:00
Jon Ayers 17ddee05e5 chore: update golang to 1.24.1 (#17035)
- Update go.mod to use Go 1.24.1
- Update GitHub Actions setup-go action to use Go 1.24.1
- Fix linting issues with golangci-lint by:
  - Updating to golangci-lint v1.57.1 (more compatible with Go 1.24.1)

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <claude@anthropic.com>
2025-03-26 01:56:39 -05:00
Marcin Tojek 56082f3b83 feat(cli): start workspace in no-wait mode (#17087)
Fixes: https://github.com/coder/coder/issues/16408
2025-03-25 13:54:53 +01:00
Danielle Maywood cd19e79d9b chore: enable coder inbox by default (#17077)
Add a flag to enable Coder Inbox by default, as well as supporting disabling the feature.
2025-03-25 12:51:26 +00:00
Danny Kopping 4c33846f6d chore: add prebuilds system user (#16916)
Pre-requisite for https://github.com/coder/coder/pull/16891

Closes https://github.com/coder/internal/issues/515

This PR introduces a new concept of a "system" user.

Our data model requires that all workspaces have an owner (a `users`
relation), and prebuilds is a feature that will spin up workspaces to be
claimed later by actual users - and thus needs to own the workspaces in
the interim.

Naturally, introducing a change like this touches a few aspects around
the codebase and we've taken the approach _default hidden_ here; in
other words, queries for users will by default _exclude_ all system
users, but there is a flag to ensure they can be displayed. This keeps
the changeset relatively small.

This user has minimal permissions (it's equivalent to a `member` since
it has no roles). It will be associated with the default org in the
initial migration, and thereafter we'll need to somehow ensure its
membership aligns with templates (which are org-scoped) for which it'll
need to provision prebuilds; that's a solution we'll have in a
subsequent PR.

---------

Signed-off-by: Danny Kopping <dannykopping@gmail.com>
Co-authored-by: Sas Swart <sas.swart.cdk@gmail.com>
2025-03-25 12:18:06 +00:00
Marcin Tojek 081679f431 fix: display force-tty flag (#17067)
Fixes: https://github.com/coder/coder/issues/17033
2025-03-25 10:25:35 +01:00
Edward Angert 4983150ab9 docs: add a table to feature stages doc (#17080)
adds a table to the feature stages doc to summarize the stages + links
to the heading below for more info


[preview](https://coder.com/docs/@feature-stages-table/about/feature-stages)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-03-24 22:28:02 -04:00
Vincent Vielle 82e37732ea feat(coderd): add format option to inbox notifications watch endpoint (#17034)
This PR aims to allow clients to use different format for the title and
content of inbox notifications - on the watch endpoint.

This solution will help to have it working and formatted differently on
VSCode, WebUI ...
[Related to this issue](https://github.com/coder/internal/issues/523)
2025-03-21 16:41:13 +01:00
Cian Johnston 0474888eb4 feat(cli): add open app <workspace> <app-slug> command (#17032)
Fixes https://github.com/coder/coder/issues/17009

Adds a CLI command `coder open app <workspace> <app-slug>` that allows
opening arbitrary `coder_apps` via the CLI.

Users can optionally specify a region for workspace
applications.
2025-03-21 15:28:08 +00:00
Edward Angert bbe7dacd35 docs: document definition of workspace activity (#16941)
closes: https://github.com/coder/coder/issues/16884

aligns the documentation with what users see when they adjust settings
and uses the [notion
discussion](https://www.notion.so/coderhq/Definitions-of-Workspace-Usage-Autostop-Dormancy-e7fa8ff782a948c19bbe4ef8315c26cb)
as a reference. This PR reflects current behavior from what I can tell.


[preview](https://coder.com/docs/@16884-define-activity/user-guides/workspace-scheduling#activity-detection)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-03-21 10:36:24 -04:00
Hugo Dutka a71aa202dc feat: filter users by github user id in the users list CLI command (#17029)
Add the `--github-user-id` option to `coder users list`, which makes the
command only return users with a matching GitHub user id. This will
enable https://github.com/coder/start-workspace-action to find a Coder
user that corresponds to a GitHub user requesting to start a workspace.
2025-03-21 13:30:47 +01:00
Mathias Fredriksson 69ba27e347 feat: allow specifying devcontainer on agent in terraform (#16997)
This change allows specifying devcontainers in terraform and plumbs it
through to the agent via agent manifest.

This will be used for autostarting devcontainers in a workspace.

Depends on coder/terraform-provider-coder#368
Updates #16423
2025-03-20 19:09:39 +02:00
Vincent Vielle 4960a1e85a feat(coderd): add mark-all-as-read endpoint for inbox notifications (#16976)
[Resolve this issue](https://github.com/coder/internal/issues/506)

Add a mark-all-as-read endpoint which is marking as read all
notifications that are not read for the authenticated user.
Also adds the DB logic.
2025-03-20 13:41:54 +01:00
Edward Angert c88d86bf50 docs: add new doc on how to deploy Coder on Rancher (#16534)
[preview](https://coder.com/docs/@deploy-on-rancher/install/rancher)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-03-19 18:50:52 +00:00
Edward Angert bd243c17fb docs: add AWS AMI upgrade instructions (#16973)
followup to @d1str0's #16937 

> Adds a small note for those who just used the AWS AMI for their
initial installation.

This PR rearranges the Upgrade doc to use tabs for each section + adds
AWS AMI

[preview](https://coder.com/docs/@upgrade-tabs/install/upgrade)

---------

Co-authored-by: Brady Sullivan <brady@bsull.com>
Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-03-19 10:10:58 -04:00
Mathias Fredriksson 3ac844ad3d chore(codersdk): rename WorkspaceAgent(Dev)container structs (#16996)
This is to free up the devcontainer name space for more targeted
structs.

Updates #16423
2025-03-19 10:16:14 +00:00
Cian Johnston 75b27e8f19 fix(agent/agentcontainers): improve testing of convertDockerInspect, return correct host port (#16887)
* Improves separation of concerns between `runDockerInspect` and
`convertDockerInspect`: `runDockerInspect` now just runs the command and
returns the output, while `convertDockerInspect` now does all of the
conversion and parsing logic.
* Improves testing of `convertDockerInspect` using real test fixtures.
* Fixes issue where the container port is returned instead of the host
port.
* Updates UI to link to correct host port. Container port is still
displayed in the button text, but the HostIP:HostPort is shown in a
popover.
* Adds stories for workspace agent UI
2025-03-18 14:37:45 +00:00
Vincent Vielle 3ae55bbbf4 feat(coderd): add inbox notifications endpoints (#16889)
This PR is part of the inbox notifications topic, and rely on previous
PRs merged - it adds :

- Endpoints to : 
  - WS : watch new inbox notifications
  - REST : list inbox notifications
  - REST : update the read status of a notification

Also, this PR acts as a follow-up PR from previous work and : 

- fix DB query issues
- fix DBMem logic to match DB
2025-03-18 00:02:47 +01:00
Edward Angert 8ca52a835e docs: document steps for adding cert to JetBrains plugin settings (#16882)
- document the steps from @stirby in ticket
- separate the different OSs in a way that's easier to look at
- fix typo


[preview](https://coder.com/docs/@593-ca-cert-plugin/user-guides/workspace-access/jetbrains#configuring-the-gateway-plugin-to-use-internal-certificates)

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-03-17 17:11:36 -04:00
Edward Angert ffd336b9ad docs: adjust order of options in external-auth (#16943)
from @NickSquangler 

> ($customer) noticed when setting up external auth with Gitlab that the
command listed in the docs is in the incorrect order, as `coder
external-auth <USER_DEFINED_ID> access-token` should be `coder
external-auth access-token <USER_DEFINED_ID>`


[preview](https://coder.com/docs/@external-auth-access-token/admin/external-auth#workspace-cli)

<details><summary>coder external-auth access-token --help</summary>

```shell
coder external-auth access-token --help
coder v2.20.0+03b5012

USAGE:
  coder external-auth access-token [flags] <provider>

  Print auth for an external provider

  Print an access-token for an external auth provider. The access-token will be validated and sent
  to stdout with exit code 0. If a valid access-token cannot be obtained, the URL to authenticate
  will be sent to stdout with exit code 1
    - Ensure that the user is authenticated with GitHub before cloning.:

        $ #!/usr/bin/env sh

  OUTPUT=$(coder external-auth access-token github)
  if [ $? -eq 0 ]; then
    echo "Authenticated with GitHub"
  else
    echo "Please authenticate with GitHub:"
    echo $OUTPUT
  fi


    - Obtain an extra property of an access token for additional metadata.:

        $ coder external-auth access-token slack --extra "authed_user.id"


OPTIONS:
      --extra string
          Extract a field from the "extra" properties of the OAuth token.

———
Run `coder --help` for a list of global options.
```

</details>

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2025-03-14 17:17:34 -04:00
Edward Angert a2131a7616 docs: add cgroup memory troubleshooting to install doc (#16920)
originally thought this fit under [Unofficial Install
Methods](https://coder.com/docs/install/other), but we don't talk about
Raspberry Pi anywhere, so ~the general Install doc might be a better
fit~ moved to admin>templates>troubleshooting


[preview](https://coder.com/docs/@3-cgroup-mem/admin/templates/troubleshooting#coder-on-raspberry-pi-os)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: M Atif Ali <atif@coder.com>
2025-03-14 19:58:01 +00:00
Eric Paulsen 7ba4df1bc4 docs: fix offline dockerfile bug (#16923)
bug caused via the `apk del terraform` line in our Dockerfile, which
does not yet exist in the Alpine Linux OS.

removing this line (18) results in successful builds.
2025-03-14 12:11:14 -04:00