Kayla Washburn-Love
b248f125e1
chore: rename notification banners to announcement banners ( #13419 )
2024-05-31 10:59:28 -06:00
Steven Masley
1b4ca00428
chore: include custom roles in list org roles ( #13336 )
...
* chore: include custom roles in list org roles
* move cli show roles to org scope
2024-05-23 07:54:59 -10:00
Kayla Washburn-Love
3f1e9c038a
feat(coderd): add endpoints for editing and deleting organizations ( #13287 )
2024-05-21 12:46:31 -06:00
Steven Masley
c61b64be61
feat: add hidden enterprise cmd command to list roles ( #13303 )
...
* feat: add hidden enterprise cmd command to list roles
This includes custom roles, and has a json ouput option for
more granular permissions
2024-05-21 13:14:00 -05:00
Marcin Tojek
b8b80fe6d2
feat: store coder_workspace_tags in the database ( #13294 )
2024-05-20 13:30:19 +00:00
Steven Masley
cf91eff7cf
chore: implement databased backend for custom roles ( #13295 )
...
Includes db schema and dbauthz layer for upserting custom roles. Unit test in `customroles_test.go` verify against escalating permissions through this feature.
2024-05-16 13:11:26 -05:00
Mathias Fredriksson
a0fce363cd
feat(coderd): add times_used to coder_apps in insights API ( #13292 )
...
For now, only applied to `coder_app`s, same logic can be implemented for
VS Code, SSH, etc.
Part of #13099
2024-05-16 16:53:01 +03:00
Kayla Washburn-Love
d8e0be6ee6
feat: add support for multiple banners ( #13081 )
2024-05-08 15:40:43 -06:00
Mathias Fredriksson
a69fc657f2
chore(coderd/database): reduce dbpurge load with smaller batches of agent stats ( #13049 )
2024-04-23 15:01:56 +03:00
Mathias Fredriksson
e17e8aa3c9
feat(coderd/database): keep only 1 day of workspace_agent_stats after rollup ( #12674 )
2024-04-22 13:11:50 +03:00
Steven Masley
0a8c8ce5cc
chore: remove InsertWorkspaceAgentStat query ( #12869 )
...
* chore: remove InsertWorkspaceAgentStat query
InsertWorkspaceAgentStats (batch) exists. We only used the singular in
a single unit test place. Removing the single for the batch, reducing
the interface size.
2024-04-09 12:35:27 -05:00
Garrett Delfosse
f96ce80ab9
feat: add owner groups to workspace data ( #12841 )
2024-04-05 15:06:17 -04:00
Danny Kopping
79fb8e43c5
feat: expose workspace statuses (with details) as a prometheus metric ( #12762 )
...
Implements #12462
2024-04-02 09:57:36 +02:00
Mathias Fredriksson
79441e3609
perf(coderd/database): optimize GetWorkspaceAgentAndLatestBuildByAuthToken ( #12809 )
2024-03-28 19:38:16 +02:00
Mathias Fredriksson
47fd190064
fix(coderd/database): improve perf of GetTemplateInsightsByInterval ( #12773 )
...
Refs #12122
2024-03-27 14:10:46 +02:00
Mathias Fredriksson
0da29d74ac
fix(coderd/database): improve query perf of GetTemplateAppInsights ( #12767 )
...
Refs #12122
2024-03-27 12:28:36 +02:00
Mathias Fredriksson
ae0ee622bb
fix(coderd/database): improve data exclusion in UpsertTemplateUsageStats ( #12764 )
...
The PostgreSQL query analyzer wasn't able to eliminate the agent stats without re-introducing this filter.
Before: https://explain.dalibo.com/plan/21h7gb4f4bef391g
After: https://explain.dalibo.com/plan/721ec1cccee91egc
2024-03-26 17:21:05 +02:00
Mathias Fredriksson
b183236482
feat(coderd/database): use template_usage_stats in *ByTemplate insights queries ( #12668 )
...
This PR updates the `*ByTempalte` insights queries used for generating Prometheus metrics to behave the same way as the new rollup query and re-written insights queries that utilize the rolled up data.
2024-03-25 17:42:02 +02:00
Mathias Fredriksson
2332d8197a
feat(coderd/database): use template_usage_stats in GetUserActivityInsights query ( #12672 )
...
This PR updates the `GetUserActivityInsights` query to use rolled up `template_usage_stats` instead of raw agent and app stats.
2024-03-25 16:16:41 +02:00
Mathias Fredriksson
a8ed689bda
feat(coderd/database): use template_usage_stats in GetUserLatencyInsights query ( #12671 )
...
This PR updates the `GetUserLatencyInsights` query to use rolled up `template_usage_stats` instead of raw agent and app stats.
2024-03-25 16:07:40 +02:00
Mathias Fredriksson
5738a03930
feat(coderd/database): use template_usage_stats in GetTemplateAppInsights query ( #12669 )
...
This PR updates the `GetTemplateAppInsights` query to use rolled up `template_usage_stats` instead of raw agent and app stats.
2024-03-25 15:58:37 +02:00
Mathias Fredriksson
5f3be62c83
feat(coderd/database): use template_usage_stats in GetTemplateInsightsByInterval query ( #12667 )
...
This PR updates the `GetTemplateInsightsByInterval` query to use rolled up `template_usage_stats` instead of raw agent and app stats.
2024-03-25 15:45:49 +02:00
Mathias Fredriksson
35d08434a9
feat(coderd/database): use template_usage_stats in GetTemplateInsights query ( #12666 )
...
This PR updates the `GetTemplateInsights` query to use rolled up `template_usage_stats` instead of raw agent and app stats.
2024-03-25 15:33:31 +02:00
Steven Masley
c674128105
chore: allow search by build params in workspace search filter ( #12694 )
...
* chore: workspace search filter allow search by params
* has_param will return all workspaces with the param existance
* exact matching
2024-03-22 14:22:47 -05:00
Mathias Fredriksson
04f0510b09
feat(coderd/database): add template_usage_stats table and rollup query ( #12664 )
...
Add `template_usage_stats` table for aggregating tempalte usage data.
Data is rolled up by the `UpsertTemplateUsageStats` query, which fetches
data from the `workspace_agent_stats` and `workspace_app_stats` tables.
2024-03-22 18:33:34 +02:00
Cian Johnston
92aa1eba97
fix(cli): port-forward: update workspace last_used_at ( #12659 )
...
This PR updates the coder port-forward command to periodically inform coderd that the workspace is being used:
- Adds workspaceusage.Tracker which periodically batch-updates workspace LastUsedAt
- Adds coderd endpoint to signal workspace usage
- Updates coder port-forward to periodically hit this endpoint
- Modifies BatchUpdateWorkspacesLastUsedAt to avoid overwriting with stale data
Co-authored-by: Danny Kopping <danny@coder.com >
2024-03-20 16:44:12 +00:00
Steven Masley
d789a60d47
chore: remove max_ttl from templates ( #12644 )
...
* chore: remove max_ttl from templates
Completely removing max_ttl as a feature on template scheduling. Must use other template scheduling features to achieve autostop.
2024-03-20 10:37:57 -05:00
Steven Masley
f0f9569d51
chore: enforce that provisioners can only acquire jobs in their own organization ( #12600 )
...
* chore: add org ID as optional param to AcquireJob
* chore: plumb through organization id to provisioner daemons
* add org id to provisioner domain key
* enforce org id argument
* dbgen provisioner jobs defaults to default org
2024-03-18 12:48:13 -05:00
Garrett Delfosse
0723dd3abf
fix: ensure agent token is from latest build in middleware ( #12443 )
2024-03-14 12:27:32 -04:00
Steven Masley
e3051dff0c
chore: add workspace id filter on api ( #12483 )
...
* chore: add workspace id filter on api
2024-03-11 11:37:15 -05:00
Steven Masley
b5f866c1cb
chore: add organization_id column to provisioner daemons ( #12356 )
...
* chore: add organization_id column to provisioner daemons
* Update upsert to include organization id on set
2024-03-06 12:04:50 -06:00
Dean Sheather
46a2ff1061
feat: allow setting port share protocol ( #12383 )
...
Co-authored-by: Garrett Delfosse <garrett@coder.com >
2024-03-06 09:23:57 -05:00
Garrett Delfosse
61bd341a36
chore: change max share level on existing port shares ( #12411 )
2024-03-05 13:47:01 -05:00
Marcin Tojek
b1f9a6dc31
fix: use timestamptz instead of timestamp ( #12425 )
...
* fix: use timestampz instead of timestamp
* fix: timestamptz
2024-03-05 14:16:29 +00:00
Marcin Tojek
e4fa212164
fix: always return count of workspaces ( #12407 )
2024-03-05 09:24:43 +01:00
Cian Johnston
53e8f9c0f9
fix(coderd): only allow untagged provisioners to pick up untagged jobs ( #12269 )
...
Alternative solution to #6442
Modifies the behaviour of AcquireProvisionerJob and adds a special case for 'un-tagged' jobs such that they can only be picked up by 'un-tagged' provisioners.
Also adds comprehensive test coverage for AcquireJob given various combinations of tags.
2024-02-22 15:04:31 +00:00
Steven Masley
d4d8424ce0
fix: fix GetOrganizationsByUserID error when multiple organizations exist ( #12257 )
...
* test: fetching user orgs fails if multi orgs in pg db
* fix: GetOrganizationsByUserID fixed if multi orgs exist
2024-02-22 08:14:48 -06:00
Kayla Washburn-Love
475c3650ca
feat: add support for optional external auth providers ( #12021 )
2024-02-21 11:18:38 -07:00
Asher
4d39da294e
feat: add oauth2 token exchange ( #12196 )
...
Co-authored-by: Steven Masley <stevenmasley@gmail.com >
2024-02-20 14:58:43 -09:00
Steven Masley
2dac34276a
fix: add postgres triggers to remove deleted users from user_links ( #12117 )
...
* chore: add database test fixture to insert non-unique linked_ids
* chore: create unit test to exercise failed email change bug
* fix: add postgres triggers to keep user_links clear of deleted users
* Add migrations to prevent deleted users with links
* Force soft delete of users, do not allow un-delete
2024-02-20 13:19:38 -06:00
Steven Masley
f17149c59d
feat: set groupsync to use default org ( #12146 )
...
* fix: assign new oauth users to default org
This is not a final solution, as we eventually want to be able
to map to different orgs. This makes it so multi-org does not break oauth/oidc.
2024-02-16 11:09:19 -06:00
Steven Masley
2a8004b1b2
feat: use default org for PostUser ( #12143 )
...
Instead of assuming only 1 org exists, this uses the
is_default org to place a user in if not specified.
2024-02-16 08:28:36 -06:00
Steven Masley
2bf2f88b09
feat: implement 'is_default' org field ( #12142 )
...
The first organization created is now marked as "default". This is
to allow "single org" behavior as we move to a multi org codebase.
It is intentional that the user cannot change the default org at this
stage. Only 1 default org can exist, and it is always the first org.
Closes: https://github.com/coder/coder/issues/11961
2024-02-15 11:01:16 -06:00
Marcin Tojek
7a453608c9
feat: support order property of coder_agent ( #12121 )
2024-02-15 13:33:13 +01:00
Steven Masley
5d483a7ea1
fix: do not query user_link for deleted accounts ( #12112 )
2024-02-13 13:02:21 -06:00
Garrett Delfosse
3ab3a62bef
feat: add port-sharing backend ( #11939 )
2024-02-13 09:31:20 -05:00
Dean Sheather
e1e352d8c1
feat: add template activity_bump property ( #11734 )
...
Allows template admins to configure the activity bump duration. Defaults to 1h.
2024-02-13 07:00:35 +00:00
Marcin Tojek
3e68650791
feat: support order property of coder_app resource ( #12077 )
2024-02-12 15:11:31 +01:00
Marcin Tojek
c0e169ebf9
feat: support custom order of agent metadata ( #12066 )
2024-02-08 17:29:34 +01:00
Mathias Fredriksson
b25deaae20
fix(coderd/database): fix limit in GetUserWorkspaceBuildParameters ( #11954 )
2024-01-31 13:56:36 +02:00