Ammar Bandukwala
dd97fe2bce
chore(cli): replace lipgloss with coder/pretty ( #9564 )
...
This change will improve over CLI performance and "snappiness" as well as
substantially reduce our test times. Preliminary benchmarks show
`coder server --help` times cut from 300ms to 120ms on my dogfood
instance.
The inefficiency of lipgloss disproportionately impacts our system, as all help
text for every command is generated whenever any command is invoked.
The `pretty` API could clean up a lot of the code (e.g., by replacing
complex string concatenations with Printf), but this commit is too
expansive as is so that work will be done in a follow up.
2023-09-07 16:28:22 -05:00
Cian Johnston
7d7c84bb4d
feat(coderd): connect dbcrypt package implementation ( #9523 )
...
See also: https://github.com/coder/coder/pull/9522
- Adds commands `server dbcrypt {rotate,decrypt,delete}` to re-encrypt, decrypt, or delete encrypted data, respectively.
- Plumbs through dbcrypt in enterprise/coderd (including unit tests).
- Adds documentation in admin/encryption.md.
This enables dbcrypt by default, but the feature is soft-enforced on supplying external token encryption keys. Without specifying any keys, encryption/decryption is a no-op.
2023-09-07 15:49:49 +01:00
Cian Johnston
7918e65510
feat(coderd): add dbcrypt package ( #9522 )
...
- Adds package enterprise/dbcrypt to implement database encryption/decryption
- Adds table dbcrypt_keys and associated queries
- Adds columns oauth_access_token_key_id and oauth_refresh_token_key_id
to tables git_auth_links and user_links
Co-authored-by: Kyle Carberry <kyle@coder.com >
2023-09-06 12:06:26 +01:00
Steven Masley
58f7071569
fix: make 'NoRefresh' honor unlimited tokens in gitauth ( #9472 )
...
* chore: fix NoRefresh to honor unlimited tokens
* improve testing coverage of gitauth
* refactor rest of gitauth tests
2023-09-05 09:08:04 -05:00
Mathias Fredriksson
76ab22f539
chore(coderd/database): introduce compile-time guard against import in slim build ( #9521 )
...
This change introduces a compile-time error when `coderd/database` is
imported into the slim build. This is to guard against accidentally
growing the binary size via import.
Ref: #9380
2023-09-04 19:01:11 +00:00
Mathias Fredriksson
adba421524
refactor(coderd/telemetry): move CLI telemetry to cli/telemetry ( #9517 )
...
This change removes an indirect import of `coderd/database` from the
slim binary.
No size change (yet).
Ref: #9380
2023-09-04 21:42:45 +03:00
Mathias Fredriksson
39e3b049a5
refactor(coderd/healthcheck): move derp report to derphealth package ( #9506 )
...
This change helps remove one indirect use of coderd/database in the slim
CLI.
No size change (yet).
Ref: #9380
2023-09-04 21:41:50 +03:00
Mathias Fredriksson
6fc1f5276d
refactor(coderd/httpapi): remove database, dbauthz and rbac imports ( #9481 )
...
Ref: #9380
2023-09-04 19:39:14 +03:00
Mathias Fredriksson
ad23d33f28
refactor(coderd/schedule): move cron schedule to cron package ( #9507 )
...
This removes an indirect import of `coderd/database` from the CLI and
results in a logical separation between server related and generalized
schedule.
No size change (yet).
Ref: #9380
2023-09-04 16:48:25 +03:00
Mathias Fredriksson
19d7da3d24
refactor(coderd/database): split Time and Now into dbtime package ( #9482 )
...
Ref: #9380
2023-09-01 16:50:12 +00:00
Mathias Fredriksson
702b064cac
refactor: split coderd/gitauth into two, add cli/gitauth ( #9479 )
...
* refactor: split coderd/gitauth into two, add cli/gitauth
Ref: #9380
2023-09-01 15:41:22 +00:00
Marcin Tojek
5d7a77911e
fix: use getProvisionerJobByIDNoLock ( #9484 )
2023-09-01 13:21:18 +00:00
Cian Johnston
bc9fdd15f2
fix(enterprise/cli): correctly set default tags for PSK auth ( #9436 )
...
* provisionerd: unconditionally set tag scope to org for psk auth
* provisionerd: add unit tests for MutateTags
* cli: add some informational logging around provisionerd tags
* cli: respect CODER_VERBOSE when initializing logger
2023-09-01 10:37:09 +01:00
Kayla Washburn
eded7a4b88
feat: create a workspace from any template version ( #9471 )
2023-08-31 15:07:58 -06:00
Colin Adler
796a9754a9
feat(enterprise/audit): add user object to slog exporter ( #9456 )
2023-08-31 13:32:28 -05:00
Marcin Tojek
11d4b6f758
chore: move dormancy to enterprise package ( #9468 )
2023-08-31 17:59:53 +02:00
Cian Johnston
22f31e721c
fix(coderd/prometheusmetrics): close batcher to force flush before asserting agent stats ( #9465 )
2023-08-31 11:40:57 +01:00
Spike Curtis
ed50acaabf
fix: don't log error on context cancel ( #9463 )
...
Signed-off-by: Spike Curtis <spike@coder.com >
2023-08-31 12:08:18 +04:00
Steven Masley
e827278db7
feat: failed update refresh should redirect to login ( #9442 )
...
* chore: update refresh oauth token message
* chore: unauthorized -> forbidden for non authentication failures
* redirect to login on all 401 responses
* add unit test to verify 401 on expired refresh
2023-08-30 16:14:24 -05:00
Dean Sheather
1de61246a3
feat: add experimental template autostop requirement template settings UI ( #9417 )
2023-08-30 20:41:27 +00:00
Jon Ayers
ee24260614
feat: allow configuring display apps from template ( #9100 )
2023-08-30 14:53:42 -05:00
Steven Masley
a910e934a4
chore: improve error message around gitaskpass failures ( #9407 )
2023-08-30 08:58:31 -05:00
Bruno Quaresma
2399063a56
feat(site): make workspace batch deletion GA ( #9313 )
2023-08-30 10:08:42 -03:00
Spike Curtis
90acf998bf
fix: fix null pointer on external provisioner daemons with daily_cost ( #9401 )
...
* fix: fix null pointer on external provisioner daemons with daily_cost
Signed-off-by: Spike Curtis <spike@coder.com >
* Add logging for debounce and job acquire
Signed-off-by: Spike Curtis <spike@coder.com >
* Return error instead of panic
Signed-off-by: Spike Curtis <spike@coder.com >
* remove debounce on external provisioners to fix test flakes
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-08-30 10:48:35 +00:00
Ammar Bandukwala
16ef97a061
feat(cli): add DataDog Go tracer ( #9411 )
2023-08-29 22:14:28 +00:00
Dean Sheather
a572800d47
chore: rename template restart requirement to autostop requirement ( #9295 )
2023-08-29 18:35:05 +00:00
Mathias Fredriksson
3557497ea4
test(coderd): fix workspace rename test ( #9402 )
...
Fixes #9400
2023-08-29 11:42:42 +00:00
Dean Sheather
5993f85ec9
fix: avoid redirect loop on workspace proxies ( #9389 )
...
* fix: avoid redirect loop on workspace proxies
---------
Co-authored-by: Steven Masley <stevenmasley@coder.com >
2023-08-28 20:34:52 -05:00
Mathias Fredriksson
487bdc2e08
fix(coderd): allow workspaceAgentLogs follow to return on non-latest-build ( #9382 )
2023-08-28 19:46:42 +00:00
Bruno Quaresma
d138ed7314
fix(coderd): send updated workspace data adter ws connection ( #9392 )
2023-08-28 15:14:17 -03:00
Dean Sheather
a2be2f9838
fix: avoid derp-map updates endpoint leak ( #9390 )
2023-08-28 18:13:19 +00:00
Ammar Bandukwala
594a6aae19
chore: format oidctest ( #9362 )
2023-08-27 19:51:13 +00:00
Ammar Bandukwala
6ba92ef924
ci: enable gocognit ( #9359 )
...
And, bring the server under 300:
* Removed the undocumented "disable" STUN address in favor of the
--disable-direct flag.
2023-08-27 14:46:44 -05:00
Kyle Carberry
61634d482f
fix: truncate websocket close error ( #9360 )
...
Related #9324
2023-08-27 16:26:31 +00:00
Kyle Carberry
c3ac55ff42
feat: add template_active_version_id to workspaces ( #9226 )
...
* feat: add `template_active_version_id` to workspaces
This reduces a fetch in the VS Code extension when getting the
active version update message!
* Fix entities.ts
* Fix golden gen
2023-08-27 16:26:20 +00:00
Steven Masley
d9d4d74f99
test: add full OIDC fake IDP ( #9317 )
...
* test: implement fake OIDC provider with full functionality
* Refactor existing tests
2023-08-25 14:34:07 -05:00
Spike Curtis
e7a231e44f
fix: fix test flake introduced by #9264 ( #9330 )
...
* Fix test flake introduced by #9264
Signed-off-by: Spike Curtis <spike@coder.com >
* change check to match suffix
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-08-25 10:48:42 +00:00
Spike Curtis
60d5002eb6
refactor: change template archive extraction to be on provisioner ( #9264 )
...
* refactor provisionersdk protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor provisioners to use new protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor provisionerd to use new protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor tests & proto renames
* Fixes from self-review
Signed-off-by: Spike Curtis <spike@coder.com >
* appease fmt & link
Signed-off-by: Spike Curtis <spike@coder.com >
* code review fixes & e2e fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* More fmt
Signed-off-by: Spike Curtis <spike@coder.com >
* Code review fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* new gen; use uuid for session workdir
Signed-off-by: Spike Curtis <spike@coder.com >
* Revert nix-based gen CI task until dogfood is on nix
Signed-off-by: Spike Curtis <spike@coder.com >
* revert deleting dogfood Docker stuff
Signed-off-by: Spike Curtis <spike@coder.com >
* Revert "revert deleting dogfood Docker stuff"
This reverts commit 9762158167 .
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-08-25 06:10:15 +00:00
Ammar Bandukwala
630ec55c48
fix(coderd): remove rate limits from agent metadata ( #9308 )
...
Include the full update message in the PubSub notification so that
we don't have to refresh metadata from the DB and can avoid rate
limiting.
2023-08-24 15:18:42 -05:00
Jon Ayers
7f14b50dbe
chore: rename locked to dormant ( #9290 )
...
* chore: rename locked to dormant
- The following columns have been updated:
- workspace.locked_at -> dormant_at
- template.inactivity_ttl -> time_til_dormant
- template.locked_ttl -> time_til_dormant_autodelete
This change has also been reflected in the SDK.
A route has also been updated from /workspaces/<id>/lock to /workspaces/<id>/dormant
2023-08-24 13:25:54 -05:00
Dean Sheather
64df076328
feat: add server flag to force DERP to use always websockets ( #9238 )
2023-08-24 17:22:31 +00:00
Mathias Fredriksson
af939d1e94
fix(coderd): optimize template app insights query for speed and decrease intervals ( #9302 )
2023-08-24 14:34:38 +00:00
Mathias Fredriksson
04d5e3f54f
fix(coderd): rewrite template insights query for speed and fix intervals ( #9300 )
2023-08-24 14:38:32 +03:00
Mathias Fredriksson
d00817ea4a
perf(coderd): simplify insights queries to speed them up ( #9299 )
2023-08-24 10:52:20 +00:00
Mathias Fredriksson
6b69abfec7
fix(coderd): use stable sorting for insights and improve test coverage ( #9250 )
...
Fixes #9213
2023-08-24 13:36:40 +03:00
coryb
113894c045
fix(coderd): prevent oidc refresh being ignored ( #9293 )
2023-08-24 00:42:20 -05:00
Kyle Carberry
707a0a2d95
fix: resolve deadlock when fetching everyone group for in-memory db ( #9277 )
2023-08-23 16:54:16 +00:00
Marcin Tojek
e845deaa89
fix: prompt when parameter options are incompatible ( #9247 )
2023-08-23 18:18:38 +02:00
Mathias Fredriksson
8bfa312905
fix(coderd): parallelize queries to improve template insights performance ( #9275 )
2023-08-23 15:31:23 +00:00
Dean Sheather
f35423c041
fix: update conn derpmap every 5s in single tailnet ( #9176 )
2023-08-23 11:20:31 +00:00