CRD Catalog
Understand every gameplane.local/v1alpha1 resource, its scope, desired spec, observed status, and controller owner.
Every Gameplane custom resource lives in the gameplane.local/v1alpha1 API group. This catalog lists each one, its scope (namespaced or cluster-wide), short name for use with kubectl, and its purpose within the platform.
Workload and recovery resources
| Kind | Scope | Short name | Purpose |
|---|---|---|---|
| GameServer | Namespaced | gs | Desired game workload and live status. |
| GameTemplate | Cluster | gtmpl | Reusable game/runtime blueprint from a module. |
| Backup | Namespaced | bk | One-shot snapshot of server data. |
| BackupSchedule | Namespaced | bks | Cron policy, destination, and retention. |
Platform resources
| Kind | Scope | Short name | Purpose |
|---|---|---|---|
| Restore | Namespaced | rs | One-shot restore into new or existing server. |
| Module | Cluster | mod | Installed immutable module bundle and template owner. |
| ModuleSource | Cluster | msrc | Registry, Git, HTTP, local, or upload source. |
| Cluster | Cluster | cls | Registered target-cluster identity and health. |
Clients write spec and metadata; controllers own phase, conditions, observedFields, timestamps, digests, and results. Changes always flow from spec → reconciler → status, never the reverse.
Understanding scope
Namespaced resources (GameServer, Backup, BackupSchedule, Restore) are tied to a Kubernetes namespace and represent per-server or per-player state. They exist within a tenant’s workspace.
Cluster-scoped resources (GameTemplate, Module, ModuleSource, Cluster) are fleet-wide and shared across all namespaces. They define reusable infrastructure: what games are available, where module bundles come from, and which remote clusters are registered.
Field reference
Each CRD’s full schema—all spec fields, status conditions, and behavioral annotations—is documented in the source repository:
- Type definitions:
operator/api/v1alpha1on GitHub — every.gofile’s doc comments are the source thatmake manifestsgenerates CRD YAML from. - Generated YAML:
operator/config/crd/on GitHub or your installed cluster viakubectl get crdsandkubectl describe crd <name>.gameplane.local. - Related guides: See GameServer & Template Schema for workload structure, Module & Cluster CRDs for registry and multi-cluster configuration, and Backup & Restore CRDs for data lifecycle details.