mirror of
https://github.com/coder/coder.git
synced 2025-08-01 08:28:48 +00:00
feat: Add local configuration option for DERP mapping (#3996)
This allows entirely airgapped geodistributed deployments of Coder!
This commit is contained in:
@@ -5,6 +5,8 @@ import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -20,7 +22,7 @@ func TestNewDERPMap(t *testing.T) {
|
||||
derpMap, err := tailnet.NewDERPMap(context.Background(), &tailcfg.DERPRegion{
|
||||
RegionID: 1,
|
||||
Nodes: []*tailcfg.DERPNode{{}},
|
||||
}, []string{"stun.google.com:2345"}, "")
|
||||
}, []string{"stun.google.com:2345"}, "", "")
|
||||
require.NoError(t, err)
|
||||
require.Len(t, derpMap.Regions[1].Nodes, 2)
|
||||
})
|
||||
@@ -37,7 +39,7 @@ func TestNewDERPMap(t *testing.T) {
|
||||
t.Cleanup(server.Close)
|
||||
derpMap, err := tailnet.NewDERPMap(context.Background(), &tailcfg.DERPRegion{
|
||||
RegionID: 2,
|
||||
}, []string{}, server.URL)
|
||||
}, []string{}, server.URL, "")
|
||||
require.NoError(t, err)
|
||||
require.Len(t, derpMap.Regions, 2)
|
||||
})
|
||||
@@ -54,7 +56,24 @@ func TestNewDERPMap(t *testing.T) {
|
||||
t.Cleanup(server.Close)
|
||||
_, err := tailnet.NewDERPMap(context.Background(), &tailcfg.DERPRegion{
|
||||
RegionID: 1,
|
||||
}, []string{}, server.URL)
|
||||
}, []string{}, server.URL, "")
|
||||
require.Error(t, err)
|
||||
})
|
||||
t.Run("LocalPath", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
localPath := filepath.Join(t.TempDir(), "derp.json")
|
||||
content, err := json.Marshal(&tailcfg.DERPMap{
|
||||
Regions: map[int]*tailcfg.DERPRegion{
|
||||
1: {},
|
||||
},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
err = os.WriteFile(localPath, content, 0600)
|
||||
require.NoError(t, err)
|
||||
derpMap, err := tailnet.NewDERPMap(context.Background(), &tailcfg.DERPRegion{
|
||||
RegionID: 2,
|
||||
}, []string{}, "", localPath)
|
||||
require.NoError(t, err)
|
||||
require.Len(t, derpMap.Regions, 2)
|
||||
})
|
||||
}
|
||||
|
Reference in New Issue
Block a user