a7366a8b76
feat!: drop support for legacy parameters ( #7663 )
2023-06-02 11:16:46 +02:00
cf8d2bc096
feat: use tz_offset when doing deployment dau query ( #7736 )
...
* Have FE query correct tz_offset data
2023-06-01 09:23:50 -04:00
784696dfa5
feat: add prometheus metrics to database.Store ( #7713 )
...
* Adds dbmetrics package and wraps database.Store with a Prometheus HistogramVec of timings.
* Adds Wrappers method to database.Store to avoid double-wrapping interfaces
* Fixes test flake in TestLicensesListFake
2023-05-31 14:55:57 +01:00
c795a0e500
feat: Fix Deployment DAUs to work with local timezones ( #7647 )
...
* chore: Add timezone param to DAU SQL query
* Merge DAUs response
* Pass time offsets to metricscache
2023-05-30 13:18:27 -04:00
702c9081e0
fix: do not skip parameter validation if min or max = 0 ( #7707 )
2023-05-30 14:57:06 +02:00
d9299caa12
feat: order workspaces by running first ( #7656 )
...
* wip
* use updated sql
* wip
* Implement sorting in databasefake.go
* More fixes
* sql fmt
---------
Co-authored-by: Marcin Tojek <marcin@coder.com >
2023-05-25 13:35:47 -03:00
05da1e94a2
Fix pubsub goroutines in tests ( #7677 )
...
Signed-off-by: Spike Curtis <spike@coder.com >
2023-05-25 14:46:32 +04:00
67cc196c92
feat: pubsub reports dropped messages ( #7660 )
...
* Implementation; need linux tests
Signed-off-by: Spike Curtis <spike@coder.com >
* Pubsub with errors tests and fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* Deal with test goroutines
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-05-25 06:22:30 +00:00
cd416c86dd
refactor: workspace builds ( #7541 )
...
* refactor workspace builds
Signed-off-by: Spike Curtis <spike@coder.com >
* make gen
Signed-off-by: Spike Curtis <spike@coder.com >
* Remove ParameterResolver from typescript
Signed-off-by: Spike Curtis <spike@coder.com >
* rename conversion -> database/db2sdk
Signed-off-by: Spike Curtis <spike@coder.com >
* tests for db2sdk
Signed-off-by: Spike Curtis <spike@coder.com >
* Tests for ParameterResolver
Signed-off-by: Spike Curtis <spike@coder.com >
* wsbuilder tests
Signed-off-by: Spike Curtis <spike@coder.com >
* Move parameter validation tests to richparameters_test.go
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix CI generation; rename mock->dbmock
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix test imports
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-05-23 12:06:33 +04:00
ec5ef51b49
feat: add session token injection to provisioner ( #7461 )
2023-05-17 23:29:22 -05:00
00a2413c03
feat: add telemetry support for workspace agent subsystem ( #7579 )
2023-05-17 22:49:25 -05:00
70d2203b9e
chore: reduce the log output of skipped tests ( #7520 )
...
With the introduction of the workspace proxy tests there was a lot
of output if a test was eventually skipped.
2023-05-14 19:37:00 -05:00
26490aecca
chore: improve postgres test time by removing cleanup ( #7522 )
...
We don't need to delete databases on cleanup... and we don't need to
always run without a cache either!
2023-05-14 15:32:44 -05:00
b5ad628460
chore: Allow editing proxy fields via api. ( #7435 )
...
* chore: Add ability to update workspace proxy fields
2023-05-09 13:46:50 -05:00
8899dd89ca
chore: add global caching to rbac ( #7439 )
...
Co-authored-by: Steven Masley <stevenmasley@coder.com >
2023-05-08 08:59:01 -05:00
5ffa6dae50
feat: add inactivity cleanup and failure cleanup configuration fields to Template Schedule Form ( #7402 )
...
* added workspace actions entitlement
* added workspace actions experiment
* added new route for template enterprise meta
* removing new route; repurposing old
* add new fields to get endpoints
* removed workspace actions experiment
* added logic to enterprise template store
* added new form fields
* feature flagged new fields
* fix validation
* fixed submit btn
* fix tests
* changed ttl defaults
* added FE tests
* added BE tests
* fixed lint
* adjusted comment language
* fixing unstaged changes check
* fix test
* Update coderd/database/migrations/000122_add_template_cleanup_ttls.down.sql
Co-authored-by: Dean Sheather <dean@deansheather.com >
* Update coderd/database/migrations/000122_add_template_cleanup_ttls.up.sql
Co-authored-by: Dean Sheather <dean@deansheather.com >
---------
Co-authored-by: Dean Sheather <dean@deansheather.com >
2023-05-05 08:19:26 -07:00
a6a44896bf
fix: pubsub ordering ( #7404 )
...
* fix: pubsub sends messages in order
Signed-off-by: Spike Curtis <spike@coder.com >
* Drop messages rather than block
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-05-05 09:39:07 +04:00
8bd9f9c351
feat: unified tracing between coderd<->provisionerd ( #7370 )
2023-05-03 23:02:35 +00:00
3368b8b65f
chore: Minor rbac memory optimization ( #7391 )
...
* test: Add benchmark for static rbac roles
* static roles should only be allocated once
* A unit test that modifies the ast value should not mess with the globals
* Cache subject AST values to avoid reallocating slices
2023-05-03 14:42:24 -05:00
8fc8559076
fix(coderd): ensure that user API keys are deleted when a user is ( #7270 )
...
Fixes an issue where API tokens belonging to a deleted user were
not invalidated:
- Adds a trigger to delete rows from the api_key stable when the
column deleted is set to true in the users table.
- Adds a trigger to the api_keys table to ensure that new rows
may not be added where user_id corresponds to a deleted user.
- Adds a migration to delete all API keys from deleted users.
- Adds tests + dbfake implementation for the above.
2023-04-24 21:48:26 +01:00
4353ad7940
chore: Remove url and wildcard url from moon create ( #7224 )
...
* chore: Remove url and wildcard url from moon create
2023-04-20 21:09:14 -05:00
68667323f3
chore: support signed token query param for web terminal ( #7197 )
...
* chore: add endpoint to get token for web terminal
* chore: support signed token query param for web terminal
2023-04-20 23:59:45 +00:00
7fa1112958
chore: Enforce workspace proxy unique name case insensitive ( #7202 )
...
* chore: Enforce workspace proxy unique name case insensitive
2023-04-20 11:30:52 -05:00
a5a5c4d400
chore: Add workspace proxy enterprise cli commands ( #7176 )
...
* feat: Add workspace proxy enterprise cli commands
* chore: Handle custom workspace proxy options. Remove excess
* chore: Add endpoint to register workspace proxies
2023-04-20 09:48:47 -05:00
528a0686c0
chore: fix deadlock in dbfake and incorrect lock types ( #7218 )
...
I manually went through every single dbfake function and ensured it has
the correct lock type depending on whether it writes or only reads.
There were a surprising amount of methods that had the wrong lock type
(Lock when only reading, or RLock when writing (!!!)).
This also manually fixes every method that acquires a RLock and then
calls a method that also acquires it's own RLock to use noLock methods
instead. You cannot rely on acquiring a RLock twice in the same
goroutine as RWMutex prioritizes any waiting Lock calls.
I tried writing a ruleguard rule for this but because of limitations in
ruleguard it doesn't seem possible.
2023-04-20 21:53:34 +10:00
658246d5f2
chore: add workspace proxies to the backend ( #7032 )
...
Co-authored-by: Dean Sheather <dean@deansheather.com >
2023-04-17 19:57:21 +00:00
942aba3a66
feat: expose agent stats via Prometheus endpoint ( #7115 )
...
* WIP
* WIP
* WIP
* Agents
* fix
* 1min
* fix
* WIP
* Test
* docs
* fmt
* Add timer to measure the metrics collection
* Use CachedGaugeVec
* Unit tests
* WIP
* WIP
* db: GetWorkspaceAgentStatsAndLabels
* fmt
* WIP
* gauges
* feat: collect
* fix
* fmt
* minor fixes
* Prometheus flag
* fix
* WIP
* fix tests
* WIP
* fix json
* Rx Tx bytes
* CloseFunc
* fix
* fix
* Fixes
* fix
* fix: IgnoreErrors
* Fix: Windows
* fix
* reflect.DeepEquals
2023-04-14 16:14:52 +02:00
38e5b9679b
chore: Rbac errors should be returned, and not hidden behind 404 ( #7122 )
...
* chore: Rbac errors should be returned, and not hidden behind 404
SqlErrNoRows was hiding actual errors
* Replace sql.ErrNoRow checks
* Remove sql err no rows check from dbauthz test
* Fix to use dbauthz system user
2023-04-13 13:06:16 -05:00
f6c89a2615
feat: differentiate new user registration from user login in the audit log ( #7096 )
...
* auditing register events
* fix tests
* update docs
* update comments
* Update coderd/audit/request.go
Co-authored-by: Colin Adler <colin1adler@gmail.com >
---------
Co-authored-by: Colin Adler <colin1adler@gmail.com >
2023-04-12 11:46:16 -07:00
81e2b2500a
feat: add level support for startup logs ( #7067 )
...
This allows external services like our devcontainer support to display
errors and warnings with custom styles to indicate failures to users.
2023-04-10 14:29:59 -05:00
a3c6cb1768
fix: don't query workspace in UpdateWorkspaceAgentConnectionByID
( #7042 )
2023-04-07 15:21:52 -05:00
b2892c3d17
test: Increase test coverage on auditable resources ( #7038 )
...
* test: Increase test coverage on auditable resources
When adding a new audit resource, we also need to add it to the
function switch statements. This is a likely mistake, now a unit
test will check this for you
2023-04-06 16:16:53 -05:00
eb66cc9f35
chore: move app proxying code to workspaceapps pkg ( #6998 )
...
* chore: move app proxying code to workspaceapps pkg
Moves path-app, subdomain-app and reconnecting PTY proxying to the new
workspaceapps.WorkspaceAppServer struct. This is in preparation for
external workspace proxies.
Updates app logout flow to avoid redirecting to coder-logout.${app_host}
on logout. Instead, all subdomain app tokens owned by the logging-out
user will be deleted every time you logout for simplicity sake.
Tests will remain in their original package, pending being moved to an
apptest package (or similar).
Co-authored-by: Steven Masley <stevenmasley@coder.com >
2023-04-05 13:41:55 -05:00
407f80a1ef
fix(dbpurge): use dbauthz.AsSystemRestricted
( #7017 )
2023-04-05 17:48:39 +00:00
b4afbe7720
feat: Implement experiment gated CRUD for workspace proxies ( #6928 )
...
* feat: Implement basic moon crud
* chore: Implement enterprise endpoints for moons
2023-04-04 15:07:29 -05:00
c12bc39821
fix: always show a newly created workspace at the top of the list ( #6984 )
...
Fixes #5795 .
2023-04-04 08:24:04 -05:00
e33941b7c2
feat: allow disabling autostart and custom autostop for template ( #6933 )
...
API only, frontend in upcoming PR.
2023-04-04 12:48:35 +00:00
2d051094e7
fix: ignore deleted workspaces in global stats ( #6973 )
...
Fixes #6568 .
2023-04-03 14:46:09 +00:00
633dfbdb2e
feat: rich parameters: introduce display_name ( #6919 )
...
* model
* DB
* fix: DisplayName
* proto
* Proto
* Update go dep
* fixme
* fix format
* config
* fmt
* fix
* Fix
* fix
* chore(UI): redirecting from workspace page if 404 (#6880 )
* model
* CLI: Display parameter
* fix
* update dep
* fix
* fix
* fix
* UI changes
* fmt
---------
Co-authored-by: Kira Pilot <kira@coder.com >
2023-04-03 14:37:47 +02:00
ca4fa81570
feat: add agent metadata ( #6614 )
2023-03-31 15:26:19 -05:00
334d9820fa
fix(coderd): update provisionderd authz policy to allow updating user data ( #6925 )
2023-03-31 15:11:07 +01:00
56f00a82e1
chore: update sqlc to v1.17.2 ( #6920 )
...
* WIP
* chore: Update sqlc to v1.17.2
2023-03-31 14:05:20 +02:00
665b84de0d
feat: use app tickets for web terminal ( #6628 )
2023-03-30 23:24:51 +10:00
42b3d90221
chore: rename "InsertOrUpdate" to Upsert around the codebase ( #6823 )
...
* chore: rename "InsertOrUpdate" to Upsert around the codebase
The shorter name uses up less line width, is easier to read
and is used more often.
* make gen
2023-03-28 00:55:10 +00:00
7fa5afa268
fix: Users that can update a template can also read the file ( #6776 )
...
* fix: Users that can update a template can also read the file
This currently has a strange RBAC story. An issue will be filed
to streamline this.
This is a hotfix to resolve current functionality
* Only showsource code tab if the user has permission to edit the template
---------
Co-authored-by: Bruno Quaresma <bruno_nonato_quaresma@hotmail.com >
2023-03-27 09:21:41 -05:00
8187992e7f
fix: Validate template version name ( #6804 )
...
* WIP
* Update
* Validation
2023-03-27 13:54:01 +02:00
2bd6d2908e
feat: convert entire CLI to clibase ( #6491 )
...
I'm sorry.
2023-03-23 17:42:20 -05:00
cb7375450b
feat: add startup script logs to the ui ( #6558 )
...
* Add startup script logs to the database
* Add coderd endpoints for startup script logs
* Push startup script logs from agent
* Pull startup script logs on frontend
* Rename queries
* Add constraint
* Start creating log sending loop
* Add log sending to the agent
* Add tests for streaming logs
* Shorten notify channel name
* Add FE
* Improve bulk log performance
* Finish UI display
* Fix startup log visibility
* Add warning for overflow
* Fix agent queue logs overflow
* Display staartup logs in a virtual DOM for performance
* Fix agent queue with loads of logs
* Fix authorize test
* Remove faulty test
* Fix startup and shutdown reporting error
* Fix gen
* Fix comments
* Periodically purge old database entries
* Add test fixture for migration
* Add Storybook
* Check if there are logs when displaying features
* Fix startup component overflow gap
* Fix startup log wrapping
---------
Co-authored-by: Asher <ash@coder.com >
2023-03-23 14:09:13 -05:00
8857971552
feat(coder): Add PATCH /templateversions/:templateversion endpoint ( #6698 )
2023-03-23 13:26:50 -03:00
dab4a0e6ef
fix: add ResourceUserData
to provisionerd to allow git auth ( #6743 )
...
This was breaking passing a git auth token through!
2023-03-22 17:23:49 -05:00