Dean Sheather
e46431078c
feat: add AgentAPI using DRPC ( #10811 )
...
Co-authored-by: Spike Curtis <spike@coder.com >
2023-12-18 22:53:28 +10:00
Spike Curtis
a58e4febb9
feat: add tailnet v2 Service and Client ( #11225 )
...
Part of #10532
Adds a tailnet ClientService that accepts a net.Conn and serves v1 or v2 of the tailnet API.
Also adds a DRPCService that implements the DRPC interface for the v2 API. This component is within the ClientService, but needs to be reusable and exported so that we can also embed it in the Agent API.
Finally, includes a NewDRPCClient function that takes a net.Conn and runs dRPC in yamux over it on the client side.
2023-12-15 12:48:39 +04:00
Spike Curtis
30f032d282
feat: add tailnet ValidateVersion ( #11223 )
...
Part of #10532
Adds a method to validate a requested version of the tailnet API
2023-12-15 11:49:30 +04:00
Spike Curtis
ad3fed72bc
chore: rename Coordinator to CoordinatorV1 ( #11222 )
...
Renames the tailnet.Coordinator to represent both v1 and v2 APIs, so that we can use this interface for the main atomic pointer.
Part of #10532
2023-12-15 11:38:12 +04:00
Spike Curtis
bf3b35b1e2
fix: stop logging context Canceled as error ( #11177 )
...
fixes #11166 and a related log that could have the same problem
2023-12-13 13:08:30 +04:00
Cian Johnston
197cd935cf
chore(Makefile): use linter version from dogfood Dockerfile ( #11147 )
...
* chore(Makefile): use golangci-lint version from dogfood Dockerfile
* chore(dogfood/Dockerfile): update golangci-lint to latest version
* chore(coderd): address linter complaints
2023-12-12 10:02:32 +00:00
Spike Curtis
2c86d0bed0
feat: support v2 Tailnet API in AGPL coordinator ( #11010 )
...
Fixes #10529
2023-12-06 15:04:28 +04:00
Spike Curtis
5c48cb4447
feat: modify PG Coordinator to work with new v2 Tailnet API ( #10573 )
...
re: #10528
Refactors PG Coordinator to work with the Tailnet v2 API, including wrappers for the existing v1 API.
The debug endpoint functions, but doesn't return sensible data, that will be in another stacked PR.
2023-11-20 14:31:04 +04:00
Spike Curtis
f400d8a0c5
fix: handle SIGHUP from OpenSSH ( #10638 )
...
Fixes an issue where remote forwards are not correctly torn down when using OpenSSH with `coder ssh --stdio`. OpenSSH sends a disconnect signal, but then also sends SIGHUP to `coder`. Previously, we just exited when we got SIGHUP, and this raced against properly disconnecting.
Fixes https://github.com/coder/customers/issues/327
2023-11-13 15:14:42 +04:00
Dean Sheather
95e5419626
chore: fail server startup on invalid DERP map ( #10536 )
2023-11-06 23:04:07 +10:00
Spike Curtis
94eb9b8db1
fix: disable t.Parallel on TestPortForward ( #10449 )
...
I've said it before, I'll say it again: you can't create a timed context before calling `t.Parallel()` and then use it after.
Fixes flakes like https://github.com/coder/coder/actions/runs/6716682414/job/18253279157
I've chosen just to drop `t.Parallel()` entirely rather than create a second context after the parallel call, since the vast majority of the test time happens before where the parallel call was. It does all the tailnet setup before `t.Parallel()`.
Leaving a call to `t.Parallel()` is a bug risk for future maintainers to come in and use the wrong context in the latter part of the test by accident.
2023-11-01 13:45:13 +04: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
2a6fd90140
feat: add tailnet and agent API definitions ( #10324 )
...
Adds API definitions and packages for Tailnet and Agent APIs (API version 2.0)
2023-10-30 12:14:45 +04:00
Spike Curtis
236e84c4d6
feat: add logging for forwarded TCP connections
...
part of #7963
log TCP connections as they are forwarded by gVisor
2023-10-09 19:41:26 +04:00
Colin Adler
03a7d2f70b
chore: fix servertailnet test flake ( #10110 )
...
https://github.com/coder/coder/actions/runs/6424100765/job/17444018788?pr=10083#step:5:771
2023-10-06 11:31:53 -05:00
Colin Adler
c900b5f8df
feat: add single tailnet support to pgcoord ( #9351 )
2023-09-21 14:30:48 -05: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
Colin Adler
8ee6178c66
chore(tailnet): fix MultiAgentConn mockgen ( #9476 )
2023-08-31 22:37:05 +00:00
Colin Adler
64ef867b4f
fix(tailnet): re-add keepalives ( #9410 )
2023-08-29 15:21:30 -05:00
Ammar Bandukwala
6ba92ef924
ci: enable gocognit ( #9359 )
...
And, bring the server under 300:
* Removed the undocumented "disable" STUN address in favor of the
--disable-direct flag.
2023-08-27 14:46:44 -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
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
Colin Adler
5b2ea2e94f
fix(tailnet): disable wireguard trimming ( #9098 )
...
Co-authored-by: Spike Curtis <spike@coder.com >
2023-08-15 14:26:56 -05:00
Colin Adler
344d32b2f1
feat(coderd): expire agents from server tailnet ( #9092 )
2023-08-14 20:38:37 -05:00
Dean Sheather
d2f22b063a
fix: move STUN servers into their own regions ( #9030 )
2023-08-11 05:04:17 +10:00
Colin Adler
bc862fa493
chore: upgrade tailscale to v1.46.1 ( #8913 )
2023-08-09 19:50:26 +00:00
Dean Sheather
3c52b01850
chore: add tailscale magicsock debug logging controls ( #8982 )
2023-08-08 17:56:08 +00:00
Colin Adler
758c368222
chore: fix TestTailnet/ForcesWebSockets flake ( #8953 )
2023-08-07 21:17:39 -05:00
Dean Sheather
c575292ba6
fix: fix tailnet netcheck issues ( #8802 )
2023-08-02 01:50:43 +10:00
Colin Adler
0b4f333a6f
chore: add http debug support to pgcoord ( #8795 )
2023-07-28 17:59:31 -05:00
Colin Adler
dd2f79995b
chore(tailnet): rewrite coordinator debug using html/template ( #8752 )
2023-07-26 22:54:21 +00:00
Ammar Bandukwala
25e30c6f41
feat(cli): support fine-grained server log filtering ( #8748 )
2023-07-26 16:46:22 -05:00
Colin Adler
6b92abebb9
fix(tailnet): track agent names for http debug ( #8744 )
2023-07-26 18:44:10 +00:00
Dean Sheather
2f0a9996e7
chore: add derpserver to wsproxy, add proxies to derpmap ( #7311 )
2023-07-27 02:21:04 +10:00
Colin Adler
517fb19474
feat: add single tailnet support to moons ( #8587 )
2023-07-19 11:11:11 -05:00
Colin Adler
c47b78c44b
chore: replace wsconncache with a single tailnet ( #8176 )
2023-07-12 17:37:31 -05:00
Spike Curtis
c0a01ec81c
fix: fix TestPGCoordinatorDual_Mainline flake ( #8228 )
...
* fix TestPGCoordinatorDual_Mainline flake
Signed-off-by: Spike Curtis <spike@coder.com >
* use slices.Contains instead of local function
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-06-28 11:37:45 +04:00
Kyle Carberry
f40865bc2f
chore: use mutex around blockEndpoints ( #8209 )
...
https://github.com/coder/coder/actions/runs/5378950122/jobs/9759972142
2023-06-26 10:01:50 -05:00
Dean Sheather
a28d422c35
feat: add flag to disable all direct connections ( #7936 )
2023-06-21 22:02:05 +00:00
Spike Curtis
cc17d2feea
refactor: add postgres tailnet coordinator ( #8044 )
...
* postgres tailnet coordinator
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix db migration; tests
Signed-off-by: Spike Curtis <spike@coder.com >
* Add fixture, regenerate
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix fixtures
Signed-off-by: Spike Curtis <spike@coder.com >
* review comments, run clean gen
Signed-off-by: Spike Curtis <spike@coder.com >
* Rename waitForConn -> cleanupConn
Signed-off-by: Spike Curtis <spike@coder.com >
* code review updates
Signed-off-by: Spike Curtis <spike@coder.com >
* db migration order
Signed-off-by: Spike Curtis <spike@coder.com >
* fix log field name last_heartbeat
Signed-off-by: Spike Curtis <spike@coder.com >
* fix heartbeat_from log field
Signed-off-by: Spike Curtis <spike@coder.com >
* fix slog fields for linting
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-06-21 16:20:58 +04:00
Marcin Tojek
b1d1b63113
chore: ensure logs consistency across Coder ( #8083 )
2023-06-20 12:30:45 +02:00
Marcin Tojek
247f8a973f
feat: replace ssh maxTimeout with keep-alive mechanism ( #8062 )
...
* Bump up coder/ssh
* feat: Set default agent timeout to ~72h
* Address PR comments
* Fix
2023-06-16 15:22:18 +02:00
Spike Curtis
dc3d39baf8
fix: agent disconnects from coordinator ( #7430 )
...
* work around websocket deadline bug
Signed-off-by: Spike Curtis <spike@coder.com >
* Use test context to hold websocket open
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix race creating test websocket
Signed-off-by: Spike Curtis <spike@coder.com >
* set write deadline to time.Time zero
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-05-05 20:29:03 +04:00
Spike Curtis
b3689c8f64
Only send tailnet nodes updates with preferred DERP ( #7387 )
...
Signed-off-by: Spike Curtis <spike@coder.com >
2023-05-04 14:30:57 +04:00
Spike Curtis
bd630113b2
fix: coordinator node update race ( #7345 )
...
* fix: coordinator node update race
Signed-off-by: Spike Curtis <spike@coder.com >
* Lint fixes, make core private
Signed-off-by: Spike Curtis <spike@coder.com >
* Don't log broken connections as errors
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-05-02 20:58:21 +04:00
Spike Curtis
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
Colin Adler
745868fd8a
revert: chore: upgrade tailscale ( #7236 )
2023-04-20 17:58:22 -05:00
Colin Adler
a86830a283
chore: upgrade tailscale ( #7207 )
2023-04-20 13:29:56 -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