panel v0.9.1 — open-source game server manager

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 23:37:25 -07:00
commit 582b5a6b08
2161 changed files with 300950 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
module github.com/dbledeez/panel/tools/module-meta-dump
go 1.26
require github.com/dbledeez/panel/pkg v0.0.0
require gopkg.in/yaml.v3 v3.0.1 // indirect
replace github.com/dbledeez/panel/pkg => ../../pkg
+4
View File
@@ -0,0 +1,4 @@
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+45
View File
@@ -0,0 +1,45 @@
// Command module-meta-dump loads ./modules via the same loader the
// controller uses (module.LoadDir) and prints the WI-07 UI-metadata
// enrichment as JSON — used by controller/.test/wi07-diff-maps.mjs to
// prove the manifest-derived values match the dashboard's old inline
// maps. Run from the repo root: go run ./tools/module-meta-dump
package main
import (
"encoding/json"
"fmt"
"os"
module "github.com/dbledeez/panel/pkg/module"
)
type meta struct {
ID string `json:"id"`
Ports []module.Port `json:"ports,omitempty"`
BrowseableRoots []module.BrowseableRoot `json:"browseable_roots,omitempty"`
ReadyPattern string `json:"ready_pattern,omitempty"`
Appearance *module.Appearance `json:"appearance,omitempty"`
}
func main() {
dir := "./modules"
if len(os.Args) > 1 {
dir = os.Args[1]
}
ms, err := module.LoadDir(dir)
if err != nil {
fmt.Fprintln(os.Stderr, "load:", err)
os.Exit(1)
}
out := map[string]meta{}
for _, m := range ms {
e := meta{ID: m.ID, Ports: m.Ports, ReadyPattern: m.ReadyPattern, Appearance: m.Appearance}
if m.Runtime.Docker != nil {
e.BrowseableRoots = m.Runtime.Docker.BrowseableRoots
}
out[m.ID] = e
}
enc := json.NewEncoder(os.Stdout)
enc.SetIndent("", " ")
enc.Encode(out)
}