bdd2caf95d
feat: implement thin vertical slice of system-generated notifications ( #13537 )
2024-07-08 15:38:50 +02:00
c4f1676055
feat: expose workspace build ID to terraform-plugin-coder ( #13680 )
2024-06-27 10:07:30 +02:00
24ba81930b
chore: return failed refresh errors on external auth as string (was boolean) ( #13402 )
...
* chore: return failed refresh errors on external auth
Failed refreshes should return errors. These errors are captured
as validate errors.
2024-06-03 09:33:49 -05:00
cca3cb1c55
feat(provisioner): pass owner git ssh key ( #13366 )
2024-05-29 11:43:08 +01:00
b8b80fe6d2
feat: store coder_workspace_tags
in the database ( #13294 )
2024-05-20 13:30:19 +00:00
845407fe7a
chore: cover deadline crossing autostart border on start ( #13115 )
...
When starting a workspace, if the deadline crosses an autostart boundary, the deadline is set to autostart + TTL.
This copies the behavior in `ActivityBumpWorkspace`, but does not require activity.
2024-05-01 10:43:04 -05:00
a518047f10
chore(coderd): provisionerdserver: downgrade heartbeat failure log to Warn instead of Error ( #13061 )
2024-04-24 09:36:36 +01:00
838e8df5be
chore: merge apikey/token session config values ( #12817 )
...
* chore: merge apikey/token session config values
There is a confusing difference between an apikey and a token. This
difference leaks into our configs. This change does not resolve the
difference. It only groups the config values to try and manage any
bloat that occurs from adding more similar config values
2024-04-10 10:34:49 -05:00
f96ce80ab9
feat: add owner groups to workspace data ( #12841 )
2024-04-05 15:06:17 -04:00
951dfaa99c
feat: add workspace_id to workspace_build audit logs ( #12718 )
2024-03-22 15:10:32 -05:00
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
475c3650ca
feat: add support for optional external auth providers ( #12021 )
2024-02-21 11:18:38 -07:00
7a453608c9
feat: support order
property of coder_agent
( #12121 )
2024-02-15 13:33:13 +01:00
3e68650791
feat: support order
property of coder_app
resource ( #12077 )
2024-02-12 15:11:31 +01:00
c0e169ebf9
feat: support custom order of agent metadata ( #12066 )
2024-02-08 17:29:34 +01:00
16c6cefde8
chore: pass lifetime directly into api key generate ( #11715 )
...
Rather than passing all the deployment values. This is to make it
easier to generate API keys as part of the oauth flow.
I also added and fixed a test for when the lifetime is set and the
default and expiration are unset.
Co-authored-by: Steven Masley <stevenmasley@gmail.com >
2024-01-22 11:42:55 -09:00
5eb3e1cdaa
feat: expose owner_name
in coder_workspace
resource ( #11639 )
2024-01-17 13:20:45 +01:00
50b78e3325
chore: instrument external oauth2 requests ( #11519 )
...
* chore: instrument external oauth2 requests
External requests made by oauth2 configs are now instrumented into prometheus metrics.
2024-01-10 09:13:30 -06:00
21093c00f0
fix: stop logging error on canceled query ( #11506 )
...
Fixes flake seen here: https://github.com/coder/coder/actions/runs/7447779208/job/20260756050
2024-01-09 14:38:56 +04:00
ff61475239
fix(coderd/provisionerdserver): use s.timeNow ( #11267 )
2023-12-18 17:11:50 +00:00
213b768785
feat(coderd): insert provisioner daemons ( #11207 )
...
* Adds UpdateProvisionerDaemonLastSeenAt
* Adds heartbeat to provisioner daemons
* Inserts provisioner daemons to database upon start
* Ensures TagOwner is an empty string and not nil
* Adds COALESCE() in idx_provisioner_daemons_name_owner_key
2023-12-18 16:44:52 +00:00
9a4e1100fa
chore: move drpc transport tools to codersdk/drpc ( #11224 )
...
Part of #10532
DRPC transport over yamux and in-mem pipes was previously only used on the provisioner APIs, but now will also be used in tailnet. Moved to subpackage of codersdk to avoid import loops.
2023-12-15 12:41:39 +04:00
3e5d292135
feat: add support for coder_env
( #11102 )
...
Fixes #10166
2023-12-11 16:10:18 +02:00
8d9157dc35
fix: use provisionerd context when failing job on canceled acquire ( #11118 )
...
Spotted during code read. We need to use the provisionerd auth context when failing a job due to a lost provisioner daemon.
2023-12-11 14:52:44 +04:00
02696f2df9
chore: fix flake in TestExecutorAutostopTemplateDisabled ( #11096 )
2023-12-08 09:02:54 +00:00
ce49a55f56
chore: update build_reason 'autolock' -> 'dormancy' ( #11074 )
2023-12-07 17:11:57 -06:00
abb2c7656a
chore: add claims to oauth link in db for debug ( #10827 )
...
* chore: add claims to oauth link in db for debug
2023-11-27 10:47:23 -06:00
0ddd54d34b
fix(coderd/provisionerdserver): avoid error log during shutdown ( #10402 )
2023-10-25 18:31:28 +03:00
1ad998ee3a
fix: add requester IP to workspace build audit logs ( #10242 )
2023-10-18 15:08:02 -05:00
6875faf238
fix(coderd/provisionerdserver): pass through api ctx to provisionerdserver ( #10259 )
...
Passes through coderd API ctx to provisionerd server so we can cancel workspace updates when API is shutting down.
2023-10-16 13:50:07 +01:00
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