From dfeba203b202fb96f729299282e56b83e6761a34 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 21:15:00 +0000 Subject: [PATCH] chore: raise Go module minimums to 1.27 go.work, the CI default and the Dockerfiles already use Go 1.27. Raise the go directive in every module go.mod from 1.26.0 to 1.27.0 and update docs that still say Go 1.26+, so the declared minimum matches the toolchain the workspace builds with. Co-Authored-By: Claude Opus 5.5 Signed-off-by: Claude --- README.md | 2 +- agent/go.mod | 8 +++----- api/go.mod | 14 +++++--------- audit-syslog-bridge/go.mod | 2 +- audit-syslog-bridge/specs.md | 2 +- capture-sidecar/go.mod | 2 +- gameaction/go.mod | 2 +- gameaction/specs.md | 2 +- gameproto/go.mod | 2 +- gameproto/specs.md | 2 +- gp-module/go.mod | 4 ++-- gp-module/specs.md | 2 +- i18n/go.mod | 2 +- i18n/specs.md | 2 +- mcp-server/go.mod | 2 +- netguard/go.mod | 2 +- operator/go.mod | 37 ++++++++++++++++-------------------- operator/specs.md | 2 +- sentinel/go.mod | 2 +- svcutil/go.mod | 2 +- svcutil/specs.md | 2 +- telemetry-receiver/go.mod | 2 +- telemetry-receiver/specs.md | 2 +- telemetryschema/go.mod | 2 +- telemetryschema/specs.md | 2 +- test/e2e/go.mod | 2 +- test/e2e/internal/specs.md | 4 ++-- test/e2e/specs.md | 2 +- tunnel/frpc/go.mod | 2 +- 29 files changed, 52 insertions(+), 63 deletions(-) diff --git a/README.md b/README.md index 7da17f464..746ca3dd2 100644 --- a/README.md +++ b/README.md @@ -260,7 +260,7 @@ Ed25519 key and do not have transparency log entries — verify them with ## Quickstart (local dev) -Requires: Go 1.26+, Node 20+, Docker, kind, kubectl, helm, +Requires: Go 1.27+, Node 20+, Docker, kind, kubectl, helm, [oras](https://oras.land/docs/installation) (>= 1.2.0). The game modules live in the separate `GameplanePanel/module` repo, wired in here diff --git a/agent/go.mod b/agent/go.mod index d3a785105..35bc6ba66 100644 --- a/agent/go.mod +++ b/agent/go.mod @@ -1,20 +1,18 @@ module github.com/GameplanePanel/gameplane/agent -go 1.26.0 - -require github.com/GameplanePanel/gameplane/netguard v0.0.0 +go 1.27.0 // netguard is an in-repo module (no published version); resolve it locally // both inside the workspace (go.work) and in standalone module/Docker builds. replace github.com/GameplanePanel/gameplane/netguard => ../netguard -require github.com/GameplanePanel/gameplane/gameaction v0.0.0 - // gameaction is an in-repo module (no published version); resolve it locally // both inside the workspace (go.work) and in standalone module/Docker builds. replace github.com/GameplanePanel/gameplane/gameaction => ../gameaction require ( + github.com/GameplanePanel/gameplane/gameaction v0.0.0 + github.com/GameplanePanel/gameplane/netguard v0.0.0 github.com/coder/websocket v1.8.15 github.com/go-chi/chi/v5 v5.5.0 github.com/prometheus/client_golang v1.25.0 diff --git a/api/go.mod b/api/go.mod index e5f4e3cf1..4d5083c09 100644 --- a/api/go.mod +++ b/api/go.mod @@ -1,29 +1,21 @@ module github.com/GameplanePanel/gameplane/api -go 1.26.0 - -require github.com/GameplanePanel/gameplane/netguard v0.0.0 +go 1.27.0 // netguard is an in-repo module (no published version); resolve it locally // both inside the go.work workspace and for standalone `go build ./api/...`. replace github.com/GameplanePanel/gameplane/netguard => ../netguard -require github.com/GameplanePanel/gameplane/gameaction v0.0.0 - // gameaction is an in-repo module (no published version); resolve it // locally both inside the go.work workspace and for standalone // `go build ./api/...`. replace github.com/GameplanePanel/gameplane/gameaction => ../gameaction -require github.com/GameplanePanel/gameplane/gp-module v0.0.0 - // gp-module is an in-repo module (no published version); resolve it // locally both inside the go.work workspace and for standalone // `go build ./api/...`. replace github.com/GameplanePanel/gameplane/gp-module => ../gp-module -require github.com/GameplanePanel/gameplane/telemetryschema v0.0.0 - // telemetryschema is an in-repo module (no published version); resolve it // locally both inside the go.work workspace and for standalone // `go build ./api/...`. @@ -34,7 +26,11 @@ replace github.com/GameplanePanel/gameplane/telemetryschema => ../telemetryschem replace github.com/GameplanePanel/gameplane/i18n => ../i18n require ( + github.com/GameplanePanel/gameplane/gameaction v0.0.0 + github.com/GameplanePanel/gameplane/gp-module v0.0.0 github.com/GameplanePanel/gameplane/i18n v0.0.0 + github.com/GameplanePanel/gameplane/netguard v0.0.0 + github.com/GameplanePanel/gameplane/telemetryschema v0.0.0 github.com/coder/websocket v1.8.15 github.com/coreos/go-oidc/v3 v3.21.0 github.com/go-chi/chi/v5 v5.5.0 diff --git a/audit-syslog-bridge/go.mod b/audit-syslog-bridge/go.mod index 90506cdc3..e9020ea30 100644 --- a/audit-syslog-bridge/go.mod +++ b/audit-syslog-bridge/go.mod @@ -1,3 +1,3 @@ module github.com/GameplanePanel/gameplane/audit-syslog-bridge -go 1.26.0 +go 1.27.0 diff --git a/audit-syslog-bridge/specs.md b/audit-syslog-bridge/specs.md index 19cad2140..e1ae9153a 100644 --- a/audit-syslog-bridge/specs.md +++ b/audit-syslog-bridge/specs.md @@ -53,7 +53,7 @@ Single flat package (`main`): `main.go` (relay + config + server logic), `bridge ## Dependencies -**Go 1.26** (workspace-linked to `go.work` alongside `operator/`, `api/`, `agent/`, etc.) +**Go 1.27** (workspace-linked to `go.work` alongside `operator/`, `api/`, `agent/`, etc.) **Imports:** stdlib only (`crypto/tls`, `net`, `net/http`, `log/slog`, `sync`, `time`, `context`, etc.). No external dependencies. diff --git a/capture-sidecar/go.mod b/capture-sidecar/go.mod index f15660977..b8e7058a0 100644 --- a/capture-sidecar/go.mod +++ b/capture-sidecar/go.mod @@ -1,6 +1,6 @@ module github.com/GameplanePanel/gameplane/capture-sidecar -go 1.26.0 +go 1.27.0 require ( github.com/gopacket/gopacket v1.7.4 diff --git a/gameaction/go.mod b/gameaction/go.mod index 39dba9826..930eacb4e 100644 --- a/gameaction/go.mod +++ b/gameaction/go.mod @@ -1,3 +1,3 @@ module github.com/GameplanePanel/gameplane/gameaction -go 1.26.0 +go 1.27.0 diff --git a/gameaction/specs.md b/gameaction/specs.md index 7c52bbf1a..2cbbb0107 100644 --- a/gameaction/specs.md +++ b/gameaction/specs.md @@ -2,7 +2,7 @@ **Status:** pre-v1 (v0.3.0) **Module / package:** `github.com/GameplanePanel/gameplane/gameaction` -**Dependencies:** stdlib only (Go 1.26+) +**Dependencies:** stdlib only (Go 1.27+) ## Purpose diff --git a/gameproto/go.mod b/gameproto/go.mod index 9b09e2307..10e8ec7ec 100644 --- a/gameproto/go.mod +++ b/gameproto/go.mod @@ -1,3 +1,3 @@ module github.com/GameplanePanel/gameplane/gameproto -go 1.26.0 +go 1.27.0 diff --git a/gameproto/specs.md b/gameproto/specs.md index b32b78886..9eb84e725 100644 --- a/gameproto/specs.md +++ b/gameproto/specs.md @@ -2,7 +2,7 @@ **Status:** pre-v1 (v0.3.0) **Module / package:** `github.com/GameplanePanel/gameplane/gameproto` -**Dependencies:** stdlib only (Go 1.26+) +**Dependencies:** stdlib only (Go 1.27+) ## Purpose diff --git a/gp-module/go.mod b/gp-module/go.mod index 6c1c81ac8..d4857851e 100644 --- a/gp-module/go.mod +++ b/gp-module/go.mod @@ -1,6 +1,6 @@ module github.com/GameplanePanel/gameplane/gp-module -go 1.26.0 +go 1.27.0 // i18n is an in-repo module (no published version); resolve it locally // both inside the go.work workspace and in standalone/Docker builds. @@ -9,6 +9,7 @@ replace github.com/GameplanePanel/gameplane/i18n => ../i18n require ( github.com/GameplanePanel/gameplane/i18n v0.0.0 gopkg.in/yaml.v3 v3.0.1 + k8s.io/apimachinery v0.37.1 ) require ( @@ -17,7 +18,6 @@ require ( github.com/x448/float16 v0.8.4 // indirect golang.org/x/text v0.43.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect - k8s.io/apimachinery v0.37.1 k8s.io/utils v0.0.0-20260707023825-cf1189d6abe3 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect ) diff --git a/gp-module/specs.md b/gp-module/specs.md index 158aec390..d7325e402 100644 --- a/gp-module/specs.md +++ b/gp-module/specs.md @@ -2,7 +2,7 @@ **Status:** Active Development **Module / command:** `github.com/GameplanePanel/gameplane/gp-module` -**Dependencies:** `gopkg.in/yaml.v3`, `k8s.io/apimachinery` (Go 1.26+) +**Dependencies:** `gopkg.in/yaml.v3`, `k8s.io/apimachinery` (Go 1.27+) ## Purpose diff --git a/i18n/go.mod b/i18n/go.mod index 6df87b38c..a3b510d09 100644 --- a/i18n/go.mod +++ b/i18n/go.mod @@ -1,6 +1,6 @@ module github.com/GameplanePanel/gameplane/i18n -go 1.26.0 +go 1.27.0 require ( golang.org/x/text v0.43.0 diff --git a/i18n/specs.md b/i18n/specs.md index fd21aa03e..dd30e8845 100644 --- a/i18n/specs.md +++ b/i18n/specs.md @@ -2,7 +2,7 @@ **Status:** pre-v1 (spec 019) **Module / package:** `github.com/GameplanePanel/gameplane/i18n` -**Dependencies:** stdlib, `golang.org/x/text` and `gopkg.in/yaml.v3` (the `i18n-check --module` mode reads module manifests; Go 1.26+) +**Dependencies:** stdlib, `golang.org/x/text` and `gopkg.in/yaml.v3` (the `i18n-check --module` mode reads module manifests; Go 1.27+) ## Purpose diff --git a/mcp-server/go.mod b/mcp-server/go.mod index b5bb46927..7418728b5 100644 --- a/mcp-server/go.mod +++ b/mcp-server/go.mod @@ -1,6 +1,6 @@ module github.com/GameplanePanel/gameplane/mcp-server -go 1.26.0 +go 1.27.0 require ( github.com/modelcontextprotocol/go-sdk v1.8.0 diff --git a/netguard/go.mod b/netguard/go.mod index e65f865b6..1a1609cdd 100644 --- a/netguard/go.mod +++ b/netguard/go.mod @@ -1,3 +1,3 @@ module github.com/GameplanePanel/gameplane/netguard -go 1.26.0 +go 1.27.0 diff --git a/operator/go.mod b/operator/go.mod index 3196b4d8b..01e1c8b40 100644 --- a/operator/go.mod +++ b/operator/go.mod @@ -1,26 +1,10 @@ module github.com/GameplanePanel/gameplane/operator -go 1.26.0 - -require github.com/GameplanePanel/gameplane/netguard v0.0.0 - -require github.com/sassoftware/relic/v8 v8.2.0 // indirect - -require ( - github.com/google/go-github/v88 v88.0.0 // indirect - github.com/sigstore/cosign/v3 v3.1.3 -) - -// netguard is an in-repo module (no published version); resolve it locally -// both inside the workspace (go.work) and in standalone module/Docker builds. -replace github.com/GameplanePanel/gameplane/netguard => ../netguard - -// i18n is an in-repo module (no published version); resolve it locally -// both inside the go.work workspace and in standalone/Docker builds. -replace github.com/GameplanePanel/gameplane/i18n => ../i18n +go 1.27.0 require ( github.com/GameplanePanel/gameplane/i18n v0.0.0 + github.com/GameplanePanel/gameplane/netguard v0.0.0 github.com/go-git/go-billy/v5 v5.9.2 github.com/go-git/go-git/v5 v5.19.3 github.com/go-logr/logr v1.4.4 @@ -30,9 +14,11 @@ require ( github.com/opencontainers/image-spec v1.1.1 github.com/prometheus/client_golang v1.25.0 github.com/robfig/cron/v3 v3.0.1 - github.com/sigstore/sigstore v1.10.9 // indirect + github.com/sigstore/cosign/v3 v3.1.3 + github.com/sigstore/sigstore-go v1.3.0 golang.org/x/crypto v0.58.0 golang.org/x/mod v0.42.0 + golang.org/x/sys v0.49.0 k8s.io/api v0.37.1 k8s.io/apimachinery v0.37.1 k8s.io/client-go v0.37.1 @@ -102,6 +88,7 @@ require ( github.com/golang/snappy v1.0.0 // indirect github.com/google/certificate-transparency-go v1.3.3 // indirect github.com/google/gnostic-models v0.7.1 // indirect + github.com/google/go-github/v88 v88.0.0 // indirect github.com/google/go-querystring v1.2.0 // indirect github.com/google/pprof v0.0.0-20260802141513-ef3492d7dac3 // indirect github.com/google/uuid v1.6.0 // indirect @@ -134,13 +121,14 @@ require ( github.com/prometheus/client_model v0.6.3 // indirect github.com/prometheus/common v0.72.0 // indirect github.com/prometheus/procfs v0.22.0 // indirect + github.com/sassoftware/relic/v8 v8.2.0 // indirect github.com/secure-systems-lab/go-securesystemslib v0.11.0 // indirect github.com/sergi/go-diff v1.4.0 // indirect github.com/shibumi/go-pathspec v1.3.0 // indirect github.com/sigstore/protobuf-specs v0.5.1 // indirect github.com/sigstore/rekor v1.5.4 // indirect github.com/sigstore/rekor-tiles/v2 v2.3.0 // indirect - github.com/sigstore/sigstore-go v1.3.0 + github.com/sigstore/sigstore v1.10.9 // indirect github.com/sigstore/timestamp-authority/v2 v2.1.3 // indirect github.com/sirupsen/logrus v1.9.4 // indirect github.com/skeema/knownhosts v1.3.2 // indirect @@ -167,7 +155,6 @@ require ( golang.org/x/net v0.60.0 // indirect golang.org/x/oauth2 v0.37.0 // indirect golang.org/x/sync v0.24.0 // indirect - golang.org/x/sys v0.49.0 golang.org/x/term v0.47.0 // indirect golang.org/x/text v0.43.0 // indirect golang.org/x/time v0.15.0 // indirect @@ -196,4 +183,12 @@ require ( sigs.k8s.io/structured-merge-diff/v6 v6.4.2 // indirect ) +// netguard is an in-repo module (no published version); resolve it locally +// both inside the workspace (go.work) and in standalone module/Docker builds. +replace github.com/GameplanePanel/gameplane/netguard => ../netguard + +// i18n is an in-repo module (no published version); resolve it locally +// both inside the go.work workspace and in standalone/Docker builds. +replace github.com/GameplanePanel/gameplane/i18n => ../i18n + tool sigs.k8s.io/controller-tools/cmd/controller-gen diff --git a/operator/specs.md b/operator/specs.md index cd0dc14bd..34b6eb98e 100644 --- a/operator/specs.md +++ b/operator/specs.md @@ -2,7 +2,7 @@ **Status:** pre-v1 (v0.3.0) **Module / package:** github.com/GameplanePanel/gameplane/operator -**Go version:** 1.26.0 +**Go version:** 1.27.0 ## Purpose diff --git a/sentinel/go.mod b/sentinel/go.mod index 34601c4d4..f0a24254b 100644 --- a/sentinel/go.mod +++ b/sentinel/go.mod @@ -1,6 +1,6 @@ module github.com/GameplanePanel/gameplane/sentinel -go 1.26.0 +go 1.27.0 require ( github.com/GameplanePanel/gameplane/gameproto v0.0.0 diff --git a/svcutil/go.mod b/svcutil/go.mod index d9e58a1dd..9f3c5cd5c 100644 --- a/svcutil/go.mod +++ b/svcutil/go.mod @@ -1,3 +1,3 @@ module github.com/GameplanePanel/gameplane/svcutil -go 1.26.0 +go 1.27.0 diff --git a/svcutil/specs.md b/svcutil/specs.md index 1fe7fc426..50b186cd6 100644 --- a/svcutil/specs.md +++ b/svcutil/specs.md @@ -2,7 +2,7 @@ **Status:** Stable **Module / command:** `github.com/GameplanePanel/gameplane/svcutil` -**Dependencies:** stdlib only (Go 1.26+) +**Dependencies:** stdlib only (Go 1.27+) ## Purpose diff --git a/telemetry-receiver/go.mod b/telemetry-receiver/go.mod index 17f6cecc8..cf76607c3 100644 --- a/telemetry-receiver/go.mod +++ b/telemetry-receiver/go.mod @@ -1,6 +1,6 @@ module github.com/GameplanePanel/gameplane/telemetry-receiver -go 1.26.0 +go 1.27.0 require ( github.com/GameplanePanel/gameplane/telemetryschema v0.0.0-00010101000000-000000000000 diff --git a/telemetry-receiver/specs.md b/telemetry-receiver/specs.md index 8c04caa3b..447e7f6e2 100644 --- a/telemetry-receiver/specs.md +++ b/telemetry-receiver/specs.md @@ -2,7 +2,7 @@ **Status:** pre-v1 (v0.3.0) **Module / package:** github.com/GameplanePanel/gameplane/telemetry-receiver -**Go version:** 1.26 +**Go version:** 1.27 ## Purpose diff --git a/telemetryschema/go.mod b/telemetryschema/go.mod index 87bb9e223..85bff5e32 100644 --- a/telemetryschema/go.mod +++ b/telemetryschema/go.mod @@ -1,3 +1,3 @@ module github.com/GameplanePanel/gameplane/telemetryschema -go 1.26.0 +go 1.27.0 diff --git a/telemetryschema/specs.md b/telemetryschema/specs.md index 71b0f9e9a..3425746a9 100644 --- a/telemetryschema/specs.md +++ b/telemetryschema/specs.md @@ -2,7 +2,7 @@ **Status:** pre-v1 (spec 022) **Module / package:** `github.com/GameplanePanel/gameplane/telemetryschema` -**Dependencies:** stdlib only (Go 1.26+) +**Dependencies:** stdlib only (Go 1.27+) ## Purpose diff --git a/test/e2e/go.mod b/test/e2e/go.mod index 53cbf4fba..fca33ad62 100644 --- a/test/e2e/go.mod +++ b/test/e2e/go.mod @@ -1,6 +1,6 @@ module github.com/GameplanePanel/gameplane/test/e2e -go 1.26.0 +go 1.27.0 require github.com/GameplanePanel/gameplane/gp-module v0.0.0 diff --git a/test/e2e/internal/specs.md b/test/e2e/internal/specs.md index 50a8b3722..0f3156382 100644 --- a/test/e2e/internal/specs.md +++ b/test/e2e/internal/specs.md @@ -2,7 +2,7 @@ **Status:** pre-v1 (v0.3.0), in-progress (fast set JOINED, heavy set not yet implemented) **Module / package:** `test/e2e/internal/{probe,protocol,}` — per-game protocol clients and the shared probe harness (plus `internal/fakeoidc`, an unrelated e2e fixture — see `test/e2e/api_auth_e2e_test.go`) -**Dependencies:** stdlib only (Go 1.26+) — per-game binaries build against `test/e2e/go.mod` with `GOWORK=off`, dragging zero Kubernetes or external modules into the probe image +**Dependencies:** stdlib only (Go 1.27+) — per-game binaries build against `test/e2e/go.mod` with `GOWORK=off`, dragging zero Kubernetes or external modules into the probe image ## Purpose @@ -259,7 +259,7 @@ func main() { **External:** - Stdlib only: `context`, `encoding/binary`, `fmt`, `io`, `log`, `net`, `os`, `strconv`, `strings`, `time`, and protocol-specific deps (e.g. `encoding/json` for Minecraft status). -- Go 1.26+ (same as the main repo). +- Go 1.27+ (same as the main repo). No external modules in the probe image. If a game needs a special library, copy the implementation into `internal/protocol//` or `internal//`. diff --git a/test/e2e/specs.md b/test/e2e/specs.md index 2d7b195ae..c95571f3b 100644 --- a/test/e2e/specs.md +++ b/test/e2e/specs.md @@ -2,7 +2,7 @@ **Status:** pre-v1 (v0.3.0) **Module / package:** `github.com/GameplanePanel/gameplane/test/e2e` -**Go version:** 1.26.0 +**Go version:** 1.27.0 ## Purpose diff --git a/tunnel/frpc/go.mod b/tunnel/frpc/go.mod index 860eb39f4..cdc68e414 100644 --- a/tunnel/frpc/go.mod +++ b/tunnel/frpc/go.mod @@ -3,7 +3,7 @@ // (spec 013 G2, T031). Not part of go.work; tunnel/Dockerfile.frp builds it. module github.com/GameplanePanel/Gameplane/tunnel/frpc -go 1.26.0 +go 1.27.0 // Mirrors the replace in frp v0.71.0's own go.mod, which does not apply to // dependents.