Mathias Fredriksson
6fd9975aed
feat(coderd): add coder_app usage stats ( #9001 )
...
Updates #8658
2023-08-16 15:22:00 +03:00
Dean Sheather
47b8bf6585
feat: update workspace deadline when template policy changes ( #8964 )
2023-08-14 21:16:47 +00:00
Dean Sheather
07fd73c4a0
chore: allow multiple agent subsystems, add exectrace ( #8933 )
2023-08-08 22:10:28 -07:00
Steven Masley
f4122fa9f5
feat: add auto group create from OIDC ( #8884 )
...
* add flag for auto create groups
* fixup! add flag for auto create groups
* sync missing groups
Also added a regex filter to filter out groups that are not
important
2023-08-08 11:37:49 -05:00
Cian Johnston
9fb18f3ae5
feat(coderd): batch agent stats inserts ( #8875 )
...
This PR adds support for batching inserts to the workspace_agents_stats table.
Up to 1024 stats are batched, and flushed every second in a batch.
2023-08-04 17:00:42 +01:00
Jon Ayers
e43608395c
feat: add frontend for locked workspaces ( #8655 )
...
- Fix workspaces query for locked workspaces.
2023-08-03 19:46:02 -05:00
Mathias Fredriksson
d3991fac26
feat(coderd): add parameter insights to template insights ( #8656 )
2023-08-03 14:43:23 +00:00
Marcin Tojek
d6e9870209
feat: add "dormant" user state ( #8644 )
2023-08-02 16:31:25 +02:00
Steven Masley
66649f97a8
chore: use system permission to prevent fetching all workspaces ( #8843 )
...
* chore: use system permission to prevent fetching all workspaces
2023-08-01 12:26:22 -05:00
Marcin Tojek
ddabe9cc7f
feat: improve RBAC preconditions for Insights endpoint ( #8794 )
2023-07-31 13:44:32 +00:00
Colin Adler
0b4f333a6f
chore: add http debug support to pgcoord ( #8795 )
2023-07-28 17:59:31 -05:00
Kyle Carberry
bd944e0d21
chore: rename startup logs to agent logs ( #8649 )
...
* chore: rename startup logs to agent logs
This also adds a `source` property to every agent log. It
should allow us to group logs and display them nicer in
the UI as they stream in.
* Fix migration order
* Fix naming
* Rename the frontend
* Fix tests
* Fix down migration
* Match enums for workspace agent logs
* Fix inserting log source
* Fix migration order
* Fix logs tests
* Fix psql insert
2023-07-28 15:57:23 +00:00
Dean Sheather
2f0a9996e7
chore: add derpserver to wsproxy, add proxies to derpmap ( #7311 )
2023-07-27 02:21:04 +10:00
Steven Masley
2089006fbc
feat!: drop reading other 'user' permission ( #8650 )
...
* feat: drop reading other 'user' permission
Members of the platform can no longer read or list other users.
Resources that have "created_by" or "initiated_by" still retain
user context, but only include username and avatar url.
Attempting to read a user found via those means will result in
a 404.
* Hide /users page for regular users
* make groups a privledged endpoint
* Permissions page for template perms
* Admin for a given template enables an endpoint for listing users/groups.
2023-07-26 10:33:48 -04:00
Steven Masley
de1a7a9210
chore: join user information to workspace_build and template_version ( #8625 )
...
* include minimial user on template version and build
* Add unit test to ensure join is superset
2023-07-25 09:14:38 -04:00
Steven Masley
f827829afe
feat: synchronize oidc user roles ( #8595 )
...
* feat: oidc user role sync
User roles come from oidc claims. Prevent manual user role changes
if set.
* allow mapping 1:many
2023-07-24 08:34:24 -04:00
Mathias Fredriksson
30fe153296
feat(coderd): add user latency and template insights endpoints ( #8519 )
...
Part of #8514
Refs #8109
2023-07-21 18:00:19 +00:00
Jon Ayers
b47d076756
feat: add deleting_at column to workspaces ( #8333 )
2023-07-20 22:01:11 -05:00
Dean Sheather
dc8b73168e
feat: add user quiet hours schedule and restart requirement feature flag ( #8115 )
2023-07-20 23:35:41 +10:00
Steven Masley
aceedefce3
chore: add template_with_user view to include user contextual data ( #8568 )
...
* chore: Refactor template sql queries to use new view
* TemplateWithUser -> Template
* Add unit test to enforce good view
2023-07-19 16:07:33 -04:00
Steven Masley
67494a3012
chore: push GetUsers authorization filter to SQL ( #8497 )
...
* feat: push GetUsers filter to SQL
* Remove GetAuthorizedUserFilter
* Remove GetFilteredUserCount
* remove GetUsersWithCount
2023-07-17 09:44:58 -04:00
Steven Masley
3b433181be
chore: add custom querier functions to dbgen ( #8496 )
...
* chore: add custom querier functions to dbgen
* chore: parse package was missing some imports, so force them
2023-07-13 13:12:29 -04:00
Steven Masley and Bruno Quaresma
b5f26d9bdf
feat: add ability for users to convert their password login type to oauth/github login ( #8105 )
...
* Currently toggled by experiment flag
---------
Co-authored-by: Bruno Quaresma <bruno@coder.com >
2023-06-30 08:38:48 -04:00
Jon Ayers
749307ef08
feat: provide endpoint to lock/unlock workspace ( #8239 )
2023-06-28 16:12:49 -05:00
Dean Sheather
98a5ae7f48
feat: add provisioner job hang detector ( #7927 )
2023-06-25 13:17:00 +00:00
Spike Curtis
ba9d038d42
feat: add periodic cleanup of PG Coordinator state ( #8142 )
...
* PG Coordinator cleans orphaned state
Signed-off-by: Spike Curtis <spike@coder.com >
* Don't need pubsub
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-06-23 13:23:28 +04:00
Jon Ayers
1b0124ecdb
feat: automatically stop workspaces based on failure_ttl ( #7989 )
2023-06-22 00:33:22 -04:00
Spike Curtis
cc17d2feea
refactor: add postgres tailnet coordinator ( #8044 )
...
* postgres tailnet coordinator
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix db migration; tests
Signed-off-by: Spike Curtis <spike@coder.com >
* Add fixture, regenerate
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix fixtures
Signed-off-by: Spike Curtis <spike@coder.com >
* review comments, run clean gen
Signed-off-by: Spike Curtis <spike@coder.com >
* Rename waitForConn -> cleanupConn
Signed-off-by: Spike Curtis <spike@coder.com >
* code review updates
Signed-off-by: Spike Curtis <spike@coder.com >
* db migration order
Signed-off-by: Spike Curtis <spike@coder.com >
* fix log field name last_heartbeat
Signed-off-by: Spike Curtis <spike@coder.com >
* fix heartbeat_from log field
Signed-off-by: Spike Curtis <spike@coder.com >
* fix slog fields for linting
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-06-21 16:20:58 +04:00
Kyle Carberry
69f911dfd5
feat: add queue_position and queue_size to provisioner jobs ( #8074 )
2023-06-20 15:07:18 -05:00
Mathias Fredriksson
8dac0356ed
refactor: replace startup script logs EOF with starting/ready time ( #8082 )
...
This commit reverts some of the changes in #8029 and implements an
alternative method of keeping track of when the startup script has ended
and there will be no more logs.
This is achieved by adding new agent fields for tracking when the agent
enters the "starting" and "ready"/"start_error" lifecycle states. The
timestamps simplify logic since we don't need understand if the current
state is before or after the state we're interested in. They can also be
used to show data like how long the startup script took to execute. This
also allowed us to remove the EOF field from the logs as the
implementation was problematic when we returned the EOF log entry in the
response since requesting _after_ that ID would give no logs and the API
would thus lose track of EOF.
2023-06-20 14:41:55 +03:00
Marcin Tojek
b1d1b63113
chore: ensure logs consistency across Coder ( #8083 )
2023-06-20 12:30:45 +02:00
Mathias Fredriksson
0c5077464b
fix: avoid missed logs when streaming startup logs ( #8029 )
...
* feat(coderd,agent): send startup log eof at the end
* fix(coderd): fix edge case in startup log pubsub
* fix(coderd): ensure startup logs are closed on lifecycle state change (fallback)
* fix(codersdk): fix startup log channel shared memory bug
* fix(site): remove the EOF log line
2023-06-16 17:14:22 +03:00
Kyle Carberry
a658c94a67
chore: automatically generate dbauthz when new queries are added ( #8007 )
...
* chore: automatically generate dbauthz when new queries are added
* Merge system functions
2023-06-13 13:40:46 -05:00
Steven Masley
fa8153a0fd
chore: make default workspace proxy editable ( #7903 )
...
* chore: add editing the default workspace proxy
2023-06-08 10:30:15 -05:00
Mathias Fredriksson
660bbb8d38
refactor: deprecate login_before_ready in favor of startup_script_behavior ( #7837 )
...
Fixes #7758
2023-06-06 11:58:07 +03:00
Marcin Tojek
93378daeb3
feat: sort users by username ( #7838 )
2023-06-06 08:47:59 +02:00
Steven Masley
fa8f50a169
fix: fix workspace status filter returning more statuses that requested ( #7732 )
2023-06-05 18:12:10 -05:00
Marcin Tojek
a7366a8b76
feat!: drop support for legacy parameters ( #7663 )
2023-06-02 11:16:46 +02:00
Cian Johnston
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
Steven Masley
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
Jon Ayers
ec5ef51b49
feat: add session token injection to provisioner ( #7461 )
2023-05-17 23:29:22 -05:00
Jon Ayers
00a2413c03
feat: add telemetry support for workspace agent subsystem ( #7579 )
2023-05-17 22:49:25 -05:00
Steven Masley
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
Steven Masley
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
Dean Sheather
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
Steven Masley
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
Steven Masley and Dean Sheather
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
Marcin Tojek
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
Steven Masley
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
Colin Adler
a3c6cb1768
fix: don't query workspace in UpdateWorkspaceAgentConnectionByID ( #7042 )
2023-04-07 15:21:52 -05:00