Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions src/content/docs/air-gapped-installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@ covers: ["Mirrors", "Signatures", "Offline"]
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta groupId="cluster-storage" readTime="20 MIN" />

Mirror every required artifact and trust root, then install and upgrade without hidden public-network dependencies.

<DocsCallout icon="lock" title="Offline install acceptance criteria">
An offline install is accepted only when rendered manifests contain no public endpoint or mutable tag. Render once and validate before disconnecting from the public internet.
Expand Down
2 changes: 0 additions & 2 deletions src/content/docs/api-crds.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

Automate Gameplane through Kubernetes resources and scoped identities while keeping desired state, observed status, and audit history aligned.

<DocsCallout icon="info" title="Write spec, read status">
Controllers own conditions and observed fields; automation should never patch them as desired state.
</DocsCallout>
Expand Down
3 changes: 0 additions & 3 deletions src/content/docs/backup-repository-operations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ next: production-observability
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta groupId="files-backups" readTime="18 MIN" />

A Backup or BackupSchedule references a repository via a Kubernetes Secret containing the restic repository URI and password. This guide covers supported backends, credential management, operational monitoring, and restore validation drills.

Expand Down
2 changes: 0 additions & 2 deletions src/content/docs/backups-recovery.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

Create recoverable snapshots, schedule retention-aware backups, and restore into a new or existing server with a verification plan.

<DocsCallout icon="archive-restore" title="Completed backups must be verified.">
A completed backup is only useful after you have verified its destination, metadata, and restore path.
</DocsCallout>
Expand Down
5 changes: 0 additions & 5 deletions src/content/docs/ci-releases-signing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@ covers: ["CI", "OCI", "Cosign"]
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

Understand the gates from pull request through edge images, tagged releases, Helm publication, and Cosign verification.

<DocsArticleMeta groupId="testing-release" readTime="17 MIN" />

<DocsCallout icon="info" title="Edge channel is beta software">
The rolling `:edge` channel is test software; production installs should pin a tagged chart and immutable image digests.
Expand Down
5 changes: 0 additions & 5 deletions src/content/docs/cluster-nodes-kubeconfig.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@ covers: ["Nodes", "Kubeconfig", "Join token"]
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta groupId="cluster-storage" readTime="14 MIN" />

Read node health and capacity, protect administrative access, and add workers only when cluster operations are enabled.

<DocsCallout icon="shield-alert" title="Kubeconfig and node-join tokens are administrative credentials">
Treat kubeconfig files and bootstrap tokens as secrets: keep them out of tickets, chat, logs, and shell history. Downloaded kubeconfigs expire after 1 hour and are bound to a read-only role, but the underlying cluster API access must still be guarded.
Expand Down
5 changes: 0 additions & 5 deletions src/content/docs/cluster-storage.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,10 @@ covers: ["Nodes", "Storage", "Capacity"]
next: users-auth-rbac
---

import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

<DocsArticleMeta groupId="cluster-storage" readTime="13 MIN" />

Read Kubernetes health in Gameplane, plan capacity, and choose storage behavior that supports expansion, placement, and disaster recovery.

<DocsCallout icon="shield-alert" title="Gameplane reports cluster health; Kubernetes remains the source of truth.">
Node status, StorageClass capabilities, and capacity metrics come from the Kubernetes API. Gameplane surfaces observability; your cluster configuration, hardware, and storage drivers determine what is possible.
</DocsCallout>
Expand Down
2 changes: 0 additions & 2 deletions src/content/docs/console-events-logs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

Trace a server from Kubernetes scheduling through container startup and game readiness, then use the live console without losing diagnostic context.

<DocsCallout icon="info" title="Events vs. logs">
Events explain why a workload could not start; logs explain what happened after a container started.
</DocsCallout>
Expand Down
3 changes: 0 additions & 3 deletions src/content/docs/contributing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,8 @@ order: 3
icon: users
---

import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";
import CodeLabel from "../../components/docs/CodeLabel.astro";

<DocsArticleMeta groupId="local-development" />

## Dev loop

make dev-up spins up a local kind cluster with images and the Helm chart already installed.
Expand Down
3 changes: 0 additions & 3 deletions src/content/docs/crd-catalog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,8 @@ readTime: 4 MIN
covers: ["GameServer", "GameTemplate", "Backup & Restore", "Cluster management", "Module resources"]
---

import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";
import DocsCallout from "../../components/docs/DocsCallout.astro";

<DocsArticleMeta groupId="api-reference" readTime="4 MIN" />

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
Expand Down
5 changes: 0 additions & 5 deletions src/content/docs/credential-rotation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,6 @@ next: "kubernetes-maintenance"
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta groupId="users-access" readTime="18 MIN" />

Rotate identity, database, registry, backup, signing, webhook, and mTLS material without breaking access or recovery.

<DocsCallout icon="lock" title="Preserve recovery dependencies before rotation">
Do not destroy a backup or signing key until retained recovery points and verification requirements are resolved.
Expand Down
3 changes: 0 additions & 3 deletions src/content/docs/database-configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ next: "multi-cluster"
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta groupId="cluster-storage" readTime="18 MIN" />

The platform database holds users, roles, sessions, settings, and audit state — isolated from game-world backups. Select a supported topology, secure its connection, control schema migrations, and practice recovery steps independently of your game servers.

Expand Down
5 changes: 0 additions & 5 deletions src/content/docs/database-migrations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,6 @@ next: "testing-coverage-e2e"
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta groupId="local-development" readTime="16 MIN" />

Change the API store without breaking SQLite-first installs, optional PostgreSQL builds, startup ordering, or rollback safety.

<DocsCallout icon="lock" title="Released migration files are immutable">
Every schema change gets the next ordered transactional file. Never rewrite an already released migration.
Expand Down
5 changes: 0 additions & 5 deletions src/content/docs/executable-upgrades-rollback.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,10 @@ covers: ["Migrations", "Canary", "Rollback"]
next: uninstall-decommission
---

import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

Turn release notes into a staged change plan with compatibility gates, migration ownership, verification evidence, and a safe recovery boundary.

<DocsArticleMeta groupId="upgrades" readTime="20 MIN" />

<DocsCallout icon="refresh-cw" title="Never assume schema or CRD downgrade is safe.">
Use only the release-specific rollback window.
</DocsCallout>
Expand Down
3 changes: 0 additions & 3 deletions src/content/docs/extension-services.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,9 @@ next: public-website-development
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

Gameplane ships three optional deployable services plus one shared Go library, all opt-in and off by default. Each is independently deployable, testable, and packaged with its own Helm toggle.

<DocsArticleMeta groupId="component-guides" readTime="15 MIN" />

<DocsCallout icon="shield-alert" title="Opt-in safety boundaries">
Optional services remain opt-in and require independent least-privilege RBAC, bounded I/O, health, metrics, and secret-safe logs.
</DocsCallout>
Expand Down
2 changes: 0 additions & 2 deletions src/content/docs/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ eyebrow: DOCUMENTATION
import { VERSION } from "../../config";
import Icon from "../../components/Icon.astro";

Common questions before you deploy Gameplane to your cluster.

<div class="grid gap-4 md:grid-cols-2 md:gap-8">
<div class="flex flex-col gap-6">
<details open class="group rounded-2xl border border-border bg-card">
Expand Down
5 changes: 0 additions & 5 deletions src/content/docs/file-manager.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@ covers: ["Browse", "Upload", "Edit"]
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta groupId="files-backups" readTime="12 MIN" />

Browse, create, upload, and edit exposed files without racing the game process or damaging recoverable world data.

<DocsCallout icon="shield-alert" title="Save or stop the game before editing files">
Save or stop the game and create a fresh backup before changing files it owns at runtime.
Expand Down
3 changes: 0 additions & 3 deletions src/content/docs/files-players-mods.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,12 @@ covers: ["Files", "Players", "Mods"]
next: server-configuration
---

import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

The Files, Players & Mods hub guides you through the three core day-to-day administration tasks: managing server files and directories, moderating players online, and installing or updating game mods and modpacks.

<DocsArticleMeta groupId="files-backups" readTime="13 MIN" />

<DocsCallout icon="shield-alert" title="Back up before making irreversible changes">
Back up world data before editing live files, changing a modpack, or running irreversible player actions. Use the Backup & Recovery tools to create snapshots before experiments.
</DocsCallout>
Expand Down
3 changes: 0 additions & 3 deletions src/content/docs/gameserver-template-schema.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@ covers: ["CRD fields", "Server configuration", "Template blueprints"]
---

import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta groupId="api-reference" />

A **GameServer** is a single running game server instance. A **GameTemplate** is a cluster-scoped blueprint defining the container image, ports, console protocol, and configuration schema that servers instantiate.

Expand Down
2 changes: 0 additions & 2 deletions src/content/docs/general-server-settings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

Manage stable identity, useful operator metadata, and image selection while understanding which values require replacement.

<DocsCallout icon="package" title="Image overrides are explicit exceptions">
An image override bypasses the template default. Pin it only for a tested exception with a rollback path.
</DocsCallout>
Expand Down
2 changes: 0 additions & 2 deletions src/content/docs/helm-values-reference.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ covers: ["Helm chart configuration", "Installation settings", "Production values

import DocsCallout from "../../components/docs/DocsCallout.astro";

Production-facing chart settings, accepted types, defaults, and the operational effect of each value.

<DocsCallout icon="info" title="Render and diff before every change.">
Use `helm template` or `helm diff` to preview your values before applying them to production. Secret values should always be referenced from Kubernetes Secrets, never committed to version control.
</DocsCallout>
Expand Down
5 changes: 0 additions & 5 deletions src/content/docs/high-availability.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,10 @@ covers: ["Replicas", "Failure domains", "RTO"]
next: executable-upgrades-rollback
---

import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

<DocsArticleMeta groupId="cluster-storage" readTime="17 MIN" />

Replicate only supported components, remove avoidable single points of failure, and test disruption against explicit objectives.

<DocsCallout icon="shield-alert" title="Replica count alone is not HA.">
Edge routing, database, storage, scheduling capacity, and leader behavior must survive the same failure. Merely running two copies without testing the loss of one domain leaves you with two identical failures, not redundancy.
</DocsCallout>
Expand Down
5 changes: 0 additions & 5 deletions src/content/docs/ingress-tls-access.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@ covers: ["Ingress", "TLS", "OIDC"]
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta groupId="network-automation" readTime="16 MIN" />

Publish the dashboard and API through a trusted HTTPS edge while separating game ports, management traffic, and identity redirects.

<DocsCallout icon="lock" title="Security boundary">
Dashboard HTTPS and game TCP/UDP exposure are separate interfaces with different owners and security controls.
Expand Down
3 changes: 0 additions & 3 deletions src/content/docs/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ covers: ["Helm", "Ingress", "Bootstrap"]
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta readTime="16 MIN" />

Gameplane runs on Kubernetes and deploys via Helm. This guide walks through preparing a cluster, configuring the Helm chart, installing Gameplane, and verifying a working control plane.

Expand Down
2 changes: 0 additions & 2 deletions src/content/docs/kubectl-gitops-recipes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

Repeatable commands and declarative patterns for inspecting, applying, reconciling, and rolling back Gameplane resources.

<DocsCallout icon="info" title="Treat status as controller output">
Commit desired state, then wait for observedGeneration before declaring a rollout complete.
</DocsCallout>
Expand Down
5 changes: 0 additions & 5 deletions src/content/docs/lifecycle-probes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@ covers: ["Suspend", "Graceful stop", "Health"]
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta groupId="servers-config" readTime="14 MIN" />

Control desired running state, graceful shutdown, and probe timing so slow games recover without restart loops or data loss.

<DocsCallout icon="heart-handshake" title="Use intentional Stop or Suspend for maintenance; do not weaken probes to hide a real process failure.">
Disabling readiness/liveness probes masks underlying failures. If your game crashes frequently, investigate the root cause instead of loosening probe thresholds.
Expand Down
5 changes: 0 additions & 5 deletions src/content/docs/local-development-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,6 @@ next: "repository-components"
import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";
import DocsArticleMeta from "../../components/docs/DocsArticleMeta.astro";

<DocsArticleMeta groupId="local-development" readTime="14 MIN" />

Build Gameplane on a host or devcontainer, then run the full stack against kind or a selected remote cluster.

<DocsCallout icon="blocks" title="Desired state vs. observed state">
Desired state belongs in CRD spec; observed state and conditions belong to controllers.
Expand Down
2 changes: 0 additions & 2 deletions src/content/docs/mod-registry-credentials.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

Enable credentialed content registries without leaking keys and understand why a provider appears or remains hidden.

<DocsCallout icon="check" title="A configured key does not make a registry relevant to every game, loader, or module capability.">
Registry visibility also depends on the game, loader version, and module capabilities you declare.
</DocsCallout>
Expand Down
2 changes: 0 additions & 2 deletions src/content/docs/mods-modpacks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

Install compatible content from registries, approved URLs, uploads, or IDs while keeping every change reproducible.

<DocsCallout icon="puzzle" title="Successful downloads aren't compatibility proof.">
Validate loader, game version, dependencies, startup, and player joins after any mod install or update.
</DocsCallout>
Expand Down
2 changes: 0 additions & 2 deletions src/content/docs/module-authoring-quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@ import DocsCallout from "../../components/docs/DocsCallout.astro";
import DocsSectionList from "../../components/docs/DocsSectionList.astro";
import DocsQuickReference from "../../components/docs/DocsQuickReference.astro";

Turn a game image into a validated, installable bundle with metadata, a GameTemplate, documentation, and reproducible OCI content.

<DocsCallout icon="package-plus" title="Mutable source, immutable distribution">
The source directory is editable; the versioned OCI artifact is the immutable distribution unit.
</DocsCallout>
Expand Down
Loading
Loading