change Go module path to gosuda.org/portal/v2
Kim committed
Mar 6, 2026 at 18:19 UTC
105f5ca26c27058d1d91974ce41ddabf1d52f167
18 files changed
+34
-34
AGENTS.md
+1
-1
@@ -96,7 +96,7 @@ Descriptive docs under `docs/` should match current code paths.
96
97
## Go Conventions
98
99
-**Imports:** stdlib -> external -> internal (blank-line separated), local prefix `gosuda.org/portal`.
99
+**Imports:** stdlib -> external -> internal (blank-line separated), local prefix `gosuda.org/portal/v2`.
100
**Concurrency:** `errgroup.Group` over `WaitGroup`; `errgroup.SetLimit` for bounded work; `context.WithTimeout` over `time.After` in loops; no bare `go func()` without owned lifecycle.
101
**I/O:** prefer directory-scoped operations when touching filesystem trees.
102
cmd/demo-app/main.go
+2
-2
@@ -20,8 +20,8 @@ import (
20
"github.com/rs/zerolog/log"
21
"golang.org/x/net/websocket"
22
23
- "gosuda.org/portal/sdk"
24
- "gosuda.org/portal/types"
23
+ "gosuda.org/portal/v2/sdk"
24
+ "gosuda.org/portal/v2/types"
25
)
26
27
//go:embed static
cmd/portal-tunnel/main.go
+2
-2
@@ -15,8 +15,8 @@ import (
15
"github.com/rs/zerolog"
16
"github.com/rs/zerolog/log"
17
18
- "gosuda.org/portal/sdk"
19
- "gosuda.org/portal/types"
18
+ "gosuda.org/portal/v2/sdk"
19
+ "gosuda.org/portal/v2/types"
20
)
21
22
var (
cmd/portal-tunnel/relays.go
+1
-1
@@ -14,7 +14,7 @@ import (
14
15
"github.com/rs/zerolog/log"
16
17
- "gosuda.org/portal/sdk"
17
+ "gosuda.org/portal/v2/sdk"
18
)
19
20
type relayRuntime struct {
cmd/relay-server/frontend.go
+2
-2
@@ -11,8 +11,8 @@ import (
11
"strings"
12
"sync"
13
14
- "gosuda.org/portal/portal"
15
- "gosuda.org/portal/portal/admin"
14
+ "gosuda.org/portal/v2/portal"
15
+ "gosuda.org/portal/v2/portal/admin"
16
)
17
18
type readDirFileFS interface {
cmd/relay-server/serve.go
+8
-8
@@ -11,12 +11,12 @@ import (
11
12
"github.com/rs/zerolog/log"
13
14
- "gosuda.org/portal/portal"
15
- "gosuda.org/portal/portal/acme"
16
- portaladmin "gosuda.org/portal/portal/admin"
17
- "gosuda.org/portal/portal/keyless"
18
- "gosuda.org/portal/portal/policy"
19
- "gosuda.org/portal/types"
14
+ "gosuda.org/portal/v2/portal"
15
+ "gosuda.org/portal/v2/portal/acme"
16
+ "gosuda.org/portal/v2/portal/admin"
17
+ "gosuda.org/portal/v2/portal/keyless"
18
+ "gosuda.org/portal/v2/portal/policy"
19
+ "gosuda.org/portal/v2/types"
20
)
21
22
func runServer(cfg relayServerConfig) error {
@@ -56,7 +56,7 @@ func runServer(cfg relayServerConfig) error {
56
}
57
58
frontend := NewFrontend(cfg.PortalURL)
59
- adminHandler := portaladmin.NewHandler(cfg.PortalURL, cfg.AdminSecretKey, "admin_settings.json", cfg.TrustProxyHeaders, func(w http.ResponseWriter, r *http.Request, appPath string) {
59
+ adminHandler := admin.NewHandler(cfg.PortalURL, cfg.AdminSecretKey, "admin_settings.json", cfg.TrustProxyHeaders, func(w http.ResponseWriter, r *http.Request, appPath string) {
60
frontend.ServeAppStatic(w, r, appPath)
61
})
62
if loadErr := adminHandler.LoadSettings(); loadErr != nil {
@@ -106,7 +106,7 @@ func runServer(cfg relayServerConfig) error {
106
return server.Wait()
107
}
108
109
-func serveAPI(frontend *Frontend, adminHandler *portaladmin.Handler, cfg relayServerConfig) func(http.Handler) http.Handler {
109
+func serveAPI(frontend *Frontend, adminHandler *admin.Handler, cfg relayServerConfig) func(http.Handler) http.Handler {
110
return func(base http.Handler) http.Handler {
111
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
112
switch {
go.mod
+1
-1
@@ -1,4 +1,4 @@
1
-module gosuda.org/portal
1
+module gosuda.org/portal/v2
2
3
go 1.26.0
4
portal/admin/handler.go
+3
-3
@@ -7,9 +7,9 @@ import (
7
"net/http"
8
"strings"
9
10
- "gosuda.org/portal/portal"
11
- "gosuda.org/portal/portal/policy"
12
- "gosuda.org/portal/types"
10
+ "gosuda.org/portal/v2/portal"
11
+ "gosuda.org/portal/v2/portal/policy"
12
+ "gosuda.org/portal/v2/types"
13
)
14
15
const cookieName = "portal_admin"
portal/admin/handler_test.go
+2
-2
@@ -8,8 +8,8 @@ import (
8
"path/filepath"
9
"testing"
10
11
- "gosuda.org/portal/portal/policy"
12
- "gosuda.org/portal/types"
11
+ "gosuda.org/portal/v2/portal/policy"
12
+ "gosuda.org/portal/v2/types"
13
)
14
15
func TestLoginAndProtectedActions(t *testing.T) {
portal/admin/rows.go
+1
-1
@@ -6,7 +6,7 @@ import (
6
"strings"
7
"time"
8
9
- "gosuda.org/portal/portal"
9
+ "gosuda.org/portal/v2/portal"
10
)
11
12
const staleLeaseHideWindow = 3 * time.Minute
portal/admin/state.go
+1
-1
@@ -6,7 +6,7 @@ import (
6
"os"
7
"path/filepath"
8
9
- "gosuda.org/portal/portal/policy"
9
+ "gosuda.org/portal/v2/portal/policy"
10
)
11
12
type stateStore struct {
portal/admin/state_test.go
+1
-1
@@ -5,7 +5,7 @@ import (
5
"path/filepath"
6
"testing"
7
8
- "gosuda.org/portal/portal/policy"
8
+ "gosuda.org/portal/v2/portal/policy"
9
)
10
11
func TestStateStoreRoundTrip(t *testing.T) {
portal/broker.go
+1
-1
@@ -10,7 +10,7 @@ import (
10
11
"github.com/rs/zerolog/log"
12
13
- "gosuda.org/portal/types"
13
+ "gosuda.org/portal/v2/types"
14
)
15
16
var (
portal/broker_test.go
+1
-1
@@ -7,7 +7,7 @@ import (
7
"testing"
8
"time"
9
10
- "gosuda.org/portal/types"
10
+ "gosuda.org/portal/v2/types"
11
)
12
13
func TestLeaseBrokerClaimActivatesTLSMarker(t *testing.T) {
portal/helpers.go
+1
-1
@@ -9,7 +9,7 @@ import (
9
"strings"
10
"time"
11
12
- "gosuda.org/portal/types"
12
+ "gosuda.org/portal/v2/types"
13
)
14
15
const (
portal/server.go
+3
-3
@@ -18,9 +18,9 @@ import (
18
"golang.org/x/sync/errgroup"
19
20
"github.com/gosuda/keyless_tls/relay/l4"
21
- "gosuda.org/portal/portal/keyless"
22
- "gosuda.org/portal/portal/policy"
23
- "gosuda.org/portal/types"
21
+ "gosuda.org/portal/v2/portal/keyless"
22
+ "gosuda.org/portal/v2/portal/policy"
23
+ "gosuda.org/portal/v2/types"
24
)
25
26
type ServerConfig struct {
sdk/client.go
+2
-2
@@ -18,8 +18,8 @@ import (
18
"strings"
19
"time"
20
21
- "gosuda.org/portal/portal/keyless"
22
- "gosuda.org/portal/types"
21
+ "gosuda.org/portal/v2/portal/keyless"
22
+ "gosuda.org/portal/v2/types"
23
)
24
25
type ClientConfig struct {
sdk/listener.go
+1
-1
@@ -10,7 +10,7 @@ import (
10
"sync"
11
"time"
12
13
- "gosuda.org/portal/types"
13
+ "gosuda.org/portal/v2/types"
14
)
15
16
type ListenRequest struct {