Mathias Fredriksson
74fdcb1ace
fix(agent/agentssh): wait for sessions to exit ( #8008 )
2023-06-13 17:52:31 +00:00
Mathias Fredriksson
c916a9e67f
fix(agent): guard against multiple rpty race for same id ( #7998 )
...
* fix(agent): guard against multiple rpty race for same id
* fix(agent): ensure pty is closed on error
2023-06-13 15:14:07 +00:00
Ammar Bandukwala
fcca639d38
test(agent/agentssh): close SSH servers in all tests ( #7911 )
...
Potentially solves the flake seen here:
https://github.com/coder/coder/actions/runs/5167029213/jobs/9307647816 .
2023-06-07 23:43:38 +00:00
Marcin Tojek
14efdadd3c
feat: Collect agent SSH metrics ( #7584 )
2023-05-25 12:52:36 +02:00
Jon Ayers
00a2413c03
feat: add telemetry support for workspace agent subsystem ( #7579 )
2023-05-17 22:49:25 -05:00
Kyle Carberry
70d2203b9e
chore: reduce the log output of skipped tests ( #7520 )
...
With the introduction of the workspace proxy tests there was a lot
of output if a test was eventually skipped.
2023-05-14 19:37:00 -05:00
Spike Curtis
9c030a8888
fix: pty.Start respects context on Windows too ( #7373 )
...
* fix: pty.Start respects context on Windows too
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix windows imports; rename ToExec -> AsExec
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix import in windows test
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-05-03 11:43:05 +04:00
Ammar Bandukwala
465fe8658d
chore: skip timing-sensistive AgentMetadata test in the standard suite ( #7237 )
...
* chore: skip timing-sensistive AgentMetadata test in the standard suite
* Add test-timing target
* fix windows?
* Works on my Windows desktop?
* Use tag system
* fixup! Use tag system
2023-05-02 10:41:41 +00:00
Marcin Tojek
bb0a38b161
feat: Implement aggregator for agent metrics ( #7259 )
2023-04-27 12:34:00 +02:00
Spike Curtis and Mathias Fredriksson
b6666cf1cf
chore: tailnet debug logging ( #7260 )
...
* Enable discovery (disco) debug
Signed-off-by: Spike Curtis <spike@coder.com >
* Better debug on reconnectingPTY
Signed-off-by: Spike Curtis <spike@coder.com >
* Agent logging in appstest
Signed-off-by: Spike Curtis <spike@coder.com >
* More reconnectingPTY logging
Signed-off-by: Spike Curtis <spike@coder.com >
* Add logging to coordinator
Signed-off-by: Spike Curtis <spike@coder.com >
* Update agent/agent.go
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
* Update agent/agent.go
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
* Update agent/agent.go
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
* Update agent/agent.go
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
* Clarify logs; remove unrelated changes
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
2023-04-27 13:59:01 +04:00
Colin Adler
3eb7f06bf1
feat(agent): add http debug routes for magicsock ( #7287 )
2023-04-26 13:01:49 -05:00
Spike Curtis
29cbc5404a
Reconnecting PTY waits for command output or EOF ( #7279 )
...
Signed-off-by: Spike Curtis <spike@coder.com >
2023-04-26 09:02:06 +04:00
Spike Curtis
daee91c6dc
refactor: PTY & SSH ( #7100 )
...
* Add ssh tests for longoutput, orphan
Signed-off-by: Spike Curtis <spike@coder.com >
* PTY/SSH tests & improvements
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix some tests
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix linting
Signed-off-by: Spike Curtis <spike@coder.com >
* fmt
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix windows test
Signed-off-by: Spike Curtis <spike@coder.com >
* Windows copy test
Signed-off-by: Spike Curtis <spike@coder.com >
* WIP Windows pty handling
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix truncation tests
Signed-off-by: Spike Curtis <spike@coder.com >
* Appease linter/fmt
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix typo
Signed-off-by: Spike Curtis <spike@coder.com >
* Rework truncation test to not assume OS buffers
Signed-off-by: Spike Curtis <spike@coder.com >
* Disable orphan test on Windows --- uses sh
Signed-off-by: Spike Curtis <spike@coder.com >
* agent_test running SSH in pty use ptytest.Start
Signed-off-by: Spike Curtis <spike@coder.com >
* More detail about closing pseudoconsole on windows
Signed-off-by: Spike Curtis <spike@coder.com >
* Code review fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* Rearrange ptytest method order
Signed-off-by: Spike Curtis <spike@coder.com >
* Protect pty.Resize on windows from races
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix windows bugs
Signed-off-by: Spike Curtis <spike@coder.com >
* PTY doesn't extend PTYCmd
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix windows types
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-04-24 14:53:57 +04:00
Mathias Fredriksson
712098fa2b
test(agent): Increase the time to wait for agent reachable ( #7245 )
2023-04-21 19:40:17 +00:00
Kyle Carberry and Mathias Fredriksson
fd84df769d
fix: add DISPLAY env var for X11 connections ( #7248 )
...
* fix: add `DISPLAY` env var for X11 connections
* Update agent/agentssh/agentssh.go
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
---------
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
2023-04-21 16:43:49 +00:00
Kyle Carberry
f39e6a79de
feat: add support for X11 forwarding ( #7205 )
...
* feat: add support for X11 forwarding
* Only run X forwarding on Linux
* Fix piping
* Fix comments
2023-04-21 15:52:40 +00:00
Mathias Fredriksson
300ae4a6bf
test(agent): Fix TestAgent_UnixRemoteForwarding timeout ( #7235 )
2023-04-21 01:35:51 +03:00
Mathias Fredriksson
b3b26a62f2
test(agent/reaper): Fix restructure issue ( #7168 )
...
In #7164 we accidentally removed the "in CI" check, this fixes it.
2023-04-17 17:39:10 +00:00
Mathias Fredriksson
bf0fed4f3f
chore: Update pion/udp and improve parallel/non-parallel tests ( #7164 )
...
* test(all): Improve and fix subtests with parallell/nonparallel parents
* chore: Update pion/udp to fix buffer close
2023-04-17 20:23:10 +03:00
Muhammad Atif Ali and Mathias Fredriksson
bb43713d38
fix: VSCode desktop connection ( #7120 )
...
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com >
2023-04-14 17:32:18 +03:00
Ammar Bandukwala
24d8644c0b
chore: de-flake TestWorkspaceAgent_Metadata (round 2) ( #7039 )
...
This time, we keep the timing / "racey" tests, but avoid running
them in the harsher CI conditions.
2023-04-06 21:10:13 +00:00
Mathias Fredriksson
aa660e0631
feat(agentssh): Gracefully close SSH sessions on Close ( #7027 )
...
By tracking and closing sessions manually before closing the underlying
connections, we ensure that the termination is propagated to SSH/SFTP
clients and they're not left waiting for a connection timeout.
Refs: #6177
2023-04-06 19:57:30 +03:00
Mathias Fredriksson
0224426e5b
refactor(agent): Move SSH server into agentssh package ( #7004 )
...
Refs: #6177
2023-04-06 19:39:22 +03:00
Mathias Fredriksson
121c2bcde8
test(agent): Fix tests without cmd.Wait() ( #7029 )
2023-04-06 16:45:53 +03:00
Kyle Carberry
bc18f6c113
fix: add CODER_AGENT_TAILNET_LISTEN_PORT for specifying a static tailnet port ( #6980 )
...
Fixes #5175 .
2023-04-03 16:20:19 +00:00
Ammar Bandukwala
34debbf837
fix(agent): prevent goroutine pile up in reportMetadataLoop ( #6957 )
2023-04-01 16:34:42 -05:00
Ammar Bandukwala
ca4fa81570
feat: add agent metadata ( #6614 )
2023-03-31 15:26:19 -05:00
Kyle Carberry
04e404e448
chore: dial the remote socket continually until connect ( #6891 )
...
It's possible that the command starts but the socket isn't ready
even when the file exists.
2023-03-30 15:36:23 +00:00
Mathias Fredriksson
90d18dd2e5
fix(agent): Close stdin and stdout separately to fix pty output loss ( #6862 )
...
Fixes #6656
Closes #6840
2023-03-29 21:58:38 +03:00
Mathias Fredriksson
891bbda995
fix(agent): More protection for lost output of SSH PTY commands ( #6833 )
...
Fixes #6656 (part 2)
2023-03-28 09:11:15 +00:00
Mathias Fredriksson
76bdde7f1b
fix(agent): Prevent SSH TTYs from losing command output on exit ( #6777 )
2023-03-24 18:23:41 +00:00
Kyle Carberry and Asher
cb7375450b
feat: add startup script logs to the ui ( #6558 )
...
* Add startup script logs to the database
* Add coderd endpoints for startup script logs
* Push startup script logs from agent
* Pull startup script logs on frontend
* Rename queries
* Add constraint
* Start creating log sending loop
* Add log sending to the agent
* Add tests for streaming logs
* Shorten notify channel name
* Add FE
* Improve bulk log performance
* Finish UI display
* Fix startup log visibility
* Add warning for overflow
* Fix agent queue logs overflow
* Display staartup logs in a virtual DOM for performance
* Fix agent queue with loads of logs
* Fix authorize test
* Remove faulty test
* Fix startup and shutdown reporting error
* Fix gen
* Fix comments
* Periodically purge old database entries
* Add test fixture for migration
* Add Storybook
* Check if there are logs when displaying features
* Fix startup component overflow gap
* Fix startup log wrapping
---------
Co-authored-by: Asher <ash@coder.com >
2023-03-23 14:09:13 -05:00
Benjamin Sejas
7076dee522
feat(agent): Add SSH max timeout option for coder agent ( #6596 )
...
* feat(agent): Add SSH max timeout option for coder agent
* Fix lint and update test golden snapshot
2023-03-15 09:08:50 -05:00
Steven Masley
2abae42cec
feat: Ignore agent pprof port in listening ports ( #6515 )
...
* feat: Ignore agent pprof port in listening ports
2023-03-09 10:53:00 -06:00
Kyle Carberry
5304b4e483
feat: add connection statistics for workspace agents ( #6469 )
...
* fix: don't make session counts cumulative
This made for some weird tracking... we want the point-in-time
number of counts!
* Add databasefake query for getting agent stats
* Add deployment stats endpoint
* The query... works?!?
* Fix aggregation query
* Select from multiple tables instead
* Fix continuous stats
* Increase period of stat refreshes
* Add workspace counts to deployment stats
* fmt
* Add a slight bit of responsiveness
* Fix template version editor overflow
* Add refresh button
* Fix font family on button
* Fix latest stat being reported
* Revert agent conn stats
* Fix linting error
* Fix tests
* Fix gen
* Fix migrations
* Block on sending stat updates
* Add test fixtures
* Fix response structure
* make gen
2023-03-08 21:05:45 -06:00
Kyle Carberry
29ced72cda
chore: fix stats leaking in tests ( #6478 )
...
See https://github.com/coder/coder/actions/runs/4350254306/jobs/7601134509
2023-03-07 04:09:02 +00:00
Mathias Fredriksson and Marcin Tojek
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
2ff1c6d613
feat: add agent stats for different connection types ( #6412 )
...
This allows us to track when our extensions are used, when the
web terminal is used, and average connection latency to the agent.
2023-03-02 08:06:00 -06:00
Kyle Carberry
05e449943d
chore: convert agent stats to use a table ( #6374 )
...
* chore: convert workspace agent stats from json to table
* chore: convert agent stats to use a table
Backwards compatibility becomes hard when all agent stats are in a JSON blob.
We also want to query this table for new agents that are failing health checks
so we can display it in the UI.
* Fix migration using default values
2023-02-28 13:33:33 -06:00
Kyle Carberry
3d8b77d6f1
chore: improve clarity of the agent logs ( #6345 )
...
I looked through these logs when debugging and there was a bit of spam!
2023-02-27 09:20:24 -06:00
Mathias Fredriksson
677721e4a1
fix(tailnet): Skip nodes without DERP, avoid use of RemoveAllPeers ( #6320 )
...
* fix(tailnet): Skip nodes without DERP, avoid use of RemoveAllPeers
2023-02-24 18:16:29 +02:00
Ammar Bandukwala
f05609b4da
chore: format Go more aggressively
2023-02-18 18:32:09 -06:00
Mathias Fredriksson
41ae01d2e9
fix: Improve closure of provisioner and agent tailnet dial ( #6199 )
2023-02-14 14:57:48 +00:00
Colin Adler
4432cd08d6
chore: update tailscale ( #6091 )
2023-02-09 21:43:18 -06:00
Mathias Fredriksson
6f3f7f2937
fix(agent): Allow signal propagation when running as PID 1 ( #6141 )
2023-02-09 23:07:21 +02:00
Kyle Carberry
691495d761
feat: add expanded_directory to the agent for extension support ( #6087 )
...
This will enable opening the default `dir` of an agent in
the VS Code extension!
2023-02-07 21:35:09 +00:00
Kyle Carberry
f6effdb63e
fix: redirect the user to the home directory if dir is not set ( #6085 )
...
This was blocking SSH connections from being established if a dir
that wasn't created yet is set.
2023-02-07 20:28:41 +00:00
Kyle Carberry
2c2bbcc019
chore: update tests to support fish ( #6023 )
...
* fix: update tests to add fish support
* Track connections for SSH sessions to prevent leaks
* Revert SSH conn handling
2023-02-03 12:25:11 -06:00
Mathias Fredriksson
e6f5623627
chore: Rename agent statistics server to http api server ( #5961 )
2023-02-01 20:05:57 +02:00
Mathias Fredriksson
f4d6afb01d
feat(agent): Allow specifying log directory via flag or env ( #5915 )
2023-01-30 18:39:52 +02:00