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
Steven Masley
8b424f03c2
chore: Rename databasefake --> dbfake ( #6011 )
2023-02-02 19:28:55 -06:00
Steven Masley
4a6fc40949
feat: Add database data generator to make fakedbs easier to populate ( #5922 )
...
* feat: Add database data generator to make fakedbs easier to populate
2023-01-31 15:10:03 -06:00
Mathias Fredriksson
8afdf24d10
chore: Update sqlc to v1.16.0 ( #5788 )
...
* chore: Update sqlc to v1.16.0
* chore: Fix cases where types became Null-types
* chore: Set parameter_schemas default_destination_scheme and default_source_scheme to NOT NULL
* chore: Add enum validation to database fake
* chore: Fix all tests that skipping enum values
* fix: Use correct err in providionerdserver audit log failure log
2023-01-23 13:14:47 +02:00
Marcin Tojek
6ebadabe4e
feat: Add basic support for rich parameters to coderd and provisionerd ( #5710 )
2023-01-17 11:22:11 +01:00
Kira Pilot
6786ca2854
Audit build outcomes/kira pilot ( #5143 )
...
* auditing failed builds
* logging workspace build successes
* remove duplicate workspace build entry
* fixed workspacebuilds_test
* PR feedback
* lint and migrations
* fix nil auditors
* workspace_build test
* fixed workspaces_teest
Co-authored-by: Colin Adler <colin1adler@gmail.com>
2022-11-22 13:22:56 -05:00