Commit Graph
8760 Commits
Author SHA1 Message Date
Aaron Lehmann 1aa9e32a2b feat: add --ssh-host-prefix flag for "coder ssh" (#16088)
This adds a flag matching `--ssh-host-prefix` from `coder config-ssh` to
`coder ssh`. By trimming a custom prefix from the argument, we can set
up wildcard-based `Host` entries in SSH config for the IDE plugins (and
eventually `coder config-ssh`).

We also replace `--` in the argument with `/`, so ownership can be
specified in wildcard-based SSH hosts like `<owner>--<workspace>`.

Replaces #16087.

Part of https://github.com/coder/coder/issues/14986.

Related to https://github.com/coder/coder/pull/16078 and
https://github.com/coder/coder/pull/16080.
2025-01-13 19:07:21 -06:00
Aaron Lehmann ec6645b832 chore: add parent PID to coder ssh log file name (#16080)
Part of bringing `coder ssh` to parity with `coder vscodessh` is
associating the log files with a particular parent process (in this
case, the ssh process that spawned the coder CLI via `ProxyCommand`).
`coder vscodessh` named log files using the parent PID, but coder ssh is
missing this. Add the parent PID to the log file name when used in stdio
mode so that the VS Code extension will be able to identify the correct
log file.

See also #16078.
2025-01-13 18:30:02 -06:00
Aaron Lehmann 838ee3b244 feat: add --network-info-dir and --network-info-interval flags to coder ssh (#16078)
This is the first in a series of PRs to enable `coder ssh` to replace
`coder vscodessh`.

This change adds `--network-info-dir` and `--network-info-interval`
flags to the `ssh` subcommand. These were formerly only available with
the `vscodessh` subcommand.

Subsequent PRs will add a `--ssh-host-prefix` flag to the ssh
subcommand, and adjust the log file naming to contain the parent PID.
2025-01-13 18:29:31 -06:00
Bruno Quaresma c2b55346ac chore: add Select component (#16121)
Related to https://github.com/coder/coder/issues/15297 and based on
[this
design](https://www.figma.com/design/gtVchocIWPGYjzaHD2OIY7/Setting-page?node-id=16-1848&m=dev).
2025-01-13 20:29:39 -03:00
Danielle Maywood 7c595e2631 feat: allow removing deadline for running workspace (#16085)
Fixes https://github.com/coder/coder/issues/9775

When a workspace's TTL is removed, and the workspace is running, the
deadline is removed from the workspace.

This also modifies the frontend to not show a confirmation dialog when
the change is to remove autostop.
2025-01-13 21:37:57 +00:00
dependabot[bot] 048a10a318 chore: bump storybook-addon-remix-react-router from 3.0.2 to 3.1.0 in /site (#16000) 2025-01-13 12:20:31 -07:00
Garrett Delfosse 0008c135cf feat: add scaletest load generation infrastructure (#15816)
Closes https://github.com/coder/internal/issues/149

This creates workspaces in each region and runs traffic generation
against the workspaces colocated in the region.
2025-01-13 17:08:40 +00:00
Thomas Kosiewski 8a8e7b19af fix(site): validate group name before submitting to the backend (#16115) 2025-01-13 17:54:21 +01:00
Hugo Dutka dd29997b9c chore: reduce parallelism for test-go-pg on macOS (#16116)
We're seeing test-go-pg flakes on macOS in CI. We've had the same
problem on Windows, and reducing test parallelism in
https://github.com/coder/coder/pull/16090 seemed to help. This PR makes
the same change on macOS.
2025-01-13 16:57:48 +01:00
Danielle Maywood 009069cd47 feat: allow notification templates to be disabled by default (#16093)
Change as part of https://github.com/coder/coder/pull/16071

It has been decided that we want to be able to have some notification
templates be disabled _by default_
https://github.com/coder/coder/pull/16071#issuecomment-2580757061.

This adds a new column (`enabled_by_default`) to
`notification_templates` that defaults to `TRUE`. It also modifies the
`inhibit_enqueue_if_disabled` function to reject notifications for
templates that have `enabled_by_default = FALSE` with the user not
explicitly enabling it.
2025-01-13 15:01:47 +00:00
Danny Kopping 22236f2988 chore: only notify about CI failure on main if required job fails (#16114)
This should be the last PR to get this working

Looks like the `nightly-gauntlet` is working as expected, and this is a
clone of that.

---------

Signed-off-by: Danny Kopping <danny@coder.com>
2025-01-13 14:06:43 +00:00
Ethan 24dd8a17d3 ci: switch test-go-pg on macOS to depot runners (#16101)
Since I missed this in #16100 :(
2025-01-13 23:07:10 +11:00
Danny Kopping f9f72de1d6 chore: predicate slack notification job on other jobs (#16106)
`always()` does not seem to work

Extending https://github.com/coder/coder/pull/16105

Signed-off-by: Danny Kopping <danny@coder.com>
2025-01-13 13:42:37 +02:00
Sas SwartandMathias Fredriksson 4543b21b7c feat(coderd/database): track user status changes over time (#16019)
RE: https://github.com/coder/coder/issues/15740,
https://github.com/coder/coder/issues/15297

In order to add a graph to the coder frontend to show user status over
time as an indicator of license usage, this PR adds the following:

* a new `api.insightsUserStatusCountsOverTime` endpoint to the API
* which calls a new `GetUserStatusCountsOverTime` query from postgres
* which relies on two new tables `user_status_changes` and
`user_deleted`
* which are populated by a new trigger and function that tracks updates
to the users table

The chart itself will be added in a subsequent PR

---------

Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
2025-01-13 13:08:16 +02:00
Danny Kopping 73d8dde6ed chore: notify #dev of nightly gauntlet failures (#16105)
Expands on https://github.com/coder/coder/pull/16102

This workflow is currently failing every night, so this will not only
raise immediate awareness but will also be easy to validate this job.

Signed-off-by: Danny Kopping <danny@coder.com>
2025-01-13 10:15:15 +00:00
Ethan a7fe35af25 fix: use netstat over ss when testing unix socket (#16103)
Closes https://github.com/coder/internal/issues/274.

`TestSSH/RemoteForwardUnixSocket` previously used `ss` for confirming if
a socket was listening. `ss` isn't available on macOS, causing the test
to flake.

The test previously passed on macOS as a 2 could always be read on the
SSH connection, presumably reading it as part of some escape sequence? I
confirmed the test passed on Linux if you comment out the `ss` command,
the pty would always read a sequence ending in `[?2`.
2025-01-13 20:51:55 +11:00
Danny Kopping 859abcde4e chore: send notification to #dev on any CI failure on main (#16102)
We've had a [few failures in
main](https://github.com/coder/coder/actions?query=branch%3Amain+is%3Afailure)
of late, and unless the committer of the change has CI notifications
enabled we may not be aware of the failure.

This PR sends a Slack notification to the #dev channel so everyone has
visibility.

Signed-off-by: Danny Kopping <danny@coder.com>
2025-01-13 11:28:45 +02:00
Ethan 88a9c4bb59 ci: switch test-go on macOS to depot runners (#16100)
We use depot runners where possible everywhere else. As a bonus, the
depot runners for Mac would appear to be slightly beefier than the
GitHub ones (8 vs 6 cores).

We've already been using the depot macOS runners to build the VPN dylib
for the past month or so.
2025-01-13 16:53:51 +11:00
Ethan 14cd58dc3b fix(site): fix typo on new workspace screen (#16099)
Closes #16084.
2025-01-13 03:10:45 +00:00
Gregory McCue 08dd2ab4cc docs: fix typo in prometheus.md (#16091)
Fixes small `scrape_config` typo in `prometheus.md`
2025-01-10 12:02:25 -05:00
Michael Smith 8b9763dd2c fix: ensure active Deployment Page nav links are highlighted (#16092)
## Changes made
- Updated links in the deployment settings page to ensure that they're
highlighted properly
- Updated comment about previous PR to make sure it's clear why we
needed a workaround.
2025-01-10 09:58:42 -05:00
Mathias Fredriksson 8c44cd3dfd test(cli/ssh): fix ssh start conflict test by faking API response (#16082) 2025-01-10 14:48:11 +00:00
Hugo Dutka 899836d47a chore: reduce Windows PG tests flakiness (#16090)
This PR:

- Reduces test parallelism on Windows in CI
- Unifies wait intervals on Windows with Linux and macOS. Previously we
had custom intervals for Windows to reduce test flakiness on smaller CI
workers, but we don't run tests on small CI workers anymore. Due to how
our CI file is defined, forks run tests on small CI machines, but I'm
not sure if the different intervals actually help or whether that's a
heuristic that happened to fix issues on a particular day and was it
ever reevaluated. I propose we make the change and if someone complains,
revert it.

In particular, reduced test parallelism seems to actually help: I was
able to run Windows tests 5 times in a row without flakes. Not sure if
that's going to fix the problem long term, but it seems worth trying.
2025-01-10 15:21:03 +01:00
Jaayden Halko 630fd7c0a1 fix: navlink investigation (#16073)
Normally the react router Navlink should normalize the url path and
match with or without a / on the end of the path.

This is a fix to use useMatch() to explicitly see if the current path is
a match to an href to determine whether to apply active styling to the
navlink
2025-01-09 17:51:14 -05:00
Marcin Tojek 20c36a655a fix(site): do not error on closed build logs stream (#16067)
Related: https://github.com/coder/coder/issues/15937
2025-01-09 13:43:20 +01:00
Danny Kopping 401f8b4fea provide useful debug info when retrieving a version from GitHub fails (#15956)
Closes https://github.com/coder/coder/issues/15851

This fails the installation when the version cannot be retrieved, and
prints useful debug info.

`install.sh` could use with more error-handling in general, but this at
least ameliorates the linked issue.

Signed-off-by: Danny Kopping <danny@coder.com>
2025-01-09 09:47:20 +00:00
Cian Johnston 5e88289493 chore(enterprise/coderd): conditionally disable parallelism on windows (#16072)
Fixes https://github.com/coder/internal/issues/266
2025-01-09 09:14:20 +00:00
Muhammad Atif Ali f4994ca783 chore(dogfood): add vscode-web module (#16081) 2025-01-09 08:03:05 +00:00
Jaayden Halko 6ca1e5973e chore: add api endpoints to get idp field values (#16063)
Supports coder/internal#210
2025-01-08 16:07:02 -05:00
dependabot[bot] 303c4a9edb chore: bump sanitize-html from 2.13.1 to 2.14.0 in /offlinedocs (#15997)
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html)
from 2.13.1 to 2.14.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md">sanitize-html's
changelog</a>.</em></p>
<blockquote>
<h2>2.14.0 (2024-12-18)</h2>
<ul>
<li>Fix adding text with <code>transformTags</code> in cases where it
originally had no text child elements. Thanks to <a
href="https://cthu.lu">f0x</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/apostrophecms/sanitize-html/commit/1a11f7cfcf4cc7278e0d85c34c1d7a24eed045ab"><code>1a11f7c</code></a>
eslint</li>
<li><a
href="https://github.com/apostrophecms/sanitize-html/commit/4ae37d9cf153bdf7f41cdb9e4747d186fbce35dc"><code>4ae37d9</code></a>
Merge pull request <a
href="https://redirect.github.com/apostrophecms/sanitize-html/issues/687">#687</a>
from apostrophecms/release-2.14.0</li>
<li><a
href="https://github.com/apostrophecms/sanitize-html/commit/af629446dbcf6304cbe294002187b397981ec230"><code>af62944</code></a>
release 2.14.0</li>
<li><a
href="https://github.com/apostrophecms/sanitize-html/commit/d50f36f25c7142cda17f5052cbcb3e878efa2b53"><code>d50f36f</code></a>
Merge pull request <a
href="https://redirect.github.com/apostrophecms/sanitize-html/issues/684">#684</a>
from f0x52/transform-new-text1</li>
<li><a
href="https://github.com/apostrophecms/sanitize-html/commit/19e95321c3b5312a98cb0a24f0a10c9c36b24d67"><code>19e9532</code></a>
changelog entry</li>
<li><a
href="https://github.com/apostrophecms/sanitize-html/commit/de2aefb445ec5d208467115c826ee3d3be7c868f"><code>de2aefb</code></a>
add testcase for transforming text inside empty tags</li>
<li><a
href="https://github.com/apostrophecms/sanitize-html/commit/98b4900dc29af63d7562ffc5d5bdaa81c869bfd1"><code>98b4900</code></a>
still add text added by transformation when tag is discarded</li>
<li>See full diff in <a
href="https://github.com/apostrophecms/sanitize-html/compare/2.13.1...2.14.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=sanitize-html&package-manager=npm_and_yarn&previous-version=2.13.1&new-version=2.14.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-08 10:08:22 -08:00
dependabot[bot] 9494afaae1 chore: bump gopkg.in/DataDog/dd-trace-go.v1 from 1.69.0 to 1.70.3 (#16066)
Bumps gopkg.in/DataDog/dd-trace-go.v1 from 1.69.0 to 1.70.3.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-08 16:49:44 +00:00
Cian Johnston 7b88776403 chore(testutil): add testutil.GoleakOptions (#16070)
- Adds `testutil.GoleakOptions` and consolidates existing options to
this location
- Pre-emptively adds required ignore for this Dependabot PR to pass CI
https://github.com/coder/coder/pull/16066
2025-01-08 15:38:37 +00:00
Hugo Dutka 106b1cd3bc chore: convert dbauthz tests to also run with Postgres (#15862)
Another PR to address https://github.com/coder/coder/issues/15109.

- adds the DisableForeignKeysAndTriggers utility, which simplifies
converting tests from in-mem to postgres
- converts the dbauthz test suite to pass on both the in-mem db and
Postgres
2025-01-08 16:22:51 +01:00
Muhammad Atif Ali 13cfaae619 chore: update JetBrains IDE icons (#16065)
JetBrains have updated the icons as per
https://www.jetbrains.com/company/brand/#logos-and-icons.
Noticed while adding #16057
2025-01-08 19:29:53 +05:00
Mathias Fredriksson ba6e84dec3 fix(cli/ssh): retry on autostart conflict (#16058) 2025-01-08 15:15:30 +02:00
Cian Johnston 53d9c7ebe4 chore(go.mod): remove replace directive for dlclark/regexp2 (#16069)
Right now, it looks like we only utilise dlclark/regexp2 as a transitive
dependency of charmbracelet/glamour:

```
$ go mod why github.com/dlclark/regexp2
# github.com/dlclark/regexp2
github.com/coder/coder/v2/coderd/render
github.com/charmbracelet/glamour/ansi
github.com/alecthomas/chroma/v2
github.com/dlclark/regexp2
```

The reason for this replacement was to avoid a goroutine leak in unit
tests.
However, I'm currently unable to replace the goroutine leak as we do not
perform any leak detection tests in `coderd/render`.

If required, we can use the workaround detailed in regexp2's README.md:


https://github.com/dlclark/regexp2/blob/v1.11.4/README.md#goroutine-leak-error
2025-01-08 13:15:13 +00:00
Cian Johnston dc293ea72c chore(go.mod): update pkg/sftp to version including fix for pkg/sftp#574 (#16068)
Fix for github.com/pkg/sftp#574 was merged in
https://github.com/pkg/sftp/commit/46d90e3f96e83d4fe2cad4163685ed92d056a236
so we can remove this replace directive now.
2025-01-08 13:07:06 +00:00
Jaayden Halko 8a0094ce70 feat: add redesigned organization settings sidebar (#15932)
resolves coder/internal#173, coder/internal#175

This PR does the following
1. Updates the left sidebar for organizations to use a dropdown to
select the organization
2. Move the create organization button inside the dropdown
3. Update the design of the create organization page
4. Do not display the organization in the dropdown if there is only 1
org to display

Figma:
https://www.figma.com/design/OR75XeUI0Z3ksqt1mHsNQw/Dashboard-v1?node-id=139-1380&m=dev

The loading state for the save button in the create organization form
will be handled separately after #14978 is completed.

Note: Since the dropdown is based off the cmdk component, navigation in
the dropdown is handled by the arrow keys, https://cmdk.paco.me/

<img width="560" alt="Screenshot 2025-01-03 at 21 11 26"
src="https://github.com/user-attachments/assets/ff6e61ab-c8d4-4f97-b603-306492e9bfec"
/>
<img width="641" alt="Screenshot 2025-01-03 at 21 11 39"
src="https://github.com/user-attachments/assets/fedb28e0-9ef3-4b0f-8665-06215338f351"
/>
<img width="1178" alt="Screenshot 2025-01-03 at 21 12 05"
src="https://github.com/user-attachments/assets/ee672533-2689-4b2e-a7bf-471ea72e1095"
/>
<img width="1177" alt="Screenshot 2025-01-03 at 21 12 39"
src="https://github.com/user-attachments/assets/f13824a6-2581-4bff-b5b6-2024c2e145a4"
/>
2025-01-08 08:01:00 -05:00
Cian Johnston dcf0337455 chore(go.mod): update fork of terraform-config-inspect (#16059)
Updates our fork of github.com/hashicorp/terraform-config-inspect to new location
2025-01-08 12:16:12 +00:00
Edward Angertandcoryb 9fe92a9463 docs: fix workspacebuilds logs api docs (#16062)
Co-authored-by: coryb <cbennett@netflix.com>
2025-01-08 09:34:54 +05:00
Muhammad Atif Ali 5895c37db4 docs: expand the list of JetBrains IDEs supported via Gateway (#16060) 2025-01-07 15:11:41 -05:00
ee1829ba71 docs: update external auth to better explain process (#16027)
- adds to @ChristopherJTrent's PR #15970

> Adds more information on how to add external auth, including
docker-compose and docker CLI examples and terraform code for template
integration.

- general edits and improvements to the external-auth doc


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

---------

Co-authored-by: Christopher Trent <ChristopherJTrent@outlook.com>
Co-authored-by: Muhammad Atif Ali <me@matifali.dev>
2025-01-07 15:10:16 -05:00
Phorcys 8fb7832b27 feat(examples/templates/azure-windows): add azure region and windows-rdp modules (#15516) 2025-01-07 18:41:04 +00:00
Muhammad Atif Ali c41254b9b6 chore(site): use .gitignore in biome.jsonc (#16026) 2025-01-07 23:21:10 +05:00
Bruno Quaresma cb6facb53a refactor: use the new button component on forms and dialogs (#16050)
This is a significant PR that will impact many parts of the UI, so I’d
like to ask you, @jaaydenh, for a very thorough review of the Storybook
stories on Chromatic. I know it’s a bit of a hassle with around 180
stories affected, but it’s all for a good cause 💪

Main changes:
- Update the `Button` component to match the [new buttons
design](https://www.figma.com/design/WfqIgsTFXN2BscBSSyXWF8/Coder-kit?node-id=3-1756&p=f&m=dev).
- Update forms and dialogs to use the new `Button` component.

Related to https://github.com/coder/coder/issues/14978
2025-01-07 14:28:58 -03:00
Vincent Vielle 289338f19e feat(site): connect open_in parameter (#16036)
Second step to resolve [open_in
issue](https://github.com/coder/terraform-provider-coder/issues/297)

This PR improves the way the open_in parameter is forwarded across the
code, changing the last `string` to const everywhere.

Also make sure it is available and forwarded up to the `CreateLink`
component.
2025-01-07 18:08:03 +01:00
Muhammad Atif Ali b5c85a8abd feat(site): add RustRover icon for JetBrains Gateway module (#16057) 2025-01-07 20:50:00 +05:00
Bruno Quaresma fc7a7dfff7 fix: adjust template row alignment when missing description (#16056)
Fix https://github.com/coder/coder/issues/16046

**Before:**

![image](https://github.com/user-attachments/assets/90640f04-4d41-463e-b81d-92b78cba10f5)

**After:**
<img width="1336" alt="Screenshot 2025-01-07 at 09 34 28"
src="https://github.com/user-attachments/assets/33f0f9b1-0594-41c3-93c3-3225f791e2cf"
/>


**Bonus:**
Adjust the skeleton to match the new design.
2025-01-07 09:41:26 -03:00
Stephen Kirby b98a1add98 chore(docs): skip january release in calendar (#16052)
We're skipping the January release as our teams have been out during the
holidays. Our next minor version increment will be on February 4th.
2025-01-06 16:18:43 -06:00
dependabot[bot] 79c0f41ce7 chore: bump github.com/zclconf/go-cty from 1.15.1 to 1.16.0 (#16044)
Bumps [github.com/zclconf/go-cty](https://github.com/zclconf/go-cty)
from 1.15.1 to 1.16.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 14:48:18 +00:00