e55c25e037
chore: enable exhaustruct linter for database param structs ( #9995 )
2023-10-03 09:23:45 +01:00
5596fb20b5
chore: move /gitauth
to /externalauth
on the frontend ( #9954 )
...
* chore: move `/gitauth` to `/externalauth` on the frontend
This actually took a lot more jank than anticipated,
so I wanted to split this up before adding the ability
to embed new providers.
* Rename FE
* Fix em' up
* Fix linting error
* Fix e2e tests
* chore: update helm golden files
2023-09-30 14:30:01 -05:00
8abca9bea7
chore: rename git_auth
to external_auth
in our schema ( #9935 )
...
* chore: rename `git_auth` to `external_auth` in our schema
We're changing Git auth to be external auth. It will support
any OAuth2 or OIDC provider.
To split up the larger change I want to contribute the schema
changes first, and I'll add the feature itself in another PR.
* Fix names
* Fix outdated view
* Rename some additional places
* Fix sort order
* Fix template versions auth route
* Fix types
* Fix dbauthz
2023-09-29 19:13:20 +00:00
9e845213f5
chore: include organization id in workspace build audit log ( #9905 )
...
* chore: include organization id in workspace build audit log
* rename 'BuildAudit' to 'WorkspaceBuildAudit'
2023-09-28 11:29:12 -05: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
8d8402da00
fix(coderd/database): avoid clobbering workspace build state ( #9826 )
...
Fixes #9823 .
- Decomposes UpdateWorkspaceBuildByID into UpdateWorkspaceBuildProvisionerStateByID and UpdateWorkspaceBuildDeadlineByID.
- Replaces existing invocations of UpdateWorkspaceBuildByID with the newer queries where applicable.
- Modifies GetActiveWorkspaceBuildsByTemplateID to not return incomplete workspace builds.
2023-09-22 16:22:07 +01: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
3dc1e22d56
feat: add template_id and template_name to workspace data source ( #9655 )
2023-09-13 11:09:08 -05:00
4ebf490d97
feat: add Acquirer to provisionerdserver pkg ( #9658 )
...
* 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 >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-09-13 16:36:43 +04:00
19d7da3d24
refactor(coderd/database): split Time
and Now
into dbtime
package ( #9482 )
...
Ref: #9380
2023-09-01 16:50:12 +00:00
ee24260614
feat: allow configuring display apps from template ( #9100 )
2023-08-30 14:53:42 -05:00
90acf998bf
fix: fix null pointer on external provisioner daemons with daily_cost ( #9401 )
...
* fix: fix null pointer on external provisioner daemons with daily_cost
Signed-off-by: Spike Curtis <spike@coder.com >
* Add logging for debounce and job acquire
Signed-off-by: Spike Curtis <spike@coder.com >
* Return error instead of panic
Signed-off-by: Spike Curtis <spike@coder.com >
* remove debounce on external provisioners to fix test flakes
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-08-30 10:48:35 +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
60d5002eb6
refactor: change template archive extraction to be on provisioner ( #9264 )
...
* refactor provisionersdk protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor provisioners to use new protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor provisionerd to use new protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor tests & proto renames
* Fixes from self-review
Signed-off-by: Spike Curtis <spike@coder.com >
* appease fmt & link
Signed-off-by: Spike Curtis <spike@coder.com >
* code review fixes & e2e fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* More fmt
Signed-off-by: Spike Curtis <spike@coder.com >
* Code review fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* new gen; use uuid for session workdir
Signed-off-by: Spike Curtis <spike@coder.com >
* Revert nix-based gen CI task until dogfood is on nix
Signed-off-by: Spike Curtis <spike@coder.com >
* revert deleting dogfood Docker stuff
Signed-off-by: Spike Curtis <spike@coder.com >
* Revert "revert deleting dogfood Docker stuff"
This reverts commit 9762158167
.
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-08-25 06:10:15 +00: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
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
dc8b73168e
feat: add user quiet hours schedule and restart requirement feature flag ( #8115 )
2023-07-20 23:35:41 +10:00
ce114a7f9f
chore: upgrade sqlc to 1.19.1 ( #8511 )
2023-07-15 09:07:19 +03:00
7ed17b2605
fix: add some missing workspace updates ( #7790 )
...
* Standardize on function to get workspace channel name
There were two, now there is one.
* Add some missing workspace updates
There are some failure cases where we do not set the type as a workspace
build which causes the workspace update to never be published.
* Make build failures warnings
Otherwise the associated test fails due to the logger fataling on
error messages.
2023-07-14 15:07:48 -08:00
9f2a931eb8
feat(coderd): support ephemeral parameters ( #8367 )
2023-07-10 13:44:03 +02:00
e088303382
feat!: drop LegacyVariableName from coder parameter ( #8360 )
2023-07-07 14:14:29 +02:00
6639c69fad
feat: add "display_order" column to coder_parameter to keep parameters sorted in UI ( #8227 )
2023-06-30 12:41:55 +02:00
8e2422d42c
feat: use named loggers in coderd
( #8148 )
2023-06-22 20:09:33 +02:00
4fb4c9b270
chore: add more rules to ensure logs consistency ( #8104 )
2023-06-21 12:00:38 +02:00
b1d1b63113
chore: ensure logs consistency across Coder ( #8083 )
2023-06-20 12:30:45 +02:00
e4b6f5695b
chore: separate pubsub into a new package ( #8017 )
...
* chore: rename store to dbmock for consistency
* chore: remove redundant dbtype package
This wasn't necessary and forked how we do DB types.
* chore: separate pubsub into a new package
This didn't need to be in database and was bloating it.
2023-06-14 15:34:54 +00:00
660bbb8d38
refactor: deprecate login_before_ready
in favor of startup_script_behavior
( #7837 )
...
Fixes #7758
2023-06-06 11:58:07 +03:00
a7366a8b76
feat!: drop support for legacy parameters ( #7663 )
2023-06-02 11:16:46 +02:00
7c3dbbbe93
fix: stream provisioner logs ( #7712 )
...
* stream provisioner logs
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix imports
Signed-off-by: Spike Curtis <spike@coder.com >
* Better logging, naming, arg order
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-05-31 06:15:58 +00:00
702c9081e0
fix: do not skip parameter validation if min or max = 0 ( #7707 )
2023-05-30 14:57:06 +02:00
ec5ef51b49
feat: add session token injection to provisioner ( #7461 )
2023-05-17 23:29:22 -05:00
8bd9f9c351
feat: unified tracing between coderd<->provisionerd ( #7370 )
2023-05-03 23:02:35 +00:00
a44070e2ec
feat(scaletest): allow scaletests to run using the host credentials ( #7075 )
2023-04-11 19:49:28 +00: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
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
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
df31636e72
feat: pass access_token
to coder_git_auth
resource ( #6713 )
...
This allows template authors to leverage git auth to perform
custom actions, like clone repositories.
2023-03-22 19:37:08 +00:00
c3fb1b325f
feat: add owner_oidc_access_token
to coder_workspace
data source ( #6042 )
...
See the discussion in Discord here:
https://discord.com/channels/747933592273027093/1071182088490987542/1071182088490987542
Related provider PR: coder/terraform-provider-coder#91
2023-03-17 15:25:08 -05:00
7587850a1c
feat: import value from legacy variable to build parameter ( #6556 )
2023-03-14 12:02:44 +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
3b87316ad7
feat: propagate job error codes ( #6507 )
...
* feat: propagate job error_code
* fix
* Fix
* Fix
* Fix
* add errors to typesGenerated
* Address PR comments
* Fix
2023-03-08 16:32:00 +01:00
2d4706ac33
feat: mark coder_parameter as "required" ( #6433 )
...
* Add required column
* Pass through providerd
* Pass the required property down
* Optional
* Fix
* Fix
* Fix
* fix
* CLI create: support for optional fields
* Use HTML API to mark fields required
* Fix
* Improve validation
* more fixes
* make fmt
* Fix
* WIP
* Fix: test
* CLI update tets
* OptionalParameterAdded
* Fix: migration
2023-03-07 16:38:31 +01:00
66a6b590a1
feat: add template max_ttl ( #6114 )
...
Co-authored-by: Bruno Quaresma <bruno@coder.com >
2023-03-07 14:14:58 +00:00
22e3ff96be
feat(agent): Add shutdown lifecycle states and shutdown_script support ( #6139 )
...
* feat(api): Add agent shutdown lifecycle states
* feat(agent): Add shutdown_script support
* feat(agent): Add shutdown_script timeout
* feat(site): Support new agent lifecycle states
---
Co-authored-by: Marcin Tojek <marcin@coder.com >
2023-03-06 21:34:00 +02:00
7f226d4f90
feat: add support for coder_git_auth
data source ( #6334 )
...
* Add git auth providers schema
* Pipe git auth providers to the schema
* Add git auth providers to the API
* Add gitauth endpoint to query authenticated state
* Add endpoint to query git state
* Use BroadcastChannel to automatically authenticate with Git
* Add error validation for submitting the create workspace form
* Fix panic on template dry-run
* Add tests for the template version Git auth endpoint
* Show error if no gitauth is configured
* Add gitauth to cliui
* Fix unused method receiver
* Fix linting errors
* Fix dbauthz querier test
* Fix make gen
* Add JavaScript test for git auth
* Fix bad error message
* Fix provisionerd test race
See https://github.com/coder/coder/actions/runs/4277960646/jobs/7447232814
* Fix requested changes
* Add comment to CreateWorkspacePageView
2023-02-27 10:18:19 -06:00
43e8ba0811
feat(api): add prometheus metric coderd_workspace_builds_total ( #6314 )
...
This PR adds the prometheus metric coderd_workspace_builds_total.
It measures the total number of workspace builds, along with a number of labels intended to be useful for an operator debugging a failed workspace build trying to discover the scope of the issue.
2023-02-23 01:28:10 +00:00
f05609b4da
chore: format Go more aggressively
2023-02-18 18:32:09 -06:00
a69137b1f7
feat: Update CLI to handle managed variables ( #6220 )
...
* WIP
* hcl
* useManagedVariables
* fix
* Fix
* Fix
* fix
* go:build
* Fix
* fix: bool flag
* Insert template variables
* API
* fix
* Expose via API
* More wiring
* CLI for testing purposes
* WIP
* Delete FIXME
* planVars
* WIP
* WIP
* UserVariableValues
* no dry run
* Dry run
* Done FIXME
* Fix
* Fix: CLI
* Fix: migration
* API tests
* Test info
* Tests
* More tests
* fix: lint
* Fix: authz
* Address PR comments
* Fix
* fix
* fix
* CLI: create
* unit tests: create templates with variables
* Use last variables
* Fix
* Fix
* Fix
* Push tests
* fix: variable is required if Default is nil
* WIP
* Redact sensitive values
* Fixes
* Fixes
* Fix: arg description
* Fix
* Variable param
* Fix: gen
* Fix
* Fix: goldens
2023-02-17 09:07:45 +01:00