Commit Graph
8774 Commits
Author SHA1 Message Date
dependabot[bot] 085268640b chore: bump github.com/go-playground/validator/v10 from 10.23.0 to 10.24.0 (#16111)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 18:39:51 +05:00
Dean Sheather 0ecd38c434 chore: remove Tokyo server from dogfood (#16146) 2025-01-15 13:33:48 +00:00
Bruno Quaresma 91fd0c1eab refactor: set min width as 80px for buttons (#16145)
During a [design
discussion](https://www.figma.com/design/OR75XeUI0Z3ksqt1mHsNQw?node-id=1849-2788#1091281774),
I realized that buttons should have a minimum width of 80px.

<img width="304" alt="attachment"
src="https://github.com/user-attachments/assets/55bc444e-b156-442f-9ccd-1dc84bbce7e5"
/>
2025-01-15 10:03:01 -03:00
Sas Swart ab880904e2 feat(coderd/database): order user engagement statistics by date (#16142)
This PR orders user engagement statistics by date as mentioned
[here](https://github.com/coder/coder/pull/16134/files#diff-1844f895bb005f036da11d800fe2a76b54bfddd481c5d8cb15f210c64679caa5R47)
2025-01-15 13:19:25 +02:00
Ethan a252d13724 chore: exclude otlp trace provider from slim builds (#16140)
This adds a build flag to `exporter.go` in `coderd/tracing` that skips
compiling the file in slim builds. This file brings in some relatively
hefty dependencies that were growing the size of the slim binary a few
megabytes. All files that import `exporter.go` also aren't included in
slim builds, so this is safe.

We end up saving 5.4MB on the Linux slim binary.
2025-01-15 20:51:32 +11:00
Ethan 2413106f22 fix: improve shell compatibility of netstat check in test (#16141)
When I wrote the original just the other day, I used `$?`, which is fine
on CI and in most cases, but not when the person running the test has
their system shell set to fish (Fish uses $status) instead. In the
interest of letting this test pass locally, I'll instead just grab the
line count of the grep output. However, `wc` is padded on macos with
spaces, so we need to get rid of those too.
2025-01-15 03:23:53 +00:00
Stephen Kirby 53806906ea chore(docs): tweak replica verbiage on reference architectures (#16076)
A seller noted that the `/` operator made the node count hard to
interpret.
2025-01-14 16:26:10 -06:00
ケイラ a450121e74 feat: bundle a local version of install.sh (#16064) 2025-01-14 11:30:39 -07:00
Mathias Fredriksson 5a89e89d7e chore(dogfood): unminimize ubuntu image to include man pages (#16133) 2025-01-14 19:10:18 +02:00
Cian Johnston 12991ff43e fix(coderd): change the order of precedence between coder_workspace_tags and request tags (#16119)
This PR switches the order of precedence of workspace tags when posting
a template version.
Previously, user-specified tags in the request could not override those
detected from our parsing of the template file. Now, they can do.

This addresses a customer issue where were attempting to set a workspace
tag via variable.

Note: there is a possible follow-up item here where we could pass in the
workspace tag values from the request into `tfparse` and let it take
those user-specified values into account. This is covered in a separate
test.
2025-01-14 16:43:42 +00:00
Mathias Fredriksson 071bb26018 feat(coderd): add endpoint to list provisioner daemons (#16028)
Updates #15190
Updates #15084
Supersedes #15940
2025-01-14 16:40:26 +00:00
Cian Johnston d7809ecf3f fix(scripts/coder-dev.sh): silence output if stdout is not a TTY (#16131)
The `make -j` output was sometimes emitting non-JSON output from `go
generate`, resulting in errors like the below:

```
++ /home/coder/src/coder/coder/scripts/coder-dev.sh organizations show me -o json
++ jq -r '.[] | select(.is_default) | .name'
parse error: Invalid numeric literal at line 1, column 3
```

This PR modifies `coder-dev.sh` to silence the output of `make` if the
output is not a TTY.
2025-01-14 14:34:23 +00:00
Bruno Quaresma 473fcc33a5 chore: add Chart component (#16118)
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-14 09:04:14 -03:00
Aaron Lehmann 8f02e633bf feat: use wildcard Host entry in config-ssh (#16096)
Rather than create a separate `Host` entry for every workspace,
configure a wildcard such as `coder.*` which can accomodate all of a
user's workspaces.

Depends on #16088.
2025-01-13 19:07:42 -06:00
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