panel

package
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 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Seed

func Seed(ctx context.Context, st store.Store, cfg *config.Config, logger *slog.Logger) error

Seed ensures the built-in roles exist and, if the instance has no users, creates the bootstrap admin from configuration. It is idempotent and safe to run on every startup.

Types

This section is empty.

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.

Jump to

Keyboard shortcuts

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