Kyle Carberry
5abfe5afd0
chore: rename dbfake to dbmem ( #10432 )
2023-10-30 17:42:20 +00:00
Spike Curtis
7a8da08124
feat: add api_version column to workspace_agents ( #10418 )
...
Adds api_version to workspace_agents table
Part of #10399
2023-10-30 21:30:49 +04:00
Kira Pilot
ed5567ba28
fix: show dormant and suspended users in groups ( #10333 )
...
* fix: show dormant and suspended users in groups
* added status column
2023-10-20 11:36:00 -04:00
Marcin Tojek
c4f590581e
feat: expose template insights as Prometheus metrics ( #10325 )
2023-10-19 08:45:12 +00:00
Jon Ayers
997493d4ae
feat: add template setting to require active template version ( #10277 )
2023-10-18 17:07:21 -05:00
Colin Adler
1ad998ee3a
fix: add requester IP to workspace build audit logs ( #10242 )
2023-10-18 15:08:02 -05:00
Kayla Washburn
619df23ad1
chore: fix linting issues and generated files ( #10317 )
2023-10-17 14:41:35 -06:00
Steven Masley
39c0539d42
feat: add controls to template for determining startup days ( #10226 )
...
* feat: template controls which days can autostart
* Add unit test to test blocking autostart with DaysOfWeek
2023-10-13 11:57:18 -05:00
Mathias Fredriksson
7eeba15d16
feat(coderd): add support for sending batched agent metadata ( #10223 )
...
Part of #9782
2023-10-13 16:37:55 +03:00
Cian Johnston and Dean Sheather
d56f49f619
fix(coderd): make activitybump aware of default template ttl ( #10253 )
...
The refactored ActivityBump query did not take into account the
template-level TTL, resulting in potentially incorrect bump
amounts for workspaces that have both a user-defined and template-
defined TTL that differ.
This change is ported over from PR#10035 to reduce the overall
size of that PR.
Also includes a drive-by unit test in autobuild for checking template autostop/TTL.
Co-authored-by: Dean Sheather <dean@deansheather.com >
2023-10-13 13:53:02 +01:00
Mathias Fredriksson
782c22a293
test(coderd/database/dbtestutil): allow access to *sql.DB ( #10238 )
2023-10-12 15:07:16 +03:00
Steven Masley
1e950fa9a8
feat: archive template versions to hide them from the ui ( #10179 )
...
* api + cli implementation
2023-10-11 09:26:22 -05:00
Jon Ayers
ec9b480ac0
fix: use is-dormant instead of dormant_at ( #10191 )
2023-10-10 19:00:09 -05:00
Steven Masley
69d13f1676
chore: add archive column to template versions ( #10178 )
...
* chore: add archive column to template versions
2023-10-10 10:52:42 -05:00
Kyle Carberry
863c2e7b64
feat: allow storing extra oauth token properties in the database ( #10152 )
2023-10-09 18:49:30 -05:00
Spike Curtis
983e8c3ae8
feat: add API support for workspace automatic updates ( #10099 )
...
* Added automatic_updates to workspaces table
Signed-off-by: Spike Curtis <spike@coder.com >
* Queries and API updates
Signed-off-by: Spike Curtis <spike@coder.com >
* Golden files
Signed-off-by: Spike Curtis <spike@coder.com >
* Enable automatic updates on autostart
Signed-off-by: Spike Curtis <spike@coder.com >
* db migration number
Signed-off-by: Spike Curtis <spike@coder.com >
* fix imports and ts mock
Signed-off-by: Spike Curtis <spike@coder.com >
* code review updates
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-10-06 13:27:12 +04:00
Jon Ayers
b32d79ef0b
fix: fix failed workspaces continuously auto-deleting ( #10069 )
...
- Fixes an issue where workspaces that are eligible for auto-deletion
are retried every tick (1 minute) even if the previous deletion
transition failed.
The updated logic only attempts to delete workspaces that previously
failed once a day (24 hours since last attempt).
2023-10-05 14:11:39 -05:00
Kyle Carberry
888b97fd86
chore: use JobStatus computed from the db ( #10079 )
...
Fixes `main`
2023-10-05 18:25:06 +00:00
Marcin Tojek
ab9276bd08
feat: modify workspace_agent_stats index ( #10073 )
2023-10-05 14:49:08 +02:00
Steven Masley
5021e23105
chore: compute job status as column ( #10024 )
...
* chore: provisioner job status as column
* use provisioner job status for workspace searching
2023-10-04 20:57:46 -05:00
Cian Johnston
2405bbe1b9
fix(coderd/database/dbtestutil): fix typo in pgDump ( #10033 )
2023-10-04 13:21:45 +01:00
Kyle Carberry
45b53c285f
feat: allow external services to be authable ( #9996 )
...
* feat: allow external services to be authable
* Refactor external auth config structure for defaults
* Add support for new config properties
* Change the name of external auth
* Move externalauth -> external-auth
* Run gen
* Fix tests
* Fix MW tests
* Fix git auth redirect
* Fix lint
* Fix name
* Allow any ID
* Fix invalid type test
* Fix e2e tests
* Fix comments
* Fix colors
* Allow accepting any type as string
* Run gen
* Fix href
2023-10-03 14:04:39 +00:00
Marcin Tojek
cb60409a8c
feat: add index to workspace_agent_stats ( #10009 )
2023-10-03 11:13:44 +00:00
Cian Johnston
e55c25e037
chore: enable exhaustruct linter for database param structs ( #9995 )
2023-10-03 09:23:45 +01:00
Kyle Carberry
5596fb20b5
chore: move /gitauth to /externalauth on the frontend ( #9954 )
...
* chore: move `/gitauth` to `/externalauth` on the frontend
This actually took a lot more jank than anticipated,
so I wanted to split this up before adding the ability
to embed new providers.
* Rename FE
* Fix em' up
* Fix linting error
* Fix e2e tests
* chore: update helm golden files
2023-09-30 14:30:01 -05:00
Kyle Carberry
8abca9bea7
chore: rename git_auth to external_auth in our schema ( #9935 )
...
* chore: rename `git_auth` to `external_auth` in our schema
We're changing Git auth to be external auth. It will support
any OAuth2 or OIDC provider.
To split up the larger change I want to contribute the schema
changes first, and I'll add the feature itself in another PR.
* Fix names
* Fix outdated view
* Rename some additional places
* Fix sort order
* Fix template versions auth route
* Fix types
* Fix dbauthz
2023-09-29 19:13:20 +00:00
Marcin Tojek
cb5f8df4c2
feat: expose application name via Appearance API ( #9886 )
2023-09-27 17:02:18 +02:00
Marcin Tojek
4c3b579f58
feat: expose insights into user activity ( #9807 )
2023-09-26 18:42:16 +02:00
Kyle Carberry and Muhammad Atif Ali
1262eef2c0
feat: add support for coder_script ( #9584 )
...
* Add basic migrations
* Improve schema
* Refactor agent scripts into it's own package
* Support legacy start and stop script format
* Pipe the scripts!
* Finish the piping
* Fix context usage
* It works!
* Fix sql query
* Fix SQL query
* Rename `LogSourceID` -> `SourceID`
* Fix the FE
* fmt
* Rename migrations
* Fix log tests
* Fix lint err
* Fix gen
* Fix story type
* Rename source to script
* Fix schema jank
* Uncomment test
* Rename proto to TimeoutSeconds
* Fix comments
* Fix comments
* Fix legacy endpoint without specified log_source
* Fix non-blocking by default in agent
* Fix resources tests
* Fix dbfake
* Fix resources
* Fix linting I think
* Add fixtures
* fmt
* Fix startup script behavior
* Fix comments
* Fix context
* Fix cancel
* Fix SQL tests
* Fix e2e tests
* Interrupt on Windows
* Fix agent leaking script process
* Fix migrations
* Fix stories
* Fix duplicate logs appearing
* Gen
* Fix log location
* Fix tests
* Fix tests
* Fix log output
* Show display name in output
* Fix print
* Return timeout on start context
* Gen
* Fix fixture
* Fix the agent status
* Fix startup timeout msg
* Fix command using shared context
* Fix timeout draining
* Change signal type
* Add deterministic colors to startup script logs
---------
Co-authored-by: Muhammad Atif Ali <atif@coder.com >
2023-09-25 16:47:17 -05:00
Cian Johnston
8d8402da00
fix(coderd/database): avoid clobbering workspace build state ( #9826 )
...
Fixes #9823 .
- Decomposes UpdateWorkspaceBuildByID into UpdateWorkspaceBuildProvisionerStateByID and UpdateWorkspaceBuildDeadlineByID.
- Replaces existing invocations of UpdateWorkspaceBuildByID with the newer queries where applicable.
- Modifies GetActiveWorkspaceBuildsByTemplateID to not return incomplete workspace builds.
2023-09-22 16:22:07 +01:00
Colin Adler
c900b5f8df
feat: add single tailnet support to pgcoord ( #9351 )
2023-09-21 14:30:48 -05:00
Marcin Tojek
b0e3daa120
feat(coderd): support weekly aggregated insights ( #9684 )
2023-09-19 13:06:19 +02:00
Spike Curtis
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
Cian Johnston
aa8652c928
fix(dbtestutil): avoid truncating inserts that span multiple lines ( #9756 )
2023-09-18 19:46:22 +00:00
Cian Johnston
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
Cian Johnston
9bcff30dee
fix(coderd/database): migrate workspaces.last_used_at to timestamptz ( #9699 )
2023-09-18 11:07:54 +01:00
Cian Johnston
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
Marcin Tojek
d0d64bbdca
refactor: define insights interval ( #9693 )
2023-09-15 12:01:00 +00:00
Cian Johnston
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
Cian Johnston
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
Cian Johnston
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
Cian Johnston and Kyle Carberry
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
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
6fc1f5276d
refactor(coderd/httpapi): remove database, dbauthz and rbac imports ( #9481 )
...
Ref: #9380
2023-09-04 19:39:14 +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
Marcin Tojek
5d7a77911e
fix: use getProvisionerJobByIDNoLock ( #9484 )
2023-09-01 13:21:18 +00: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
Dean Sheather
a572800d47
chore: rename template restart requirement to autostop requirement ( #9295 )
2023-08-29 18:35:05 +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