Directories
¶
| Path | Synopsis |
|---|---|
|
Package agent implements the node Agent: a gRPC server (one per host) that the Panel drives over mutual TLS to install, run, and observe game-server containers.
|
Package agent implements the node Agent: a gRPC server (one per host) that the Panel drives over mutual TLS to install, run, and observe game-server containers. |
|
config
Package config resolves the Agent's runtime configuration.
|
Package config resolves the Agent's runtime configuration. |
|
enroll
Package enroll implements the Agent's auto-enrollment client — the counterpart to the Panel's /setup/local-enroll + /agents/enroll endpoints.
|
Package enroll implements the Agent's auto-enrollment client — the counterpart to the Panel's /setup/local-enroll + /agents/enroll endpoints. |
|
agentbin
Package agentbin embeds the agent binaries the Panel can push to nodes via the UpdateAgent RPC.
|
Package agentbin embeds the agent binaries the Panel can push to nodes via the UpdateAgent RPC. |
|
api
Package api implements the Panel's HTTP API: routing, middleware, and handlers for auth, the game spec catalog, and user administration.
|
Package api implements the Panel's HTTP API: routing, middleware, and handlers for auth, the game spec catalog, and user administration. |
|
auth
Package auth handles password hashing and session tokens for built-in accounts.
|
Package auth handles password hashing and session tokens for built-in accounts. |
|
catalog
Package catalog provides a small built-in library of ready-to-import game specs, embedded in the Panel binary so a fresh install can deploy a game with one click during onboarding.
|
Package catalog provides a small built-in library of ready-to-import game specs, embedded in the Panel binary so a fresh install can deploy a game with one click during onboarding. |
|
cloudflare
Package cloudflare is a minimal Cloudflare API v4 client for the DNS records the Panel creates for game servers.
|
Package cloudflare is a minimal Cloudflare API v4 client for the DNS records the Panel creates for game servers. |
|
cluster
Package cluster models the hosts (nodes) that run game servers and their finite resources — memory and network ports — that the scheduler allocates.
|
Package cluster models the hosts (nodes) that run game servers and their finite resources — memory and network ports — that the scheduler allocates. |
|
config
Package config loads Panel configuration from the environment.
|
Package config loads Panel configuration from the environment. |
|
cron
Package cron parses standard 5-field cron expressions and computes the next run time.
|
Package cron parses standard 5-field cron expressions and computes the next run time. |
|
nodeclient
Package nodeclient manages the Panel's outbound gRPC connections to node Agents.
|
Package nodeclient manages the Panel's outbound gRPC connections to node Agents. |
|
rbac
Package rbac defines the permission vocabulary and the built-in roles for the Panel.
|
Package rbac defines the permission vocabulary and the built-in roles for the Panel. |
|
scheduler
Package scheduler chooses which node runs a new server.
|
Package scheduler chooses which node runs a new server. |
|
secrets
Package secrets provides authenticated encryption (AES-256-GCM) for secrets stored at rest in the database — API keys/tokens and private keys the Panel must be able to decrypt to use.
|
Package secrets provides authenticated encryption (AES-256-GCM) for secrets stored at rest in the database — API keys/tokens and private keys the Panel must be able to decrypt to use. |
|
store
Package store defines the Panel's persistence contracts: domain entities, sentinel errors, and repository interfaces.
|
Package store defines the Panel's persistence contracts: domain entities, sentinel errors, and repository interfaces. |
|
store/memory
Package memory is an in-memory implementation of store.Store for local development and tests.
|
Package memory is an in-memory implementation of store.Store for local development and tests. |
|
store/migrate
Package migrate applies the Panel's embedded SQL migrations to Postgres.
|
Package migrate applies the Panel's embedded SQL migrations to Postgres. |
|
store/postgres
Package postgres implements store.Store on top of Postgres using pgx.
|
Package postgres implements store.Store on top of Postgres using pgx. |
|
tunnel
Package tunnel is the Panel side of the reverse-connection transport: an mTLS-only listener that Agents dial into, a registry of live sessions keyed by node id, and a dialer the nodeclient pool uses to route gRPC connections through those sessions.
|
Package tunnel is the Panel side of the reverse-connection transport: an mTLS-only listener that Agents dial into, a registry of live sessions keyed by node id, and a dialer the nodeclient pool uses to route gRPC connections through those sessions. |
|
unifi
Package unifi is a minimal client for a local UniFi controller's port-forward API, authenticated with a UniFi OS API key (X-API-KEY).
|
Package unifi is a minimal client for a local UniFi controller's port-forward API, authenticated with a UniFi OS API key (X-API-KEY). |
|
webui
Package webui serves the compiled React UI from the Panel binary.
|
Package webui serves the compiled React UI from the Panel binary. |
|
shared
|
|
|
mtls
Package mtls builds mutual-TLS configs for Panel↔Agent gRPC.
|
Package mtls builds mutual-TLS configs for Panel↔Agent gRPC. |
|
spec
Package spec defines the declarative Game Specification — the "egg" equivalent.
|
Package spec defines the declarative Game Specification — the "egg" equivalent. |
|
tunnel
Package tunnel implements the reverse-connection transport: an Agent dials out to the Panel over mutual TLS and keeps one multiplexed session open, and the Panel routes its ordinary NodeService gRPC connections back through it.
|
Package tunnel implements the reverse-connection transport: an Agent dials out to the Panel over mutual TLS and keeps one multiplexed session open, and the Panel routes its ordinary NodeService gRPC connections back through it. |
|
version
Package version exposes build metadata stamped in via -ldflags at build time.
|
Package version exposes build metadata stamped in via -ldflags at build time. |
Click to show internal directories.
Click to hide internal directories.