Steven Masley
65b9f9bfd6
chore: audit organization member add/delete/edit ( #13620 )
...
* chore: audit organization member add/removals
2024-06-24 14:19:32 -05:00
Steven Masley
2ef2f97388
chore: improve error message on adding existing org_member ( #13621 )
2024-06-20 18:05:11 -05:00
Asher
43e45f4ab7
fix: fill out zero-value user properties in /audit ( #13604 )
2024-06-20 12:40:08 -08:00
Steven Masley
a1db6d809e
chore: implement delete organization member ( #13589 )
...
Side effects of removing an organization member will orphan their
user resources. These side effects are not addressed here
2024-06-20 10:06:37 -05:00
Steven Masley
d04959cea8
chore: implement custom role assignment for organization admins ( #13570 )
...
* chore: static role assignment mapping
Until a dynamic approach is created in the database, only org-admins
can assign custom organization roles.
2024-06-13 15:59:06 -05:00
Steven Masley
de9e6889bb
chore: merge organization member db queries ( #13542 )
...
Merge members queries into 1 that also joins in the user table for username.
Required to list organization members on UI/cli
2024-06-12 09:23:48 -10:00
Kayla Washburn-Love
28228f1bcb
feat: allow editing org icon ( #13547 )
2024-06-12 12:28:13 -06:00
Steven Masley
5ccf5084e8
chore: create type for unique role names ( #13506 )
...
* chore: create type for unique role names
Using `string` was confusing when something should be combined with
org context, and when not to. Naming this new name, "RoleIdentifier"
2024-06-11 08:55:28 -05:00
Spike Curtis
8326a3a675
chore: change mock clock to allow Advance() within timer/tick functions ( #13500 )
2024-06-10 15:27:24 +04:00
Steven Masley
0d65143301
chore: implement audit log for custom role edits ( #13494 )
...
* chore: implement audit log for custom role edits
2024-06-07 14:11:57 -05:00
Steven Masley
7c3b8b6224
chore: duplicate migration file fix, 000216 ( #13498 )
2024-06-06 16:13:00 -05:00
Steven Masley
e2b330fcba
chore: change sql parameter for custom roles to be a (name,org_id) tuple ( #13480 )
...
* chore: sql parameter to custom roles to be a (name,org) tuple
CustomRole lookup takes (name,org_id) tuples as the search criteria.
2024-06-06 15:36:37 -05:00
Kayla Washburn-Love
44a70a5bc2
feat: edit org display names and descriptions ( #13474 )
2024-06-06 10:59:59 -06:00
Steven Masley
8f62311f00
chore: remove organization_id suffix from org_member roles in database ( #13473 )
...
Organization member's table is already scoped to an organization.
Rolename should avoid having the org_id appended.
Wipes all existing organization role assignments, which should not be used anyway.
2024-06-05 11:25:02 -05:00
Spike Curtis
fade8ba759
fix: fix MeasureLatencyRecvTimeout to accept send=0 ( #13477 )
...
Fixes the flake seen here: https://github.com/coder/coder/runs/25832852690
Linux is not a real time operating system, and so there is no guarantee that subsequent `time.Now()` `time.Since()` calls will return a non-zero time. This assert is mainly there to ensure we don't return `-1`.
2024-06-05 18:27:56 +04:00
Spike Curtis
9c3fd5dd26
chore: add explicit Wait() to clock.Advance() ( #13464 )
2024-06-05 15:37:16 +04:00
Spike Curtis
42324b386a
chore: add clock pkg for testing time ( #13461 )
...
Adds a package for testing time/timer/ticker functions. Implementation is limited to `NewTimer` and `NewContextTicker`, but will eventually be expanded to all `time` functions from the standard library as well as `context.WithTimeout()`, `context.WithDeadline()`.
Replaces `benbjohnson/clock` for the pubsub watchdog, as a proof of concept.
Eventually, as we expand functionality, we will replace most time-related functions with this library for testing.
2024-06-05 13:55:45 +04:00
Steven Masley
e3206612e1
chore: implement typed database for custom permissions (breaks existing custom roles) ( #13457 )
...
* chore: typed database custom permissions
* add migration to fix any custom roles out there
2024-06-04 09:27:44 -05:00
Kayla Washburn-Love
b248f125e1
chore: rename notification banners to announcement banners ( #13419 )
2024-05-31 10:59:28 -06:00
Garrett Delfosse
5789ea5397
chore: move stat reporting into workspacestats package ( #13386 )
2024-05-29 11:49:08 -04:00
Steven Masley
afd9d3b35f
feat: add api for patching custom org roles ( #13357 )
...
* chore: implement patching custom organization roles
2024-05-29 09:49:43 -05: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
Kayla Washburn-Love
a63d427efd
chore: add unique org name constraint to db ( #13311 )
2024-05-17 12:40:38 -06:00
Steven Masley
ad8c314130
chore: implement api for creating custom roles ( #13298 )
...
api endpoint (gated by experiment) to create custom_roles
2024-05-16 13:47:47 -05:00
Colin Adler
85de0e966d
chore: fix TestMeasureLatency/MeasureLatencyRecvTimeout flake ( #13301 )
2024-05-16 13:42:42 -05: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
Steven Masley
1f5788feff
chore: remove rbac psuedo resources, add custom verbs ( #13276 )
...
Removes our pseudo rbac resources like `WorkspaceApplicationConnect` in favor of additional verbs like `ssh`. This is to make more intuitive permissions for building custom roles.
The source of truth is now `policy.go`
2024-05-15 11:09:42 -05:00
Steven Masley
cb6b5e8fbd
chore: push rbac actions to policy package ( #13274 )
...
Just moved `rbac.Action` -> `policy.Action`. This is for the stacked PR to not have circular dependencies when doing autogen. Without this, the autogen can produce broken golang code, which prevents the autogen from compiling.
So just avoiding circular dependencies. Doing this in it's own PR to reduce LoC diffs in the primary PR, since this has 0 functional changes.
2024-05-15 09:46:35 -05:00
Danny Kopping
4671ebb330
feat: measure pubsub latencies and expose metrics ( #13126 )
2024-05-10 12:31:49 +00:00
Kayla Washburn-Love
d8e0be6ee6
feat: add support for multiple banners ( #13081 )
2024-05-08 15:40:43 -06:00
Mathias Fredriksson
619ec927e9
test(coderd/database): fix DST issue in dbpurge test ( #13170 )
...
Fixes #13165
2024-05-06 14:14:38 +03:00
Colin Adler
886a97b425
chore: fix build ci ( #13164 )
2024-05-06 05:01:47 +00: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
Cian Johnston
e57ca3cdaa
feat(scripts): add script to check schema between migrations ( #13037 )
...
- migrations: allow passing in a custom migrate.FS
- gen/dump: extract some functions to dbtestutil
- scripts: write script to test migrations
2024-04-23 12:43:14 +01:00
Kayla Washburn-Love
fab5591cf6
chore: change site_configs.value to text ( #13036 )
...
* chore: change `site_configs.value` to `text`
* `make gen`
2024-04-22 17:25:36 -06:00
Mathias Fredriksson
3adcccb618
fix(coderd/database): reduce db load via dbpurge advisory locking ( #13021 )
2024-04-22 11:10:32 +00: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
Colin Adler
3aa0d73811
chore: fix down migration 196 ( #13006 )
...
It didn't account for null values.
2024-04-18 18:47:02 -05:00
Colin Adler
777dfbe965
feat(enterprise): add ready for handshake support to pgcoord ( #12935 )
2024-04-16 15:01:10 -05:00
Colin Adler
231fc26c92
fix(coderd): properly calculate query latency for tailnet queries ( #12944 )
...
The defer used seems correct, but the `time.Since` will always resolve
immediately since it's a param to the deferred function.
2024-04-16 19:03:27 +00:00
Colin Adler
ba52a4fbe2
chore: fix linting issue ( #12945 )
...
The error wasn't used.
2024-04-16 13:50:46 -05:00
Spike Curtis
a231b5aef5
feat: add src_id and dst_id indexes to tailnet_tunnels ( #12911 )
...
Fixes #12780
Adds indexes to the `tailnet_tunnels` table to speed up `GetTailnetTunnelPeerIDs` and `GetTailnetTunnelPeerBindings` queries, which match on `src_id` and `dst_id`.
2024-04-11 10:05:53 +04: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
Steven Masley
a3187dc30f
chore: enforce unique linked_ids ( #12815 )
...
* chore: enforce unique linked_ids
Duplicate linked_ids make no sense. 2 users cannot share the same
source user from a provider
2024-04-03 13:17:11 -05: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