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
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
5aa5ff1bde
chore: deprecate API workspace build resources ( #12167 )
2024-02-15 17:13:44 +01:00
7a453608c9
feat: support order
property of coder_agent
( #12121 )
2024-02-15 13:33:13 +01:00
dcab6fa5a4
feat(site): display user avatar ( #11893 )
...
* add owner API to workspace and workspace build responses
* display user avatar in workspace top bar
Co-authored-by: Cian Johnston <cian@coder.com >
2024-01-30 17:07:06 +00:00
e46431078c
feat: add AgentAPI using DRPC ( #10811 )
...
Co-authored-by: Spike Curtis <spike@coder.com >
2023-12-18 22:53:28 +10:00
37f6b38d53
fix: return 403 when rebuilding workspace with require_active_version ( #11114 )
2023-12-08 23:03:46 -06:00
1ad998ee3a
fix: add requester IP to workspace build audit logs ( #10242 )
2023-10-18 15:08:02 -05:00
db8592fa93
chore: refactor workspace conversion to accept ownerName ( #10171 )
...
Refactors workspace conversion to accept the ownerName, rather than a slice of users, since all it does is search the slice for the owner and use the username.
This is in preparation for a fix to `postWorkspacesByOrganization()` that will remove the need to pass the user object.
Also avoids panicing if the required user is not in the slice, since `findUser` could return nil in the old code, which would then get dereferenced for the username.
2023-10-10 16:55:28 +04:00
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
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
898971b329
refactor: generate application URL on backend side ( #9618 )
2023-09-12 15:25:10 +02:00
19d7da3d24
refactor(coderd/database): split Time
and Now
into dbtime
package ( #9482 )
...
Ref: #9380
2023-09-01 16:50:12 +00:00
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
22e781eced
chore: add /v2 to import module path ( #9072 )
...
* chore: add /v2 to import module path
go mod requires semantic versioning with versions greater than 1.x
This was a mechanical update by running:
```
go install github.com/marwan-at-work/mod/cmd/mod@latest
mod upgrade
```
Migrate generated files to import /v2
* Fix gen
2023-08-18 18:55:43 +00:00
929f2d585a
fix: intiator user fields are included in the workspace build ( #8836 )
2023-08-01 10:35:43 -05:00
2f0a9996e7
chore: add derpserver to wsproxy, add proxies to derpmap ( #7311 )
2023-07-27 02:21:04 +10:00
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
83fee4b192
feat: enable Terraform debug mode via deployment configuration ( #8260 )
2023-06-29 15:22:21 +02:00
749307ef08
feat: provide endpoint to lock/unlock workspace ( #8239 )
2023-06-28 16:12:49 -05:00
8e2422d42c
feat: use named loggers in coderd
( #8148 )
2023-06-22 20:09:33 +02:00
69f911dfd5
feat: add queue_position and queue_size to provisioner jobs ( #8074 )
2023-06-20 15:07:18 -05:00
a7366a8b76
feat!: drop support for legacy parameters ( #7663 )
2023-06-02 11:16:46 +02: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
8bd9f9c351
feat: unified tracing between coderd<->provisionerd ( #7370 )
2023-05-03 23:02:35 +00:00
c000f2ec28
fix: coder_parameter fallbacks to default ( #7240 )
2023-04-24 09:51:34 +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
083fc89f93
feat: accept immutable parameters when used first time ( #7000 )
...
* Backend fixes
* CLI: adjust update flow
2023-04-04 14:22:46 +02:00
0ba200c2a1
feat: Enable workspace debug logging ( #6838 )
...
* feat: Enable workspace debug logging
* Fix
* Fix
* Fix
* fix
* fix
* Enable RBAC
* unit tests
* Fix
* fix
* fix
* fix
* more tests
* fix: workspacebuild_test use roles
* fix: swagger comment
* fix: ctx.Done
* fix: address PR comments
* break loop
2023-03-30 16:00:33 +02:00
2321160c62
feat: Dbauthz is now default, remove out of experimental ( #6650 )
...
* feat: dbauthz always on, out of experimental
* Add ability to do rbac checks in unit tests
* Remove AuthorizeAllEndpoints
* Remove duplicate rbac checks
2023-03-21 09:10:22 -05:00
7587850a1c
feat: import value from legacy variable to build parameter ( #6556 )
2023-03-14 12:02:44 +00:00
144f374f60
refactor(dbauthz): add authz for system-level functions ( #6513 )
...
- Introduces rbac.ResourceSystem
- Grants system.* to system and provisionerd rbac subjects
- Updates dbauthz system queries where applicable
- coderd: Avoid index out of bounds in api.workspaceBuilds
- dbauthz: move GetUsersByIDs out of system, modify RBAC check to ResourceUser
- workspaceapps: Add test case for when owner of app is not found
2023-03-10 18:09:28 +00:00
7eb2c2ff6d
Revert "chore: Implement joins with golang templates ( #6429 )" ( #6560 )
...
This reverts commit 8b125d6c5d
.
2023-03-10 10:39:02 -06:00
8b125d6c5d
chore: Implement joins with golang templates ( #6429 )
...
* feat: Implement view for workspace builds to include rbac info
* Removes the need to fetch the workspace to run an rbac check.
* chore: Use workspace build as RBAC object
* chore: Use golang templates instead of sqlc files
2023-03-10 09:44:38 -06:00
6023264a81
fix: typo in error message ( #6551 )
...
* fix: typo in error message
* fix
2023-03-10 09:20:22 +00:00
3b73321a6c
feat: refactor deployment config ( #6347 )
2023-03-07 15:10:01 -06:00
66a6b590a1
feat: add template max_ttl ( #6114 )
...
Co-authored-by: Bruno Quaresma <bruno@coder.com >
2023-03-07 14:14:58 +00:00
74632e460c
fix: adjust build state permission to require template update ( #6472 )
2023-03-07 04:24:32 +00:00
f05609b4da
chore: format Go more aggressively
2023-02-18 18:32:09 -06:00
fe725f76bb
fix: Allow to stop or remove workspaces using rich and old parameters ( #6099 )
...
* fix: Allow to stop or remove workspaces using rich and old parameters
* Fix
2023-02-08 14:09:52 -06:00
b86bce8494
feat!: Validate monotonic numbers for rich parameters ( #6046 )
...
* Database changes
* protobuf
* Fix: docs
* workspaces_test
* Validation in coderd
* Fix: resources
* omitempty
* UI changes
* UI tests
* fix
2023-02-07 09:36:13 +01:00
271d68c862
feat: Disallow using legacy params with rich params ( #5974 )
...
* feat: Disallow using legacy params with rich params
* Fix
* nolint
2023-02-02 16:44:57 +01:00
26c69525d1
feat: Validate workspace build parameters ( #5807 )
2023-01-24 14:22:00 +01:00
bbb208e29c
feat: Add CLI support for workspace build parameters ( #5768 )
...
* WIP
* WIP
* CLI: handle workspace build parameters
* fix: golintci
* Fix: dry run
* fix
* CLI: is mutable
* coderd: mutable
* fix: golanci
* fix: richParameterFile
* CLI: create unit tests
* CLI: update test
* Fix
* fix: order
* fix
2023-01-23 15:01:22 +01:00
1b0560ceb4
feat: Expose workspace build parameters via API ( #5743 )
2023-01-17 16:24:45 +01:00
54cc587dad
Updated PreconditionFailed status occurences to more appropriate statuses. ( #5513 )
2023-01-13 08:30:48 -06:00
deebfcbd53
feat: Validate swagger definitions ( #5694 )
...
* docs: audit, deploymentconfig, files, parameters
* Swagger comments in workspacebuilds.go
* structs in workspacebuilds.go
* workspaceagents: instance identity
* workspaceagents.go in progress
* workspaceagents.go in progress
* Agents
* workspacebuilds.go
* /workspaces
* templates.go, templateversions.go
* templateversion.go in progress
* cancel
* templateversions
* wip
* Merge
* x-apidocgen
* NullTime hack not needed anymore
* Fix: x-apidocgen
* Members
* Fixes
* Fix
* WIP
* WIP
* Users
* Logout
* User profile
* Status suspend activate
* User roles
* User tokens
* Keys
* SSH key
* All
* Typo
* Fix
* Entitlements
* Groups
* SCIM
* Fix
* Fix
* Clean templates
* Sort API pages
* Fix: HashedSecret
* WIP
* WIP
* WIP
* Fix: cover workspaceagents
* Assert: consistent ID and summary
* Assert: success or failure defined
* Fix: parallel
* Refactor
* Support enterprise
* Go comment goes to top
* Security
* assertPathParametersDefined
* assertUniqueRoutes
* assertRequestBody
* More fixes
* Fix: exceptions
* Fix field format
* Address PR comments
* Refactor
2023-01-13 12:27:21 +01:00
627fbe5874
fix: make build table show empty instead of loading when none are recent ( #5666 )
...
* Fix builds to show empty instead of loading
* Switch to backend fix
* Increase e2e test timeout
* Format
2023-01-11 12:18:06 -05:00
8e9cbdd71b
docs: API users ( #5620 )
...
* docs: audit, deploymentconfig, files, parameters
* Swagger comments in workspacebuilds.go
* structs in workspacebuilds.go
* workspaceagents: instance identity
* workspaceagents.go in progress
* workspaceagents.go in progress
* Agents
* workspacebuilds.go
* /workspaces
* templates.go, templateversions.go
* templateversion.go in progress
* cancel
* templateversions
* wip
* Merge
* x-apidocgen
* NullTime hack not needed anymore
* Fix: x-apidocgen
* Members
* Fixes
* Fix
* WIP
* WIP
* Users
* Logout
* User profile
* Status suspend activate
* User roles
* User tokens
* Keys
* SSH key
* All
* Typo
* Fix
* Fix
* Fix: LoginWithPasswordRequest
2023-01-11 14:08:04 +01:00
66fa2a1a8c
docs: API workspace agents and builds ( #5538 )
2023-01-05 15:27:10 +01:00