internal/

directory
v0.25.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2026 License: GPL-3.0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL