Cian Johnston
abafc0863c
feat(coderd): store workspace proxy version in the database ( #10790 )
...
Stores workspace proxy version in database upon registration.
2023-11-21 11:21:25 +00:00
Steven Masley
5229d7fd3a
feat: implement deprecated flag for templates to prevent new workspaces ( #10745 )
...
* feat: implement deprecated flag for templates to prevent new workspaces
* Add deprecated filter to template fetching
* Add deprecated to template table
* Add deprecated notice to template page
* Add ui to deprecate a template
2023-11-20 19:16:18 +00:00
Kayla Washburn
9b6433e3a7
chore: remove theme experiment ( #10798 )
...
Co-authored-by: Kyle Carberry <kyle@carberry.com>
2023-11-20 09:53:20 -07:00
Spike Curtis
3dd35e019b
fix: close ssh sessions gracefully ( #10732 )
...
Re-enables TestSSH/RemoteForward_Unix_Signal and addresses the underlying race: we were not closing the remote forward on context expiry, only the session and connection.
However, there is still a more fundamental issue in that we don't have the ability to ensure that TCP sessions are properly terminated before tearing down the Tailnet conn. This is due to the assumption in the sockets API, that the underlying IP interface is long
lived compared with the TCP socket, and thus closing a socket returns immediately and does not wait for the TCP termination handshake --- that is handled async in the tcpip stack. However, this assumption does not hold for us and tailnet, since on shutdown,
we also tear down the tailnet connection, and this can race with the TCP termination.
Closing the remote forward explicitly should prevent forward state from accumulating, since the Close() function waits for a reply from the remote SSH server.
I've also attempted to workaround the TCP/tailnet issue for `--stdio` by using `CloseWrite()` instead of `Close()`. By closing the write side of the connection, half-close the TCP connection, and the server detects this and closes the other direction, which then
triggers our read loop to exit only after the server has had a chance to process the close.
TODO in a stacked PR is to implement this logic for `vscodessh` as well.
2023-11-17 12:43:20 +04:00
Mathias Fredriksson
198b56c137
fix(coderd): fix memory leak in `watchWorkspaceAgentMetadata` ( #10685 )
...
Fixes #10550
2023-11-16 17:03:53 +02:00
Cian Johnston
6085b92fae
feat(site): add annotation to display values of type clibase.Duration correctly ( #10667 )
...
* Adds an annotation format_duration_ns to all deployment values of type clibase.Duration
* Adds a unit test that complains if you forget to add the above annotation to a clibase.Duration
* Modifies optionValue() to check for the presence of format_duration_ns when displaying an option.
2023-11-15 12:29:20 +00:00
Cian Johnston
b69c237b8a
feat(coderd/healthcheck): allow configuring database hc threshold ( #10623 )
...
* feat(coderd/healthcheck): allow configuring database hc threshold
* feat(coderd): add database hc latency, plumb through
* feat(coderd): allow configuring healthcheck refresh interval
2023-11-13 14:14:43 +00:00
Jon Ayers
e23873ff8f
feat: add endpoint for resolving autostart status ( #10507 )
2023-11-08 23:24:56 -06:00
Steven Masley
aded7b1513
feat: implement bitbucket-server external auth defaults ( #10520 )
...
* feat: implement bitbucket-server external auth defaults
Bitbucket cloud != Bitbucket server
Add reasonable defaults for server
* change "bitbucket" to "bitbucket-cloud"
2023-11-08 11:05:51 -06:00
Marcin Tojek
0a550815e9
feat: expose app insights as Prometheus metrics ( #10346 )
2023-11-07 17:14:59 +01:00
Steven Masley
64398def48
feat: add configurable cipher suites for tls listening ( #10505 )
...
* feat: add configurable cipher suites for tls listening
* tls.VersionName is go 1.21, copy the function
2023-11-07 14:55:39 +00:00
Mathias Fredriksson
e36503afd2
test(codersdk/agentsdk): fix context cancel flush test ( #10560 )
...
This change tests that the patch request is cancelled instead of hoping
that there's no race between context cancellations leading to patch
never being called.
2023-11-07 16:47:23 +02:00
Kyle Carberry
bb4ce87242
fix: add support for custom auth header with client secret ( #10513 )
...
This fixes OAuth2 with JFrog Artifactory.
2023-11-03 16:26:30 +00:00
Spike Curtis
6882e8e524
feat: add conversions from tailnet to proto ( #10441 )
...
Adds conversions from existing tailnet types to protobuf
2023-11-01 10:54:00 +04:00
Spike Curtis
a7c671ca07
feat: add workspace agent APIVersion ( #10419 )
...
Fixes #10339
2023-10-31 10:08:43 +04:00
Spike Curtis
c2e3648484
fix: disable tests broken by daylight savings ( #10414 )
2023-10-30 06:44:30 +00:00
Jon Ayers
1372bf82f5
chore: revert "chore: remove workspace_actions experiment ( #10030 )" ( #10363 )
2023-10-20 13:21:53 -05:00
Jon Ayers
d33526108f
feat: add frontend support for mandating active template version ( #10338 )
2023-10-19 18:21:52 -05:00
Jon Ayers
f5f150d568
feat: add cli support for --require-active-version ( #10337 )
2023-10-19 17:16:15 -05:00
Jon Ayers
997493d4ae
feat: add template setting to require active template version ( #10277 )
2023-10-18 17:07:21 -05:00
Colin Adler
504cedf15a
feat: add telemetry for external provisioners ( #10322 )
2023-10-18 14:20:30 -05:00
Kira Pilot
1656249e07
feat: add all safe experiments to the deployment page ( #10276 )
...
* added new option table type for experiments
* added tests
* fixed go tests
* added go test for new param
* removing query change
* clearing ExperimentsAll
* dont mutate ExperimentsAll
* added new route for safe experiments
* added new route for safe experiments
* added test for new route
* PR feedback
* altered design
* alias children
2023-10-17 14:49:19 -04:00
Steven Masley
39c0539d42
feat: add controls to template for determining startup days ( #10226 )
...
* feat: template controls which days can autostart
* Add unit test to test blocking autostart with DaysOfWeek
2023-10-13 11:57:18 -05:00
Mathias Fredriksson
4857d4bd55
feat(codersdk/agentsdk): use new agent metadata batch endpoint ( #10224 )
...
Part of #9782
2023-10-13 17:32:28 +03:00
Mathias Fredriksson
7eeba15d16
feat(coderd): add support for sending batched agent metadata ( #10223 )
...
Part of #9782
2023-10-13 16:37:55 +03:00
Steven Masley
1e950fa9a8
feat: archive template versions to hide them from the ui ( #10179 )
...
* api + cli implementation
2023-10-11 09:26:22 -05:00
Colin Adler
43fa4349d6
chore: move `single_tailnet` experiment to `*` ( #10188 )
2023-10-11 08:50:45 -05:00
Mathias Fredriksson
a2cd6640f3
fix(codersdk/agentsdk): improve ctx cancel in agent logs flush, fix test ( #10214 )
...
Fixes #9719
Related #9865
2023-10-11 12:42:30 +00:00
Jon Ayers
91555c3a85
feat: support configurable web terminal rendering ( #10095 )
...
* feat: support configurable web terminal rendering
- Added a deployment option for configuring web terminal rendering.
Valid values are 'webgl', 'canvas', and 'dom'.
2023-10-10 13:18:02 -05:00
Kyle Carberry
9c098b218f
feat: allow external auth providers to expose extra metadata ( #10157 )
2023-10-09 23:02:16 -05:00
Kyle Carberry
863c2e7b64
feat: allow storing extra oauth token properties in the database ( #10152 )
2023-10-09 18:49:30 -05:00
Kyle Carberry
35538e1051
feat: add `external-auth` cli ( #10052 )
...
* feat: add `external-auth` cli
* Add subcommands
* Improve descriptions
* Add external-auth subcommand
* Fix docs
* Fix gen
* Fix comment
* Fix golden file
2023-10-09 23:04:35 +00:00
Kyle Carberry
2d2bea79a7
fix: convert the new dashboard theme to be an experiment ( #10108 )
2023-10-06 09:46:52 -05: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
Bruno Quaresma
04e7748a9b
feat(site): load previous builds ( #10076 )
2023-10-05 18:30:11 -03:00
Jon Ayers
eb4826a11f
chore: remove workspace_actions experiment ( #10030 )
2023-10-05 14:18:35 -05:00
Steven Masley
5021e23105
chore: compute job status as column ( #10024 )
...
* chore: provisioner job status as column
* use provisioner job status for workspace searching
2023-10-04 20:57:46 -05:00
Kyle Carberry
f16eb1331f
chore: update multiple git providers docs ( #10017 )
...
* chore: update multiple git providers docs
* Improve var name
* Fix fmt
2023-10-03 15:27:02 +00:00
Kyle Carberry
45b53c285f
feat: allow external services to be authable ( #9996 )
...
* feat: allow external services to be authable
* Refactor external auth config structure for defaults
* Add support for new config properties
* Change the name of external auth
* Move externalauth -> external-auth
* Run gen
* Fix tests
* Fix MW tests
* Fix git auth redirect
* Fix lint
* Fix name
* Allow any ID
* Fix invalid type test
* Fix e2e tests
* Fix comments
* Fix colors
* Allow accepting any type as string
* Run gen
* Fix href
2023-10-03 14:04:39 +00:00
Marcin Tojek
f62f45a303
feat!: add `sections` parameter to template insights ( #10010 )
2023-10-03 15:44:50 +02: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
Steven Masley
e9ccb8dc78
chore: change cli error message handling ( #9952 )
...
* chore: add command to easily visualize different errors
* chore: add verbose error printing in cli
2023-09-29 16:50:23 -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
Steven Masley
92308bec3b
chore: color `value_source` for deployment values ( #9922 )
...
* chore: Return populated options vs a blank
* Strip secret values
2023-09-29 12:04:28 -05:00
Marcin Tojek
cb5f8df4c2
feat: expose application name via Appearance API ( #9886 )
2023-09-27 17:02:18 +02:00
Marcin Tojek
4c3b579f58
feat: expose insights into user activity ( #9807 )
2023-09-26 18:42:16 +02:00
Kyle Carberry
d3220c5db9
fix: resolve flake in log sender by checking context ( #9865 )
...
See: https://github.com/coder/coder/actions/runs/6305051172/job/17117693579
2023-09-25 22:19:27 +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
Bruno Quaresma
1cd0bea86e
chore: make workspace batch actions enabled by default ( #9797 )
2023-09-20 14:10:01 -03:00
Mathias Fredriksson
530dd9d247
fix(coderd): subscribe to workspace when streaming agent logs to detect outdated build ( #9729 )
...
Fixes #9721
2023-09-19 20:02:27 +03:00
Marcin Tojek
b0e3daa120
feat(coderd): support weekly aggregated insights ( #9684 )
2023-09-19 13:06:19 +02: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
Kayla Washburn
efe804498b
feat: add quiet hours settings page ( #9676 )
2023-09-15 11:14:33 -06:00
Colin Adler
38560dd922
chore: remove coder trace telemetry ( #9677 )
2023-09-14 02:20:28 -04:00
Steven Masley
18c34ee456
chore: support external types in typescript codegen ( #9633 )
...
* chore: support external types in typescript codegen
* fix enums on external packages
* Support clibase.struct
* Add regexp
* Make gen with updated generator
2023-09-12 18:21:09 -05:00
Marcin Tojek
898971b329
refactor: generate application URL on backend side ( #9618 )
2023-09-12 15:25:10 +02:00
Spike Curtis
8d7eb1728c
fix: stop inserting provisioner daemons into the database ( #9108 )
...
Signed-off-by: Spike Curtis <spike@coder.com>
2023-09-08 10:37:36 +00:00
Cian Johnston
7d7c84bb4d
feat(coderd): connect dbcrypt package implementation ( #9523 )
...
See also: https://github.com/coder/coder/pull/9522
- Adds commands `server dbcrypt {rotate,decrypt,delete}` to re-encrypt, decrypt, or delete encrypted data, respectively.
- Plumbs through dbcrypt in enterprise/coderd (including unit tests).
- Adds documentation in admin/encryption.md.
This enables dbcrypt by default, but the feature is soft-enforced on supplying external token encryption keys. Without specifying any keys, encryption/decryption is a no-op.
2023-09-07 15:49:49 +01:00
Steven Masley
630d125286
chore: fix typo in OpenID on cli help ( #9535 )
2023-09-05 18:37:21 +00:00
Mathias Fredriksson
b240799f47
refactor(cli): use codersdk for provisioner types ( #9508 )
...
This change removes one use of `coderd/database` from the slim binary
and more correctly uses codersdk instead of database or provisionerd
packages.
No size change (yet).
Ref: #9380
2023-09-04 21:42:15 +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
Kayla Washburn
eded7a4b88
feat: create a workspace from any template version ( #9471 )
2023-08-31 15:07:58 -06:00
Dean Sheather
1de61246a3
feat: add experimental template autostop requirement template settings UI ( #9417 )
2023-08-30 20:41:27 +00:00
Jon Ayers
ee24260614
feat: allow configuring display apps from template ( #9100 )
2023-08-30 14:53:42 -05:00
Bruno Quaresma
2399063a56
feat(site): make workspace batch deletion GA ( #9313 )
2023-08-30 10:08:42 -03:00
Ammar Bandukwala
16ef97a061
feat(cli): add DataDog Go tracer ( #9411 )
2023-08-29 22:14:28 +00:00
Dean Sheather
a572800d47
chore: rename template restart requirement to autostop requirement ( #9295 )
2023-08-29 18:35:05 +00:00
Dean Sheather
5993f85ec9
fix: avoid redirect loop on workspace proxies ( #9389 )
...
* fix: avoid redirect loop on workspace proxies
---------
Co-authored-by: Steven Masley <stevenmasley@coder.com>
2023-08-28 20:34:52 -05:00
Kyle Carberry
c3ac55ff42
feat: add `template_active_version_id` to workspaces ( #9226 )
...
* feat: add `template_active_version_id` to workspaces
This reduces a fetch in the VS Code extension when getting the
active version update message!
* Fix entities.ts
* Fix golden gen
2023-08-27 16:26:20 +00:00
Jon Ayers
7f14b50dbe
chore: rename locked to dormant ( #9290 )
...
* chore: rename locked to dormant
- The following columns have been updated:
- workspace.locked_at -> dormant_at
- template.inactivity_ttl -> time_til_dormant
- template.locked_ttl -> time_til_dormant_autodelete
This change has also been reflected in the SDK.
A route has also been updated from /workspaces/<id>/lock to /workspaces/<id>/dormant
2023-08-24 13:25:54 -05:00
Dean Sheather
64df076328
feat: add server flag to force DERP to use always websockets ( #9238 )
2023-08-24 17:22:31 +00:00
Mathias Fredriksson
6b69abfec7
fix(coderd): use stable sorting for insights and improve test coverage ( #9250 )
...
Fixes #9213
2023-08-24 13:36:40 +03:00
Marcin Tojek
e845deaa89
fix: prompt when parameter options are incompatible ( #9247 )
2023-08-23 18:18:38 +02:00
Jon Ayers
6e41cd1eda
feat: add activity bumping to template scheduling ( #9040 )
2023-08-22 15:15:13 -05:00
Steven Masley
262d7692b6
feat: add force refresh of license entitlements ( #9155 )
...
* feat: add force refresh of license entitlements
* send "going away" mesasge on licenses pubsub on close
* Add manual refresh to licenses page
2023-08-22 09:26:43 -05:00
Steven Masley
b2ca3ebaa3
fix: add workspace_proxy type to auditlog friendly strings ( #9194 )
...
* fix: add workspace_proxy type to auditlog friendly strings
* add unit test and organization type
2023-08-21 10:53:41 -05:00
Mathias Fredriksson
03453b1e02
feat(coderd): add template app usage to insights ( #9138 )
...
Fixes #8658
2023-08-21 15:08:58 +03: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
Jon Ayers
2f6687a475
feat: expose Everyone group through UI ( #9117 )
...
- Allows setting quota allowances on the 'Everyone' group.
2023-08-17 13:25:16 -05:00
Bruno Quaresma
b05293572f
refactor(site): remove template parameters insights out of experimental ( #9126 )
2023-08-16 12:29:42 -03:00
Bruno Quaresma
4058f049af
feat(site): add batch actions to the workspaces page ( #9091 )
2023-08-15 12:57:39 -03:00
Steven Masley
25ce30df36
feat: add azure oidc PKI auth instead of client secret ( #9054 )
...
* feat: add azure oidc PKI auth instead of client secret
* add client cert and key as deployment options
* Custom token refresher to handle pki auth
2023-08-14 17:33:13 -05:00
Steven Masley
40f3fc3a1c
feat: allow creating manual oidc/github based users ( #9000 )
...
* feat: allow creating manual oidc/github based users
* Add unit test for oidc and no login type create
2023-08-10 20:04:35 -05:00
Dean Sheather
d2f22b063a
fix: move STUN servers into their own regions ( #9030 )
2023-08-11 05:04:17 +10:00
Dean Sheather
07fd73c4a0
chore: allow multiple agent subsystems, add exectrace ( #8933 )
2023-08-08 22:10:28 -07:00
Steven Masley
f4122fa9f5
feat: add auto group create from OIDC ( #8884 )
...
* add flag for auto create groups
* fixup! add flag for auto create groups
* sync missing groups
Also added a regex filter to filter out groups that are not
important
2023-08-08 11:37:49 -05:00
Bruno Quaresma
4a987e9917
feat(site): add parameters usage to insights ( #8886 )
2023-08-08 13:09:31 -03:00
Marcin Tojek
e8627195a2
feat(coderd): expose parameter description and type ( #8944 )
2023-08-07 16:11:44 +00:00
Ammar Bandukwala
81752d1b84
fix(cli/delete): prompt for confirmation after workspace is found ( #8579 )
2023-08-05 11:25:37 -05:00
Spike Curtis
cb4989cd8d
feat: add PSK for external provisionerd auth ( #8877 )
...
Signed-off-by: Spike Curtis <spike@coder.com>
2023-08-04 12:32:28 +04:00
Mathias Fredriksson
d3991fac26
feat(coderd): add parameter insights to template insights ( #8656 )
2023-08-03 14:43:23 +00:00
Bruno Quaresma
b6018198b7
chore: remove insights from experimental ( #8868 )
2023-08-02 20:24:00 +00:00
Bruno Quaresma
cf35c0dfc5
feat(site): add health warning and a health monitor page ( #8844 )
2023-08-02 14:49:24 -03:00
Steven Masley
4c1e63aae8
feat: add display_name field to groups ( #8740 )
...
* feat: add display_name field to groups
This is a non-unique human friendly group name for display
purposes. This means a display name can be used instead of
using an environment var to remap groups with OIDC names to
Coder names. Now groups can retain the OIDC name for mapping,
and use a display name for display purposes.
2023-08-02 10:53:06 -05:00
Dean Sheather
cd1e088f7c
feat: add --derp-only flag to wsproxy ( #8850 )
2023-08-03 00:35:06 +10:00
Marcin Tojek
d6e9870209
feat: add "dormant" user state ( #8644 )
2023-08-02 16:31:25 +02:00
Dean Sheather
b955c5fefc
fix: avoid agent runLoop exiting due to ws ping ( #8852 )
2023-08-02 07:25:07 +00:00
Dean Sheather
6b69970d7c
fix: avoid infinite loop in agent derp-map ( #8848 )
2023-08-02 13:18:46 +10:00
Steven Masley
cb36783e8c
feat: convert to oidc out of experimental ( #8742 )
2023-07-31 10:30:34 -05:00
Colin Adler
4cc270b12b
revert(enterprise): make `pgcoord` experimental again ( #8797 )
2023-07-28 18:38:32 -05:00
Kyle Carberry
bd944e0d21
chore: rename startup logs to agent logs ( #8649 )
...
* chore: rename startup logs to agent logs
This also adds a `source` property to every agent log. It
should allow us to group logs and display them nicer in
the UI as they stream in.
* Fix migration order
* Fix naming
* Rename the frontend
* Fix tests
* Fix down migration
* Match enums for workspace agent logs
* Fix inserting log source
* Fix migration order
* Fix logs tests
* Fix psql insert
2023-07-28 15:57:23 +00:00
Cian Johnston
32829080ac
feat(cli): add dashboard load test command ( #8723 )
2023-07-27 09:40:13 +01:00
Colin Adler
74c4553a3f
fix(codersdk): always dial agents with `WorkspaceAgentIP` ( #8760 )
2023-07-27 03:44:44 +00:00
Ammar Bandukwala
25e30c6f41
feat(cli): support fine-grained server log filtering ( #8748 )
2023-07-26 16:46:22 -05:00
Dean Sheather
2f0a9996e7
chore: add derpserver to wsproxy, add proxies to derpmap ( #7311 )
2023-07-27 02:21:04 +10:00
Marcin Tojek
70692c2e4e
fix: unify parameter validation errors ( #8738 )
2023-07-26 17:44:50 +02:00
Steven Masley
2089006fbc
feat!: drop reading other 'user' permission ( #8650 )
...
* feat: drop reading other 'user' permission
Members of the platform can no longer read or list other users.
Resources that have "created_by" or "initiated_by" still retain
user context, but only include username and avatar url.
Attempting to read a user found via those means will result in
a 404.
* Hide /users page for regular users
* make groups a privledged endpoint
* Permissions page for template perms
* Admin for a given template enables an endpoint for listing users/groups.
2023-07-26 10:33:48 -04:00
Bruno Quaresma
8649a10441
feat(site): add template insights page ( #8722 )
2023-07-26 13:13:56 +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
Bruno Quaresma
fbb2a6a434
refactor(coderd): add avatar URL to the users' latency endpoint ( #8701 )
2023-07-25 12:15:46 +02:00
Steven Masley
f827829afe
feat: synchronize oidc user roles ( #8595 )
...
* feat: oidc user role sync
User roles come from oidc claims. Prevent manual user role changes
if set.
* allow mapping 1:many
2023-07-24 08:34:24 -04:00
Mathias Fredriksson
30fe153296
feat(coderd): add user latency and template insights endpoints ( #8519 )
...
Part of #8514
Refs #8109
2023-07-21 18:00:19 +00:00
Bruno Quaresma
6de95f4f32
chore(site): remove build logs from experimental ( #8619 )
2023-07-20 15:02:19 +00:00
Dean Sheather
dc8b73168e
feat: add user quiet hours schedule and restart requirement feature flag ( #8115 )
2023-07-20 23:35:41 +10:00
Colin Adler
517fb19474
feat: add single tailnet support to moons ( #8587 )
2023-07-19 11:11:11 -05:00
Marcin Tojek
4232a2eb96
feat: add custom docs URL to deployment config ( #8590 )
2023-07-19 08:31:17 -03:00
Kyle Carberry
98164f687e
fix!: remove startup logs eof for streaming ( #8528 )
...
* fix: remove startup logs eof for streaming
We have external utilities like logstream-kube that may send
logs after an agent shuts down unexpectedly to report additional
information. In a recent change we stopped accepting these logs,
which broke these utilities.
In the future we'll rename startup logs to agent logs or something
more generalized so this is less confusing in the future.
* fix(cli/cliui): handle never ending startup log stream in Agent
---------
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
2023-07-18 09:57:29 -06:00
Marcin Tojek
ab54008c94
feat: make ephemeral parameters optional ( #8571 )
2023-07-18 11:56:41 +02:00
Bruno Quaresma
b833861960
feat(site): display version message ( #8435 )
2023-07-13 10:36:10 -03:00
Colin Adler
c47b78c44b
chore: replace wsconncache with a single tailnet ( #8176 )
2023-07-12 17:37:31 -05:00
Steven Masley
928091aa05
feat!: add table format to 'coder license ls', 'license_expires' --> 'license_expires_human' ( #8421 )
...
* feat: add table format to 'coder license ls'
* feat: license expires_at to table view
* change: `license_expires` to `license_expires_human` and `license_expires` is unix timestamp
2023-07-12 08:06:18 -04:00
dependabot[bot]
2c2dd0eb83
chore: bump crate-ci/typos from v1.14.12 to v1.16.0 and fix typos ( #8455 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Muhammad Atif Ali <atif@coder.com>
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
2023-07-12 12:01:30 +00:00
Spike Curtis
b4057bd74a
feat: make pgCoordinator generally available ( #8419 )
...
* pgCoord to GA, fix tests
Signed-off-by: Spike Curtis <spike@coder.com>
* Fix generation and coordinator delete RBAC
Signed-off-by: Spike Curtis <spike@coder.com>
* Fix fakeQuerier -> FakeQuerier
Signed-off-by: Spike Curtis <spike@coder.com>
---------
Signed-off-by: Spike Curtis <spike@coder.com>
2023-07-12 13:35:29 +04:00
Marcin Tojek
bc835dbf69
fix: use numeric comparison to check monotonicity ( #8436 )
2023-07-11 22:08:41 +02:00
Mathias Fredriksson
75f62dc39d
feat: add support for template version messages in api and cli ( #8336 )
2023-07-11 13:11:08 +03:00
Bruno Quaresma
d896b74fa2
feat(site): display build logs on workspace transitioning statuses ( #8397 )
2023-07-10 17:47:39 -03:00
Marcin Tojek
9f2a931eb8
feat(coderd): support ephemeral parameters ( #8367 )
2023-07-10 13:44:03 +02:00
Mathias Fredriksson
b73f9d8e86
feat: add computed workspace and agent health fields to the api ( #8280 )
2023-07-10 12:40:11 +03:00
Marcin Tojek
e088303382
feat!: drop LegacyVariableName from coder parameter ( #8360 )
2023-07-07 14:14:29 +02:00
Cian Johnston
7fcf319e01
fix(cli)!: protect client Logger and refactor cli scaletest tests ( #8317 )
...
- (breaking) Protects Logger and LogBodies fields of codersdk.Client with its mutex. This addresses a data race in cli/scaletest.
- Fillets the existing cli/createworkspaces unit test and moves the testing logic there into the tests under scaletest/createworkspaces.
- Adds testutil.RaceEnabled bool const and conditionaly skips previously-skipped tests under scaletest/ if the race detector is enabled. This is unfortunate and sad, but I would prefer to have these tests at least running without the race detector than not running at all.
- Adds IgnoreErrors option to fake in-memory agent loggers; having the agents fail the test immediately when they encounter any sort of error isn't really helpful.
2023-07-06 09:43:39 +01:00
Steven Masley
418c9b8743
docs: update template acl example params ( #8320 )
...
Param examples were unhelpful
2023-07-05 17:24:21 +00:00
Steven Masley
9a7705c656
feat: generate a new session with coder login --token ( #8275 )
...
* feat: coder login --token generates a new session
Makes sure /logout does not delete the inputted token
* flag to enable previous behavior if needed
2023-07-05 08:59:38 -04:00
Jon Ayers
4a9c8f407a
feat: add auto-locking/deleting workspace based on template config ( #8240 )
2023-07-02 21:29:52 -05:00
Asher
6015319e9d
feat: show service banner in SSH/TTY sessions ( #8186 )
...
* Allow workspace agents to get appearance
* Poll for service banner every two minutes
* Show service banner before MOTD if not quiet
2023-06-30 10:41:29 -08:00
Steven Masley
f0bd258ff1
feat: move proxy settings page to deployment options ( #8246 )
...
* feat: Move workspace proxy page to deployment options
Workspace proxy settings page is now an admin feature
* WorkspaceProxy response extends region
2023-06-30 11:32:35 -04:00
Steven Masley
b5f26d9bdf
feat: add ability for users to convert their password login type to oauth/github login ( #8105 )
...
* Currently toggled by experiment flag
---------
Co-authored-by: Bruno Quaresma <bruno@coder.com>
2023-06-30 08:38:48 -04:00
Kyle Carberry
34467a3289
feat: add github device flow for authentication ( #8232 )
...
* feat: add github device flow for authentication
This will allow us to add a GitHub OAuth provider out-of-the-box
to reduce setup requirements.
* Improve askpass view
* Add routes to improve clarity of git auth
* Redesign the git auth page
* Refactor to add a page view
* Fix sideways layout
* Remove legacy notify
* Fix git auth redirects
* Add E2E tests
* Fix route documentation
* Fix imports
* Remove unused imports
* Fix E2E web test
* Fix friendly message appearance
* Fix layout shifting for full-screen sign-in
* Fix height going to 100%
* Fix comments
2023-06-29 18:58:01 +00:00
Marcin Tojek
83fee4b192
feat: enable Terraform debug mode via deployment configuration ( #8260 )
2023-06-29 15:22:21 +02:00
Jon Ayers
749307ef08
feat: provide endpoint to lock/unlock workspace ( #8239 )
2023-06-28 16:12:49 -05:00
Mathias Fredriksson
d3c39b60c9
feat: add agent log streaming and follow provisioner format ( #8170 )
2023-06-28 10:54:13 +02:00
Dean Sheather
98a5ae7f48
feat: add provisioner job hang detector ( #7927 )
2023-06-25 13:17:00 +00:00
Mathias Fredriksson
3b9b06fe5a
feat(codersdk/agentsdk): add `StartupLogsSender` and `StartupLogsWriter` ( #8129 )
...
This commit adds two new `agentsdk` functions, `StartupLogsSender` and
`StartupLogsWriter` that can be used by any client looking to send
startup logs to coderd.
We also refactor the `agent` to use these new functions.
As a bonus, agent startup logs are separated into "info" and "error"
levels to separate stdout and stderr.
---------
Co-authored-by: Marcin Tojek <mtojek@users.noreply.github.com>
2023-06-22 23:28:59 +03:00
Spike Curtis
e856491476
feat: enable PG Coordinator as experiment ( #8144 )
...
Signed-off-by: Spike Curtis <spike@coder.com>
2023-06-22 13:12:29 +04:00
Kyle Carberry
d434181941
feat: add cohesive e2e tests for the web terminal, apps, and workspaces ( #8140 )
...
* feat: add cohesive e2e tests for the web terminal, apps, and workspaces
* Fix web terminal flake
2023-06-22 00:21:40 +00:00
Dean Sheather
a28d422c35
feat: add flag to disable all direct connections ( #7936 )
2023-06-21 22:02:05 +00:00
Dean Sheather
24b95e16c4
feat: add --disable-direct flag to CLI ( #8131 )
2023-06-21 20:22:43 +00:00
Colin Adler
bc739bdfce
feat(cli): add hidden netcheck command ( #8136 )
2023-06-21 14:33:19 -05:00
Bruno Quaresma
1faed639c4
fix(site): show error when parameter is invalid ( #8125 )
2023-06-21 11:39:28 -03:00
Bruno Quaresma
bce8a983fe
chore(site): remove new filter from experimental ( #8112 )
2023-06-21 10:20:37 -03:00
Kyle Carberry
69f911dfd5
feat: add queue_position and queue_size to provisioner jobs ( #8074 )
2023-06-20 15:07:18 -05:00
Mathias Fredriksson
8dac0356ed
refactor: replace startup script logs EOF with starting/ready time ( #8082 )
...
This commit reverts some of the changes in #8029 and implements an
alternative method of keeping track of when the startup script has ended
and there will be no more logs.
This is achieved by adding new agent fields for tracking when the agent
enters the "starting" and "ready"/"start_error" lifecycle states. The
timestamps simplify logic since we don't need understand if the current
state is before or after the state we're interested in. They can also be
used to show data like how long the startup script took to execute. This
also allowed us to remove the EOF field from the logs as the
implementation was problematic when we returned the EOF log entry in the
response since requesting _after_ that ID would give no logs and the API
would thus lose track of EOF.
2023-06-20 14:41:55 +03:00
Jon Ayers
c3aef9363b
feat: add locked TTL field to template meta ( #8020 )
2023-06-19 22:37:55 -04:00
Mathias Fredriksson
0c5077464b
fix: avoid missed logs when streaming startup logs ( #8029 )
...
* feat(coderd,agent): send startup log eof at the end
* fix(coderd): fix edge case in startup log pubsub
* fix(coderd): ensure startup logs are closed on lifecycle state change (fallback)
* fix(codersdk): fix startup log channel shared memory bug
* fix(site): remove the EOF log line
2023-06-16 17:14:22 +03:00
Cian Johnston
6e598234b6
fix: only collect prometheus database metrics when explicitly enabled ( #8045 )
...
* fix: only collect prometheus database metrics when explicitly enabled
* add missing test
* de-duplicate wrapping
2023-06-15 12:34:16 +01:00
Steven Masley
6c4c3d6ce5
feat: add login type 'none' to prevent password login ( #8009 )
...
* feat: add login type 'none' to prevent login
Users with this login type must use tokens to authenticate.
Tokens must come from some other source, not a /login with password
authentication
2023-06-14 12:48:43 -05:00
Steven Masley
3619a3a6dd
feat: add disabling of default 'everyone' group access to template ( #7982 )
...
* feat: add disabling of default 'everyone' group access to template
* add FE to disable everyone group
* require entitlement to uncheck box
2023-06-14 11:08:58 -05:00
Dean Sheather
2c843f4011
fix: fix --header flag in CLI ( #8023 )
2023-06-14 21:52:01 +10:00
Mathias Fredriksson
1d0fae83a2
fix(coderd): prevent lost messages in `watchWorkspaceAgentMetadata` ( #7934 )
...
* fix(codersdk): wait for subscription in WatchWorkspaceAgentMetadata
* fix(coderd): subscribe before sending initial metadata event
* test(coderd): add retries to TestWorkspaceAgent_Metadata to avoid flake
2023-06-13 12:21:06 +00:00
Mathias Fredriksson
e4744686ec
fix(codersdk): handle API older than client for startup script behavior ( #7933 )
2023-06-09 13:01:56 +00:00
Steven Masley
a4cc883be1
chore: add proxy health interval flag/env config ( #7919 )
...
* chore: plumbing for proxy health interval from flag/env
2023-06-08 12:58:24 -05:00
Steven Masley
b2324325fa
chore: add warning log if misconfigured groups oidc ( #7874 )
...
* chore: add warning log if misconfigured groups oidc
This is not perfect, but if we find a 'groups' claim and it is not
configured, put out a warning log to give some information
2023-06-08 08:51:59 -05:00
Asher
f0c5201617
feat: allow cross-origin requests between users' own apps ( #7688 )
2023-06-07 11:08:14 -08:00
Mathias Fredriksson
660bbb8d38
refactor: deprecate `login_before_ready` in favor of `startup_script_behavior` ( #7837 )
...
Fixes #7758
2023-06-06 11:58:07 +03:00
Marcin Tojek
10036ab5fb
fix: use minDisabled, maxDisabled for parameter validation ( #7755 )
2023-06-02 11:43:48 +02:00
Marcin Tojek
a7366a8b76
feat!: drop support for legacy parameters ( #7663 )
2023-06-02 11:16:46 +02:00
Bruno Quaresma
1a615778e6
chore(site): add workspace filter experiments into all ( #7779 )
2023-06-01 15:45:04 -03: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
Ammar Bandukwala
43eee35ae8
chore(cli): correctly report telemetry even when transport replaced ( #7670 )
...
By introducing the "ExtraHeaders" map, we can apply headers even when
handlers replace the transport, as in the case of our scaletests.
Also, only send telemetry header when it's small.
2023-05-31 00:11:56 +00:00
Bruno Quaresma
77b0ca0b53
refactor(site): Improve workspaces filtering ( #7681 )
2023-05-30 14:52:13 -03:00
Steven Masley
c795a0e500
feat: Fix Deployment DAUs to work with local timezones ( #7647 )
...
* chore: Add timezone param to DAU SQL query
* Merge DAUs response
* Pass time offsets to metricscache
2023-05-30 13:18:27 -04:00
Marcin Tojek
702c9081e0
fix: do not skip parameter validation if min or max = 0 ( #7707 )
2023-05-30 14:57:06 +02:00
Marcin Tojek
14efdadd3c
feat: Collect agent SSH metrics ( #7584 )
2023-05-25 12:52:36 +02:00
Ammar Bandukwala
ec117e841a
chore: add CLI invokation telemetry ( #7589 )
2023-05-24 11:08:03 -05:00
Spike Curtis
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
Steven Masley
5d711fc95a
chore: CORs option for yarn dev server ( #7630 )
...
* chore: Yarn dev servers require CORs headers for external proxies
Adds a flag to set CORs headers to `*` for yarn dev servers
2023-05-22 20:02:39 +02:00
Colin Adler
dd5b0b2721
fix(scim): ensure scim users aren't created with their own org ( #7595 )
2023-05-18 20:54:45 -04:00
Jon Ayers
00a2413c03
feat: add telemetry support for workspace agent subsystem ( #7579 )
2023-05-17 22:49:25 -05:00
Marcin Tojek
cd38cb8290
feat: Add template version warnings ( #7483 )
2023-05-12 09:21:49 +00:00
Kira Pilot
ae3473dc1b
feat: add deleted_at field to workspace model ( #7475 )
...
* added impending_deletion workspace field
* gen docs
* update golden files
* added test
* PR comments
2023-05-11 08:47:53 -07:00
Steven Masley
b7f4f3a771
chore: Implement workspace proxy going away (graceful shutdown) ( #7459 )
...
* chore: Implement workspace proxy going away
When a workspace proxy shuts down, the health status of that
proxy should immediately be updated. This is purely a courtesy
and technically not required
2023-05-10 19:23:16 -05:00
Steven Masley
b5ad628460
chore: Allow editing proxy fields via api. ( #7435 )
...
* chore: Add ability to update workspace proxy fields
2023-05-09 13:46:50 -05:00
Steven Masley
1aac8200fa
chore: Fix column name in proxy ls command ( #7450 )
2023-05-08 12:23:12 -05:00
Steven Masley
2624ee8f12
chore: Remove extra opt and fix 'proxy' alias ( #7413 )
...
* chore: Remove extra opt and fix 'proxy' alias
* proxy -> wsproxy
2023-05-05 13:09:04 -05:00
Kira Pilot
5ffa6dae50
feat: add inactivity cleanup and failure cleanup configuration fields to Template Schedule Form ( #7402 )
...
* added workspace actions entitlement
* added workspace actions experiment
* added new route for template enterprise meta
* removing new route; repurposing old
* add new fields to get endpoints
* removed workspace actions experiment
* added logic to enterprise template store
* added new form fields
* feature flagged new fields
* fix validation
* fixed submit btn
* fix tests
* changed ttl defaults
* added FE tests
* added BE tests
* fixed lint
* adjusted comment language
* fixing unstaged changes check
* fix test
* Update coderd/database/migrations/000122_add_template_cleanup_ttls.down.sql
Co-authored-by: Dean Sheather <dean@deansheather.com>
* Update coderd/database/migrations/000122_add_template_cleanup_ttls.up.sql
Co-authored-by: Dean Sheather <dean@deansheather.com>
---------
Co-authored-by: Dean Sheather <dean@deansheather.com>
2023-05-05 08:19:26 -07:00
Cian Johnston
08fb9a6f1b
feat(cli): add trafficgen command for load testing ( #7307 )
...
This PR adds a scaletest workspace-traffic command for load testing. This opens a
ReconnectingPTY connection to each scaletest workspace (via coderd) and
concurrently writes and reads random data to/from the PTY. Payloads are of the
form #${RANDOM_ALPHANUMERIC_STRING}, which essentially drops garbage
comments in the remote shell, and should not result in any commands being executed.
2023-05-05 10:34:58 +01:00
Colin Adler
8bd9f9c351
feat: unified tracing between coderd<->provisionerd ( #7370 )
2023-05-03 23:02:35 +00:00
Kira Pilot
2e9310b203
chore: add workspace actions entitlement and experiment ( #7361 )
...
* added workspace actions entitlement
* added workspace actions experiment
2023-05-03 11:34:43 -07:00
Steven Masley
434c4be9f1
chore: Add listing proxies to cli 'coder proxy ls' ( #7376 )
...
* feat: Add listing proxies to cli 'coder proxy ls'
* Add unit test
* Ignore errors
* Make gen and update golden files
* Update golden files
2023-05-03 10:12:56 -05:00
Dean Sheather
3b15234660
chore: add continuous deployment for workspace proxies ( #7364 )
2023-05-02 08:02:51 +10:00
Marcin Tojek
bb0a38b161
feat: Implement aggregator for agent metrics ( #7259 )
2023-04-27 12:34:00 +02:00
Dean Sheather
f1dfeb03db
chore: fix flake in apptest reconnecting-pty test ( #7281 )
2023-04-26 00:31:41 +00:00
Dean Sheather
a98341612c
feat: add regions endpoint for proxies feature ( #7277 )
...
* feat: add regions endpoint for proxies feature
2023-04-25 09:37:52 -05:00
Steven Masley
3129741e08
chore: Proxy health status checks + endpoint ( #7233 )
...
* chore: Implement workspace proxy health check cron
At a given interval will check the reachability of workspace proxies.
* Proxyhealth is an enterprise feature
* Start proxyhealth go routine on enterprise coder
2023-04-24 10:25:35 -05:00
Steven Masley
4353ad7940
chore: Remove url and wildcard url from moon create ( #7224 )
...
* chore: Remove url and wildcard url from moon create
2023-04-20 21:09:14 -05:00
Dean Sheather
68667323f3
chore: support signed token query param for web terminal ( #7197 )
...
* chore: add endpoint to get token for web terminal
* chore: support signed token query param for web terminal
2023-04-20 23:59:45 +00:00
Steven Masley
a5a5c4d400
chore: Add workspace proxy enterprise cli commands ( #7176 )
...
* feat: Add workspace proxy enterprise cli commands
* chore: Handle custom workspace proxy options. Remove excess
* chore: Add endpoint to register workspace proxies
2023-04-20 09:48:47 -05:00
Ammar Bandukwala
2b9d12828a
cli: add --debug-http flag ( #7192 )
...
This makes it easier to help debug client issues.
2023-04-19 11:07:53 -05:00
Colin Adler
fbf329fbb7
fix(tailnet): set TCP keepalive idle to 72 hours for SSH conns ( #7196 )
2023-04-18 17:53:11 -05:00
Steven Masley
658246d5f2
chore: add workspace proxies to the backend ( #7032 )
...
Co-authored-by: Dean Sheather <dean@deansheather.com>
2023-04-17 19:57:21 +00:00
Bruno Quaresma
76b5deea78
chore(site): Remove template editor out of experimental ( #7165 )
2023-04-17 14:40:21 -03:00