Documentation
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
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. |
|
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. |
|
Package auth handles password hashing and session tokens for built-in accounts.
|
Package auth handles password hashing and session tokens for built-in accounts. |
|
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. |
|
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. |
|
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. |
|
Package config loads Panel configuration from the environment.
|
Package config loads Panel configuration from the environment. |
|
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. |
|
Package nodeclient manages the Panel's outbound gRPC connections to node Agents.
|
Package nodeclient manages the Panel's outbound gRPC connections to node Agents. |
|
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. |
|
Package scheduler chooses which node runs a new server.
|
Package scheduler chooses which node runs a new server. |
|
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. |
|
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. |
|
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. |
|
migrate
Package migrate applies the Panel's embedded SQL migrations to Postgres.
|
Package migrate applies the Panel's embedded SQL migrations to Postgres. |
|
postgres
Package postgres implements store.Store on top of Postgres using pgx.
|
Package postgres implements store.Store on top of Postgres using pgx. |
|
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. |
|
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). |
|
Package webui serves the compiled React UI from the Panel binary.
|
Package webui serves the compiled React UI from the Panel binary. |
Click to show internal directories.
Click to hide internal directories.