Skip to content

Commit b43344b

Browse files
authored
feat: use latest gVisor and go 1.22.3 (coder#13338)
1 parent c67eba1 commit b43344b

File tree

12 files changed

+40
-59
lines changed

12 files changed

+40
-59
lines changed

.github/actions/setup-go/action.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: |
44
inputs:
55
version:
66
description: "The Go version to use."
7-
default: "1.21.9"
7+
default: "1.22.3"
88
runs:
99
using: "composite"
1010
steps:

.github/workflows/ci.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -922,7 +922,7 @@ jobs:
922922
uses: actions/dependency-review-action@v4.3.2
923923
with:
924924
allow-licenses: Apache-2.0, BSD-2-Clause, BSD-3-Clause, CC0-1.0, ISC, MIT, MIT-0, MPL-2.0
925-
allow-dependencies-licenses: "pkg:golang/github.com/pelletier/go-toml/v2"
925+
allow-dependencies-licenses: "pkg:golang/github.com/coder/wgtunnel@0.1.13-0.20240522110300-ade90dfb2da0"
926926
license-check: true
927927
vulnerability-check: false
928928
- name: "Report"

cli/server_internal_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,8 @@ func Test_configureCipherSuites(t *testing.T) {
141141
name: "TLSUnsupported",
142142
minTLS: tls.VersionTLS10,
143143
maxTLS: tls.VersionTLS13,
144-
// TLS_RSA_WITH_AES_128_GCM_SHA256 only supports tls 1.2
145-
inputCiphers: []string{"TLS_RSA_WITH_AES_128_GCM_SHA256"},
144+
// TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 only supports tls 1.2
145+
inputCiphers: []string{"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"},
146146
wantErr: "no tls ciphers supported for tls versions",
147147
},
148148
{

coderd/apidoc/docs.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/devtunnel/tunnel.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import (
1111
"time"
1212

1313
"github.com/briandowns/spinner"
14+
"github.com/tailscale/wireguard-go/device"
1415
"golang.org/x/xerrors"
15-
"golang.zx2c4.com/wireguard/device"
1616

1717
"cdr.dev/slog"
1818
"github.com/coder/coder/v2/cli/cliui"

docs/api/schemas.md

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dogfood/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ FROM ubuntu:jammy AS go
88

99
RUN apt-get update && apt-get install --yes curl gcc
1010
# Install Go manually, so that we can control the version
11-
ARG GO_VERSION=1.21.9
11+
ARG GO_VERSION=1.22.3
1212
RUN mkdir --parents /usr/local/go
1313

1414
# Boring Go is needed to build FIPS-compliant binaries.

flake.lock

+9-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

+3-3
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
git
4040
gnumake
4141
gnused
42-
go_1_21
42+
go_1_22
4343
go-migrate
4444
golangci-lint
4545
gopls
@@ -93,11 +93,11 @@
9393
# To make faster subsequent builds, you could extract the `.zst`
9494
# slim bundle into it's own derivation.
9595
buildFat = osArch:
96-
pkgs.buildGo121Module {
96+
pkgs.buildGo122Module {
9797
name = "coder-${osArch}";
9898
# Updated with ./scripts/update-flake.sh`.
9999
# This should be updated whenever go.mod changes!
100-
vendorHash = "sha256-tBczWqmpIfr8zwftHl/W3nw3qiSei+aIw3fZmtl0SwI=";
100+
vendorHash = "sha256-YOXZ3tJAky2XmNH81MNj3eNq95ucGFUJIC0O8Z+xk20=";
101101
proxyVendor = true;
102102
src = ./.;
103103
nativeBuildInputs = with pkgs; [ getopt openssl zstd ];

go.mod

+9-26
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/coder/coder/v2
22

3-
go 1.21.4
3+
go 1.22.3
44

55
// Required until a v3 of chroma is created to lazily initialize all XML files.
66
// None of our dependencies seem to use the registries anyways, so this
@@ -42,28 +42,12 @@ replace github.com/dlclark/regexp2 => github.com/dlclark/regexp2 v1.7.0
4242

4343
// There are a few minor changes we make to Tailscale that we're slowly upstreaming. Compare here:
4444
// https://github.com/tailscale/tailscale/compare/main...coder:tailscale:main
45-
replace tailscale.com => github.com/coder/tailscale v1.1.1-0.20240501025849-d8a4721c3162
45+
replace tailscale.com => github.com/coder/tailscale v1.1.1-0.20240522100209-5cd256cdcb39
4646

47-
// Fixes a race-condition in coder/wgtunnel.
48-
// Upstream PR: https://github.com/WireGuard/wireguard-go/pull/85
49-
replace golang.zx2c4.com/wireguard => github.com/coder/wireguard-go v0.0.0-20230920225835-b7d43c468619
50-
51-
// This is replaced to include a fix that causes a deadlock when closing the
52-
// wireguard network.
53-
// The branch used is from https://github.com/coder/wireguard-go/tree/colin/tailscale
54-
// It is based on https://github.com/tailscale/wireguard-go/tree/tailscale, but
55-
// includes the upstream fix https://github.com/WireGuard/wireguard-go/commit/b7cd547315bed421a648d0a0f1ee5a0fc1b1151e
56-
replace github.com/tailscale/wireguard-go => github.com/coder/wireguard-go v0.0.0-20230807234434-d825b45ccbf5
57-
58-
// Use our tempfork of gvisor that includes a fix for TCP connection stalls:
59-
// https://github.com/coder/coder/issues/7388
60-
// The basis for this fork is: gvisor.dev/gvisor v0.0.0-20230504175454-7b0a1988a28f
61-
// This is the same version as used by Tailscale `main`:
62-
// https://github.com/tailscale/tailscale/blob/c19b5bfbc391637b11c2acb3c725909a0046d849/go.mod#L88
63-
//
64-
// Latest gvisor otherwise has refactored packages and is currently incompatible with
65-
// Tailscale, to remove our tempfork this needs to be addressed.
66-
replace gvisor.dev/gvisor => github.com/coder/gvisor v0.0.0-20230714132058-be2e4ac102c3
47+
// This is replaced to include
48+
// 1. a fix for a data race: c.f. https://github.com/tailscale/wireguard-go/pull/25
49+
// 2. update to the latest gVisor
50+
replace github.com/tailscale/wireguard-go => github.com/coder/wireguard-go v0.0.0-20240522052547-769cdd7f7818
6751

6852
// Switch to our fork that imports fixes from http://github.com/tailscale/ssh.
6953
// See: https://github.com/coder/coder/issues/3371
@@ -105,7 +89,7 @@ require (
10589
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0
10690
github.com/coder/retry v1.5.1
10791
github.com/coder/terraform-provider-coder v0.22.0
108-
github.com/coder/wgtunnel v0.1.13-0.20231127054351-578bfff9b92a
92+
github.com/coder/wgtunnel v0.1.13-0.20240522110300-ade90dfb2da0
10993
github.com/coreos/go-oidc/v3 v3.10.0
11094
github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf
11195
github.com/creack/pty v1.1.21
@@ -199,14 +183,13 @@ require (
199183
golang.org/x/text v0.15.0
200184
golang.org/x/tools v0.21.0
201185
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028
202-
golang.zx2c4.com/wireguard v0.0.0-20230704135630-469159ecf7d1
203186
google.golang.org/api v0.180.0
204187
google.golang.org/grpc v1.63.2
205188
google.golang.org/protobuf v1.34.1
206189
gopkg.in/DataDog/dd-trace-go.v1 v1.61.0
207190
gopkg.in/natefinch/lumberjack.v2 v2.2.1
208191
gopkg.in/yaml.v3 v3.0.1
209-
gvisor.dev/gvisor v0.0.0-20230504175454-7b0a1988a28f
192+
gvisor.dev/gvisor v0.0.0-20240509041132-65b30f7869dc
210193
nhooyr.io/websocket v1.8.7
211194
storj.io/drpc v0.0.33
212195
tailscale.com v1.46.1
@@ -395,7 +378,7 @@ require (
395378
github.com/tailscale/golang-x-crypto v0.0.0-20230713185742-f0b76a10a08e // indirect
396379
github.com/tailscale/goupnp v1.0.1-0.20210804011211-c64d0f06ea05 // indirect
397380
github.com/tailscale/netlink v1.1.1-0.20211101221916-cabfb018fe85
398-
github.com/tailscale/wireguard-go v0.0.0-20230710185534-bb2c8f22eccf // indirect
381+
github.com/tailscale/wireguard-go v0.0.0-20231121184858-cc193a0b3272
399382
github.com/tchap/go-patricia/v2 v2.3.1 // indirect
400383
github.com/tcnksm/go-httpstat v0.2.0 // indirect
401384
github.com/tdewolff/parse/v2 v2.7.12 // indirect

go.sum

+10-12
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,8 @@ github.com/chromedp/chromedp v0.9.2 h1:dKtNz4kApb06KuSXoTQIyUC2TrA0fhGDwNZf3bcgf
188188
github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmtGzzhLsnLs=
189189
github.com/chromedp/sysutil v1.0.0 h1:+ZxhTpfpZlmchB58ih/LBHX52ky7w2VhQVKQMucy3Ic=
190190
github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww=
191-
github.com/cilium/ebpf v0.11.0 h1:V8gS/bTCCjX9uUnkUFUpPsksM8n1lXBAvHcpiFk1X2Y=
192-
github.com/cilium/ebpf v0.11.0/go.mod h1:WE7CZAnqOL2RouJ4f1uyNhqr2P4CCvXFIqdRDUgWsVs=
191+
github.com/cilium/ebpf v0.12.3 h1:8ht6F9MquybnY97at+VDZb3eQQr8ev79RueWeVaEcG4=
192+
github.com/cilium/ebpf v0.12.3/go.mod h1:TctK1ivibvI3znr66ljgi4hqOT8EYQjz1KWBfb1UVgM=
193193
github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME=
194194
github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s=
195195
github.com/cli/safeexec v1.0.0/go.mod h1:Z/D4tTN8Vs5gXYHDCbaM1S/anmEDnJb1iW0+EJ5zx3Q=
@@ -207,8 +207,6 @@ github.com/coder/go-httpstat v0.0.0-20230801153223-321c88088322 h1:m0lPZjlQ7vdVp
207207
github.com/coder/go-httpstat v0.0.0-20230801153223-321c88088322/go.mod h1:rOLFDDVKVFiDqZFXoteXc97YXx7kFi9kYqR+2ETPkLQ=
208208
github.com/coder/go-scim/pkg/v2 v2.0.0-20230221055123-1d63c1222136 h1:0RgB61LcNs24WOxc3PBvygSNTQurm0PYPujJjLLOzs0=
209209
github.com/coder/go-scim/pkg/v2 v2.0.0-20230221055123-1d63c1222136/go.mod h1:VkD1P761nykiq75dz+4iFqIQIZka189tx1BQLOp0Skc=
210-
github.com/coder/gvisor v0.0.0-20230714132058-be2e4ac102c3 h1:gtuDFa+InmMVUYiurBV+XYu24AeMGv57qlZ23i6rmyE=
211-
github.com/coder/gvisor v0.0.0-20230714132058-be2e4ac102c3/go.mod h1:pzr6sy8gDLfVmDAg8OYrlKvGEHw5C3PGTiBXBTCx76Q=
212210
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0 h1:3A0ES21Ke+FxEM8CXx9n47SZOKOpgSE1bbJzlE4qPVs=
213211
github.com/coder/pretty v0.0.0-20230908205945-e89ba86370e0/go.mod h1:5UuS2Ts+nTToAMeOjNlnHFkPahrtDkmpydBen/3wgZc=
214212
github.com/coder/retry v1.5.1 h1:iWu8YnD8YqHs3XwqrqsjoBTAVqT9ml6z9ViJ2wlMiqc=
@@ -217,16 +215,14 @@ github.com/coder/serpent v0.7.0 h1:zGpD2GlF3lKIVkMjNGKbkip88qzd5r/TRcc30X/SrT0=
217215
github.com/coder/serpent v0.7.0/go.mod h1:REkJ5ZFHQUWFTPLExhXYZ1CaHFjxvGNRlLXLdsI08YA=
218216
github.com/coder/ssh v0.0.0-20231128192721-70855dedb788 h1:YoUSJ19E8AtuUFVYBpXuOD6a/zVP3rcxezNsoDseTUw=
219217
github.com/coder/ssh v0.0.0-20231128192721-70855dedb788/go.mod h1:aGQbuCLyhRLMzZF067xc84Lh7JDs1FKwCmF1Crl9dxQ=
220-
github.com/coder/tailscale v1.1.1-0.20240501025849-d8a4721c3162 h1:1uXQe8UAXMjvXYQ+XtpCT3LjbideQI3xpeejN9kh56A=
221-
github.com/coder/tailscale v1.1.1-0.20240501025849-d8a4721c3162/go.mod h1:L8tPrwSi31RAMEMV8rjb0vYTGs7rXt8rAHbqY/p41j4=
218+
github.com/coder/tailscale v1.1.1-0.20240522100209-5cd256cdcb39 h1:v3x8FBqk45mbBybU1QrQy7CGiUpQDPBJT0C5g8bfGHE=
219+
github.com/coder/tailscale v1.1.1-0.20240522100209-5cd256cdcb39/go.mod h1:rp6BIJxCp127/hvvDWNkHC9MxAlKvQfoOtBr8s5sCqo=
222220
github.com/coder/terraform-provider-coder v0.22.0 h1:L72WFa9/6sc/nnXENPS8LpWi/2NBV+DRUW0WT//pEaU=
223221
github.com/coder/terraform-provider-coder v0.22.0/go.mod h1:wMun9UZ9HT2CzF6qPPBup1odzBpVUc0/xSFoXgdI3tk=
224-
github.com/coder/wgtunnel v0.1.13-0.20231127054351-578bfff9b92a h1:KhR9LUVllMZ+e9lhubZ1HNrtJDgH5YLoTvpKwmrGag4=
225-
github.com/coder/wgtunnel v0.1.13-0.20231127054351-578bfff9b92a/go.mod h1:QzfptVUdEO+XbkzMKx1kw13i9wwpJlfI1RrZ6SNZ0hA=
226-
github.com/coder/wireguard-go v0.0.0-20230807234434-d825b45ccbf5 h1:eDk/42Kj4xN4yfE504LsvcFEo3dWUiCOaBiWJ2uIH2A=
227-
github.com/coder/wireguard-go v0.0.0-20230807234434-d825b45ccbf5/go.mod h1:QRIcq2+DbdIC5sKh/gcAZhuqu6WT6L6G8/ALPN5wqYw=
228-
github.com/coder/wireguard-go v0.0.0-20230920225835-b7d43c468619 h1:Ug4+d7ooZNjQPVHL+zrHF2hLCr0FOpxHdB2Urr77VmY=
229-
github.com/coder/wireguard-go v0.0.0-20230920225835-b7d43c468619/go.mod h1:tqur9LnfstdR9ep2LaJT4lFUl0EjlHtge+gAjmsHUG4=
222+
github.com/coder/wgtunnel v0.1.13-0.20240522110300-ade90dfb2da0 h1:C2/eCr+r0a5Auuw3YOiSyLNHkdMtyCZHPFBx7syN4rk=
223+
github.com/coder/wgtunnel v0.1.13-0.20240522110300-ade90dfb2da0/go.mod h1:qANbdpqyAGlo2bg+4gQKPj24H1ZWa3bQU2Q5/bV5B3Y=
224+
github.com/coder/wireguard-go v0.0.0-20240522052547-769cdd7f7818 h1:bNhUTaKl3q0bFn78bBRq7iIwo72kNTvUD9Ll5TTzDDk=
225+
github.com/coder/wireguard-go v0.0.0-20240522052547-769cdd7f7818/go.mod h1:fAlLM6hUgnf4Sagxn2Uy5Us0PBgOYWz+63HwHUVGEbw=
230226
github.com/containerd/continuity v0.4.2 h1:v3y/4Yz5jwnvqPKJJ+7Wf93fyWoCB3F5EclWG023MDM=
231227
github.com/containerd/continuity v0.4.2/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ=
232228
github.com/coreos/go-iptables v0.6.0 h1:is9qnZMPYjLd8LYqmm/qlE+wwEgJIkTYdhV3rfZo4jk=
@@ -1217,6 +1213,8 @@ gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
12171213
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
12181214
gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o=
12191215
gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g=
1216+
gvisor.dev/gvisor v0.0.0-20240509041132-65b30f7869dc h1:DXLLFYv/k/xr0rWcwVEvWme1GR36Oc4kNMspg38JeiE=
1217+
gvisor.dev/gvisor v0.0.0-20240509041132-65b30f7869dc/go.mod h1:sxc3Uvk/vHcd3tj7/DHVBoR5wvWT/MmRq2pj7HRJnwU=
12201218
honnef.co/go/gotraceui v0.2.0 h1:dmNsfQ9Vl3GwbiVD7Z8d/osC6WtGGrasyrC2suc4ZIQ=
12211219
honnef.co/go/gotraceui v0.2.0/go.mod h1:qHo4/W75cA3bX0QQoSvDjbJa4R8mAyyFjbWAj63XElc=
12221220
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

0 commit comments

Comments
 (0)