Steven Masley
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
Garrett Delfosse
f96ce80ab9
feat: add owner groups to workspace data ( #12841 )
2024-04-05 15:06:17 -04:00
Jon Ayers
951dfaa99c
feat: add workspace_id to workspace_build audit logs ( #12718 )
2024-03-22 15:10:32 -05: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
Ammar Bandukwala
496232446d
chore(cli): replace clibase with external `coder/serpent` ( #12252 )
2024-03-15 11:24:38 -05:00
Kayla Washburn-Love
475c3650ca
feat: add support for optional external auth providers ( #12021 )
2024-02-21 11:18:38 -07:00
Cian Johnston
643c3ee54b
refactor(provisionerd): move provisionersdk.VersionCurrent -> provisionerdproto.VersionCurrent ( #12225 )
2024-02-20 12:44:19 +00:00
Cian Johnston
8eae4f83bf
fix(coderd/provisionerdserver): fix test flake in TestHeartbeat ( #11808 )
2024-01-25 12:05:57 +00:00
Marcin Tojek
5eb3e1cdaa
feat: expose `owner_name` in `coder_workspace` resource ( #11639 )
2024-01-17 13:20:45 +01:00
Steven Masley
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
Cian Johnston
04fd96a014
feat(coderd): add provisioner_daemons to /debug/health endpoint ( #11393 )
...
Adds a healthcheck for provisioner daemons to /debug/health endpoint.
2024-01-08 09:29:04 +00:00
Cian Johnston
1ef96022b0
feat(coderd): add provisioner build version and api_version on serve ( #11369 )
...
* assert provisioner daemon version and api_version in unit tests
* add build info in HTTP header, extract codersdk.BuildVersionHeader
* add api_version to codersdk.ProvisionerDaemon
* testutil.MustString -> testutil.MustRandString
2024-01-03 09:01:57 +00:00
Cian Johnston
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
Dean Sheather
b36071c6bb
feat: allow templates to specify max_ttl or autostop_requirement ( #10920 )
2023-12-15 18:27:56 +10:00
Mathias Fredriksson
3e5d292135
feat: add support for `coder_env` ( #11102 )
...
Fixes #10166
2023-12-11 16:10:18 +02:00
Kyle Carberry
5abfe5afd0
chore: rename dbfake to dbmem ( #10432 )
2023-10-30 17:42:20 +00:00
Cian Johnston
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
Spike Curtis
983e8c3ae8
feat: add API support for workspace automatic updates ( #10099 )
...
* Added automatic_updates to workspaces table
Signed-off-by: Spike Curtis <spike@coder.com>
* Queries and API updates
Signed-off-by: Spike Curtis <spike@coder.com>
* Golden files
Signed-off-by: Spike Curtis <spike@coder.com>
* Enable automatic updates on autostart
Signed-off-by: Spike Curtis <spike@coder.com>
* db migration number
Signed-off-by: Spike Curtis <spike@coder.com>
* fix imports and ts mock
Signed-off-by: Spike Curtis <spike@coder.com>
* code review updates
Signed-off-by: Spike Curtis <spike@coder.com>
---------
Signed-off-by: Spike Curtis <spike@coder.com>
2023-10-06 13:27:12 +04:00
Kyle Carberry
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
Kyle Carberry
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
Kyle Carberry
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
Spike Curtis
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
Jon Ayers
3dc1e22d56
feat: add template_id and template_name to workspace data source ( #9655 )
2023-09-13 11:09:08 -05:00
Mathias Fredriksson
ad23d33f28
refactor(coderd/schedule): move cron schedule to cron package ( #9507 )
...
This removes an indirect import of `coderd/database` from the CLI and
results in a logical separation between server related and generalized
schedule.
No size change (yet).
Ref: #9380
2023-09-04 16:48:25 +03:00
Mathias Fredriksson
19d7da3d24
refactor(coderd/database): split `Time` and `Now` into `dbtime` package ( #9482 )
...
Ref: #9380
2023-09-01 16:50:12 +00:00
Jon Ayers
ee24260614
feat: allow configuring display apps from template ( #9100 )
2023-08-30 14:53:42 -05:00
Spike Curtis
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
Dean Sheather
a572800d47
chore: rename template restart requirement to autostop requirement ( #9295 )
2023-08-29 18:35:05 +00:00
Spike Curtis
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
Kyle Carberry
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
Steven Masley
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
Dean Sheather
dc8b73168e
feat: add user quiet hours schedule and restart requirement feature flag ( #8115 )
2023-07-20 23:35:41 +10:00
Steven Masley
aceedefce3
chore: add `template_with_user` view to include user contextual data ( #8568 )
...
* chore: Refactor template sql queries to use new view
* TemplateWithUser -> Template
* Add unit test to enforce good view
2023-07-19 16:07:33 -04:00
Kyle Carberry
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
Marcin Tojek
a7366a8b76
feat!: drop support for legacy parameters ( #7663 )
2023-06-02 11:16:46 +02:00
Spike Curtis
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
Jon Ayers
ec5ef51b49
feat: add session token injection to provisioner ( #7461 )
2023-05-17 23:29:22 -05:00
Colin Adler
8bd9f9c351
feat: unified tracing between coderd<->provisionerd ( #7370 )
2023-05-03 23:02:35 +00:00
Dean Sheather
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
Kyle Carberry
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
Kyle Carberry
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
Kyle Carberry
7eb2c2ff6d
Revert "chore: Implement joins with golang templates ( #6429 )" ( #6560 )
...
This reverts commit 8b125d6c5d
.
2023-03-10 10:39:02 -06:00
Steven Masley
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
Dean Sheather
66a6b590a1
feat: add template max_ttl ( #6114 )
...
Co-authored-by: Bruno Quaresma <bruno@coder.com>
2023-03-07 14:14:58 +00:00
Mathias Fredriksson
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
Kyle Carberry
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
Cian Johnston
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
Marcin Tojek
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
Marcin Tojek
3b7b96ac28
feat: Expose managed variables via API ( #6134 )
...
* 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
2023-02-15 18:24:15 +01:00