d6089ae0ad
fix(coderd/batchstats): use debug log on context cancellation in flush ( #9777 )
2023-09-19 13:19:39 +00:00
b0e3daa120
feat(coderd): support weekly aggregated insights ( #9684 )
2023-09-19 13:06:19 +02:00
375c70d141
feat: integrate Acquirer for provisioner jobs ( #9717 )
...
* chore: add Acquirer to provisionerdserver pkg
Signed-off-by: Spike Curtis <spike@coder.com >
* code review improvements & fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* feat: integrate Acquirer for provisioner jobs
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix imports, whitespace
Signed-off-by: Spike Curtis <spike@coder.com >
* provisionerdserver always closes; remove poll interval from playwright
Signed-off-by: Spike Curtis <spike@coder.com >
* post jobs outside transactions
Signed-off-by: Spike Curtis <spike@coder.com >
* graceful shutdown in test
Signed-off-by: Spike Curtis <spike@coder.com >
* Mark AcquireJob deprecated
Signed-off-by: Spike Curtis <spike@coder.com >
* Graceful shutdown on all provisionerd tests
Signed-off-by: Spike Curtis <spike@coder.com >
* Deprecate, not remove CLI flags
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-09-19 10:25:57 +04:00
aa8652c928
fix(dbtestutil): avoid truncating inserts that span multiple lines ( #9756 )
2023-09-18 19:46:22 +00:00
1df7589105
feat(coderd/database/dbtestutil): add ability to dump database on failure ( #9704 )
...
Adds dbtestutil.DumpOnFailure() to allow dumping the entire test database contents upon test failure.
This does nothing for dbfake currently.
2023-09-18 11:50:15 +01:00
9bcff30dee
fix(coderd/database): migrate workspaces.last_used_at to timestamptz ( #9699 )
2023-09-18 11:07:54 +01:00
653488e8ee
fix(coderd): emit CollectedAt as UTC in convertWorkspaceAgentMetadata ( #9700 )
2023-09-18 09:17:18 +01:00
efe804498b
feat: add quiet hours settings page ( #9676 )
2023-09-15 11:14:33 -06:00
72dff7f188
fix(enterprise/dbcrypt): do not skip deleted users when encrypting or deleting ( #9694 )
...
- Broadens scope of data generation in TestServerDBCrypt over all user login types, statuses, and deletion status.
- Adds support for specifying user status / user deletion status in dbgen
- Adds more comprehensive logging in TestServerDBCrypt upon test failure (to be generalized and expanded upon in a follow-up)
- Adds AllUserIDs query, updates dbcrypt to use this instead of GetUsers.
2023-09-15 15:09:40 +01:00
d0d64bbdca
refactor: define insights interval ( #9693 )
2023-09-15 12:01:00 +00:00
65db7a71b7
feat(coderd/database/dbtestutil): set default database timezone to non-UTC in unit tests ( #9672 )
...
- Adds dbtestutil.WithTimezone(tz) to allow setting the timezone for a test database.
- Modifies our test database setup code to pick a consistently weird timezone for the database.
- Adds the facility randtz.Name() to pick a random timezone which is consistent across subtests (via sync.Once).
- Adds a linter rule to warn against setting the test database timezone to UTC.
2023-09-15 09:01:32 +01:00
dcad0a437c
fix: wait for build job ( #9680 )
2023-09-14 11:20:09 +02:00
8b6e2862fd
refactor(coderd): collapse activityBumpWorkspace into a single query ( #9652 )
...
* Adds unit-style tests for activityBumpWorkspace
* Ports logic of activityBumpWorkspace to a SQL query
* Updates activityBumpWorkspace to call above query
2023-09-14 09:09:51 +01:00
38560dd922
chore: remove coder trace telemetry ( #9677 )
2023-09-14 02:20:28 -04:00
0e4d6896e3
test: fix cleanup order on provisioner daemon work dir ( #9668 )
...
* test: fix cleanup order on provisioner daemon work dir
* Reduce the test race condition
2023-09-13 13:13:08 -05:00
3dc1e22d56
feat: add template_id and template_name to workspace data source ( #9655 )
2023-09-13 11:09:08 -05:00
d171b3611b
fix: flaky: TestDeleteTemplate/NoWorkspaces ( #9666 )
2023-09-13 17:05:08 +02:00
4ebf490d97
feat: add Acquirer to provisionerdserver pkg ( #9658 )
...
* chore: add Acquirer to provisionerdserver pkg
Signed-off-by: Spike Curtis <spike@coder.com >
* code review improvements & fixes
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-09-13 16:36:43 +04:00
2ac532982d
feat(coderd/database): generate foreign key constraints and add database.IsForeignKeyViolation ( #9657 )
...
* feat(coderd/database): generate foreign key constraints, add database.IsForeignKeyViolation
* address PR comments
2023-09-13 13:28:46 +01:00
e2579e9440
test: fix flaky TestPatchTemplateMeta/Modified ( #9656 )
2023-09-13 11:34:53 +02:00
0e28397c82
fix: use CRC32 to shorten app subdomain ( #9645 )
2023-09-12 17:11:45 +02:00
898971b329
refactor: generate application URL on backend side ( #9618 )
2023-09-12 15:25:10 +02:00
ad23075e1b
refactor: build application URL ( #9601 )
...
* refactor: build application URL
* fix
2023-09-08 14:01:57 +00:00
8d7eb1728c
fix: stop inserting provisioner daemons into the database ( #9108 )
...
Signed-off-by: Spike Curtis <spike@coder.com >
2023-09-08 10:37:36 +00:00
11b6068112
feat: add support for networked provisioners ( #9593 )
...
* Refactor provisionerd to use interface to connect to provisioners
Signed-off-by: Spike Curtis <spike@coder.com >
* feat: add support for networked provisioners
Signed-off-by: Spike Curtis <spike@coder.com >
* fix token length and linting
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-09-08 09:53:48 +00:00
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
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
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
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
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
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
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
6fc1f5276d
refactor(coderd/httpapi): remove database, dbauthz and rbac imports ( #9481 )
...
Ref: #9380
2023-09-04 19:39:14 +03:00
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
19d7da3d24
refactor(coderd/database): split Time
and Now
into dbtime
package ( #9482 )
...
Ref: #9380
2023-09-01 16:50:12 +00:00
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
5d7a77911e
fix: use getProvisionerJobByIDNoLock ( #9484 )
2023-09-01 13:21:18 +00:00
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
eded7a4b88
feat: create a workspace from any template version ( #9471 )
2023-08-31 15:07:58 -06:00
796a9754a9
feat(enterprise/audit): add user object to slog exporter ( #9456 )
2023-08-31 13:32:28 -05:00
11d4b6f758
chore: move dormancy to enterprise package ( #9468 )
2023-08-31 17:59:53 +02:00
22f31e721c
fix(coderd/prometheusmetrics): close batcher to force flush before asserting agent stats ( #9465 )
2023-08-31 11:40:57 +01:00
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
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
1de61246a3
feat: add experimental template autostop requirement template settings UI ( #9417 )
2023-08-30 20:41:27 +00:00
ee24260614
feat: allow configuring display apps from template ( #9100 )
2023-08-30 14:53:42 -05:00
a910e934a4
chore: improve error message around gitaskpass failures ( #9407 )
2023-08-30 08:58:31 -05:00
2399063a56
feat(site): make workspace batch deletion GA ( #9313 )
2023-08-30 10:08:42 -03:00
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
16ef97a061
feat(cli): add DataDog Go tracer ( #9411 )
2023-08-29 22:14:28 +00:00