Garrett Delfosse
5789ea5397
chore: move stat reporting into workspacestats package ( #13386 )
2024-05-29 11:49:08 -04:00
Colin Adler
4d5a7b2d56
chore(codersdk): move all tailscale imports out of codersdk ( #12735 )
...
Currently, importing `codersdk` just to interact with the API requires
importing tailscale, which causes builds to fail unless manually using
our fork.
2024-03-26 12:44:31 -05:00
Garrett Delfosse
0723dd3abf
fix: ensure agent token is from latest build in middleware ( #12443 )
2024-03-14 12:27:32 -04:00
Cian Johnston
74b749b890
chore(coderd): add test to assert agent token invalid when workspace deleted ( #12290 )
2024-02-26 13:27:00 +00:00
Marcin Tojek
c0e169ebf9
feat: support custom order of agent metadata ( #12066 )
2024-02-08 17:29:34 +01:00
Spike Curtis
1cf4b62867
feat: change agent to use v2 API for reporting stats ( #12024 )
...
Modifies the agent to use the v2 API to report its statistics, using the `statsReporter` subcomponent.
2024-02-07 15:26:41 +04:00
Spike Curtis
1aa117b9ec
chore: rename client Listen to ConnectRPC ( #11916 )
...
ConnectRPC seems more appropriate for this function
2024-02-01 14:44:11 +04:00
Spike Curtis
0fc177203e
feat: use agent v2 API to update app health ( #11889 )
...
Use the Agent v2 API to update App Health
2024-01-30 11:35:12 +04:00
Spike Curtis
2599850e54
feat: use agent v2 API to post startup ( #11877 )
...
Uses the v2 Agent API to post startup information.
2024-01-30 11:23:28 +04:00
Spike Curtis
da8bb1c198
feat: use agent v2 API to fetch manifest ( #11832 )
...
Agent uses the v2 API to obtain the manifest, instead of the HTTP API.
2024-01-30 10:11:28 +04:00
Steven Masley
d66e6e78ee
fix: always attempt external auth refresh when fetching ( #11762 ) ( #11830 )
...
* fix: always attempt external auth refresh when fetching
* refactor validate to check expiry when considering "valid"
2024-01-29 08:55:15 -06:00
Ammar Bandukwala
79568bf628
Revert "fix: always attempt external auth refresh when fetching ( #11762 )"
...
This reverts commit 0befc0826a .
2024-01-25 14:22:47 -06:00
Steven Masley
0befc0826a
fix: always attempt external auth refresh when fetching ( #11762 )
...
* fix: always attempt external auth refresh when fetching
* refactor validate to check expiry when considering "valid"
2024-01-25 10:54:56 -06:00
Spike Curtis
f01cab9894
feat: use tailnet v2 API for coordination ( #11638 )
...
This one is huge, and I'm sorry.
The problem is that once I change `tailnet.Conn` to start doing v2 behavior, I kind of have to change it everywhere, including in CoderSDK (CLI), the agent, wsproxy, and ServerTailnet.
There is still a bit more cleanup to do, and I need to add code so that when we lose connection to the Coordinator, we mark all peers as LOST, but that will be in a separate PR since this is big enough!
2024-01-22 11:07:50 +04:00
Kayla Washburn-Love
80eac73ed1
chore: remove useLocalStorage hook ( #11712 )
2024-01-19 16:04:19 -07:00
Marcin Tojek
5eb3e1cdaa
feat: expose owner_name in coder_workspace resource ( #11639 )
2024-01-17 13:20:45 +01:00
Cian Johnston
d583acad00
fix(coderd): workspaceapps: update last_used_at when workspace app reports stats ( #11603 )
...
- Adds a new query BatchUpdateLastUsedAt
- Adds calls to BatchUpdateLastUsedAt in app stats handler upon flush
- Passes a stats flush channel to apptest setup scaffolding and updates unit tests to assert modifications to LastUsedAt.
2024-01-16 14:06:39 +00:00
Steven Masley
03ee63931c
chore: remove duplicate validate calls on same oauth token ( #11598 )
...
* chore: remove duplicate validate calls on same oauth token
2024-01-12 14:27:22 -06:00
Spike Curtis
211e59bf65
feat: add tailnet v2 API support to coordinate endpoint ( #11228 )
...
closes #10532
Adds v2 support to the /coordinate endpoint via a query parameter.
v1 already has test cases, and we haven't implemented v2 at the client yet, so the only new test case is an unsupported version.
2023-12-15 14:10:24 +04:00
Spike Curtis
43ba3146a9
feat: add test case for BlockDirect + listening ports ( #11152 )
...
Adds a test case for #10391 with single tailnet out of experimental
2023-12-13 12:28:09 +04:00
Garrett Delfosse and Steven Masley
228cbec99b
fix: stop updating agent stats from deleted workspaces ( #11026 )
...
Co-authored-by: Steven Masley <stevenmasley@gmail.com >
2023-12-07 13:55:29 -05:00
baf3bf6b9c
feat: add workspace_id, owner_name to agent manifest ( #10199 )
...
Co-authored-by: Kyle Carberry <kyle@carberry.com >
Co-authored-by: Atif Ali <atif@coder.com >
2023-12-04 00:41:54 +03:00
Jon Ayers
967db2801b
chore: refactor ResolveAutostart tests to use dbfake ( #10603 )
2023-11-30 19:33:04 -06:00
Spike Curtis
2dc565d5de
chore: remove New----Builder from dbfake function names ( #10882 )
...
Drop "New" and "Builder" from the function names, in favor of the top-level resource created. This shortens tests and gives a nice syntax. Since everything is a builder, the prefix and suffix don't add much value and just make things harder to read.
I've also chosen to leave `Do()` as the function to insert into the database. Even though it's a builder pattern, I fear `.Build()` might be confusing with Workspace Builds. One other idea is `Insert()` but if we later add dbfake functions that update, this might be inconsistent.
2023-11-29 11:06:04 +04:00
Mathias Fredriksson
f441ad66e1
fix(codersdk): keep workspace agent connection open after dial context ( #10863 )
2023-11-27 14:29:57 +02:00
Spike Curtis
4548ad7cef
chore: remove dbfake.Workspace ( #10880 )
...
Remove dbfake.Workspace and use builder instead.
2023-11-27 14:39:16 +04:00
Spike Curtis
78283a7fb9
chore: remove dbfake.WorkspaceWithAgent ( #10879 )
...
Replace dbfake.WorkspaceWithAgent() with the builder pattern and remove this function.
2023-11-27 14:30:15 +04:00
Mathias Fredriksson
6ecba0fda7
fix(coderd): prevent logging error for query cancellation in watchWorkspaceAgentMetadata ( #10843 )
2023-11-22 15:32:31 +00:00
Dean Sheather
a9c0c01629
chore: fix flake in listening ports test ( #10833 )
2023-11-22 09:30:51 +00:00
Spike Curtis
b25e5dc90b
chore: remove dbfake.WorkspaceBuild in favor of builder pattern ( #10814 )
...
I'd like to convert dbfake into a builder pattern to prevent a proliferation of XXXWithYYY methods. This is one step of the way by removing the Non-builder function.
2023-11-22 13:04:58 +04:00
Jon Ayers
51b58cfc98
fix: only update last_used_at when connection count > 0 ( #10808 )
2023-11-21 18:10:41 -06:00
Mathias Fredriksson
198b56c137
fix(coderd): fix memory leak in watchWorkspaceAgentMetadata ( #10685 )
...
Fixes #10550
2023-11-16 17:03:53 +02:00
Kyle Carberry
839a16e299
feat: add dbfake for workspace builds and resources ( #10426 )
...
* feat: add dbfakedata for workspace builds and resources
This creates `coderdtest.NewWithDatabase` and adds a series of
helper functions to `dbfake` that insert structured fake data
for resources into the database.
It allows us to remove provisionerd from a significant amount of
tests which should speed them up and reduce flakes.
* Rename dbfakedata to dbfake
* Migrate workspaceagents_test.go to use the new dbfake
* Migrate agent_test.go to use the new fakes
* Fix comments
2023-11-02 17:15:07 +00:00
Spike Curtis
a7c671ca07
feat: add workspace agent APIVersion ( #10419 )
...
Fixes #10339
2023-10-31 10:08:43 +04: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
Spike Curtis
8a47262faf
fix: ignore logged errors in TestWorkspaceAgent/Timeout
...
fixes #10167
Annoyingly, there isn't a good way to stop the publish from being sent on shutdown, and subscribing to them in the test is too fragile because empty messages are sent in a bunch of places, so we can't reliably tell it's regarding timeouts.
2023-10-10 15:45:47 +04:00
Kayla Washburn
f001a57614
fix: only allow promoting successful template versions ( #9998 )
2023-10-05 10:49:25 -06:00
Cian Johnston
2c2e98cc39
fix(coderd): fetch workspace agent scripts and log sources using system auth ctx ( #10043 )
...
* add failing unit test
* fetch log sources and agent scripts using system auth ctx
2023-10-04 15:50:51 +01:00
Kayla Washburn
c194119689
chore: rename AwaitTemplateVersionJobCompleted and AwaitWorkspaceBuildJobCompleted ( #10003 )
2023-10-03 11:02:56 -06:00
Cian Johnston
93ef696b57
refactor(agent): add agenttest.New helper function ( #9812 )
...
* Adds agenttest.New() helper function
* Makes sure agent gets closed on test cleanup
* Makes sure you don't forget to set session token
* Sets the agent and client logger automatically
2023-09-26 12:05:19 +01:00
Kyle Carberry and Muhammad Atif Ali
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
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
Cian Johnston
653488e8ee
fix(coderd): emit CollectedAt as UTC in convertWorkspaceAgentMetadata ( #9700 )
2023-09-18 09:17:18 +01:00
Cian Johnston
65db7a71b7
feat(coderd/database/dbtestutil): set default database timezone to non-UTC in unit tests ( #9672 )
...
- Adds dbtestutil.WithTimezone(tz) to allow setting the timezone for a test database.
- Modifies our test database setup code to pick a consistently weird timezone for the database.
- Adds the facility randtz.Name() to pick a random timezone which is consistent across subtests (via sync.Once).
- Adds a linter rule to warn against setting the test database timezone to UTC.
2023-09-15 09:01:32 +01: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
Mathias Fredriksson
487bdc2e08
fix(coderd): allow workspaceAgentLogs follow to return on non-latest-build ( #9382 )
2023-08-28 19:46:42 +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
Ammar Bandukwala
630ec55c48
fix(coderd): remove rate limits from agent metadata ( #9308 )
...
Include the full update message in the PubSub notification so that
we don't have to refresh metadata from the DB and can avoid rate
limiting.
2023-08-24 15:18:42 -05:00
Cian Johnston
5d4a17717f
refactor(coderd): fetch owner information when authorizing workspace agent ( #9123 )
...
* Refactors the existing httpmw tests to use dbtestutil so that we can test them against a real database if desired,
* Modifies the GetWorkspaceAgentByAuthToken to return the owner and associated roles, removing the need for additional queries
2023-08-21 15:49:26 +01:00