chore: relax wsproxy version checking (#9796)

This commit is contained in:
Steven Masley
2023-09-27 14:34:55 -05:00
committed by GitHub
parent dcad8fdc2f
commit 2d1b35390e
2 changed files with 2 additions and 33 deletions

View File

@ -572,9 +572,9 @@ func (api *API) workspaceProxyRegister(rw http.ResponseWriter, r *http.Request)
}
// Version check should be forced in non-dev builds and when running in
// tests.
// tests. Only Major + minor versions are checked.
shouldForceVersion := !buildinfo.IsDev() || flag.Lookup("test.v") != nil
if shouldForceVersion && req.Version != buildinfo.Version() {
if shouldForceVersion && !buildinfo.VersionsMatch(req.Version, buildinfo.Version()) {
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
Message: "Version mismatch.",
Detail: fmt.Sprintf("Proxy version %q does not match primary server version %q", req.Version, buildinfo.Version()),

View File

@ -409,37 +409,6 @@ func TestProxyRegisterDeregister(t *testing.T) {
require.Error(t, err)
})
t.Run("BlockMismatchingVersion", func(t *testing.T) {
t.Parallel()
client, _ := setup(t)
ctx := testutil.Context(t, testutil.WaitLong)
createRes, err := client.CreateWorkspaceProxy(ctx, codersdk.CreateWorkspaceProxyRequest{
Name: "hi",
})
require.NoError(t, err)
proxyClient := wsproxysdk.New(client.URL)
proxyClient.SetSessionToken(createRes.ProxyToken)
_, err = proxyClient.RegisterWorkspaceProxy(ctx, wsproxysdk.RegisterWorkspaceProxyRequest{
AccessURL: "https://proxy.coder.test",
WildcardHostname: "*.proxy.coder.test",
DerpEnabled: true,
ReplicaID: uuid.New(),
ReplicaHostname: "mars",
ReplicaError: "",
ReplicaRelayAddress: "http://127.0.0.1:8080",
Version: "v0.0.0",
})
require.Error(t, err)
var sdkErr *codersdk.Error
require.ErrorAs(t, err, &sdkErr)
require.Equal(t, http.StatusBadRequest, sdkErr.StatusCode())
require.Contains(t, sdkErr.Response.Message, "Version mismatch")
})
t.Run("ReregisterUpdateReplica", func(t *testing.T) {
t.Parallel()