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
20 changes: 10 additions & 10 deletions src/content/docs/api-crds.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,13 @@ Use Kubernetes RBAC for CRD workflows and scoped Gameplane service accounts for

## API and integration references

- **[CRD Catalog](./crd-catalog/)** — full schema, field descriptions, and examples for every core CRD.
- **[GameServer & Template Schema](./gameserver-template-schema/)** — detailed reference for game server configuration and template lifecycle.
- **[Status, Phases & Conditions](./status-phases-conditions/)** — reconciliation state tracking and observed-generation semantics.
- **[Module & Cluster CRDs](./module-cluster-crds/)** — ModuleSource, Module, and Cluster resource references.
- **[Backup & Restore CRDs](./backup-restore-crds/)** — Backup, BackupSchedule, and Restore resources.
- **[REST API Reference](./rest-api-reference/)** — HTTP endpoints, authentication, and request/response schemas.
- **[WebSocket & Event Streams](./websocket-event-streams/)** — real-time console, logs, and status updates.
- **[API & Realtime Development](./api-realtime-development/)** — extend REST, SSE, and WebSocket behavior while preserving auth, scoping, and audit invariants.
- **[Helm Values Reference](./helm-values-reference/)** — operator and api configuration options.
- **[Kubectl & GitOps Recipes](./kubectl-gitops-recipes/)** — common workflows, Kustomize patterns, and reconciliation debugging.
- **[CRD Catalog](../crd-catalog/)** — full schema, field descriptions, and examples for every core CRD.
- **[GameServer & Template Schema](../gameserver-template-schema/)** — detailed reference for game server configuration and template lifecycle.
- **[Status, Phases & Conditions](../status-phases-conditions/)** — reconciliation state tracking and observed-generation semantics.
- **[Module & Cluster CRDs](../module-cluster-crds/)** — ModuleSource, Module, and Cluster resource references.
- **[Backup & Restore CRDs](../backup-restore-crds/)** — Backup, BackupSchedule, and Restore resources.
- **[REST API Reference](../rest-api-reference/)** — HTTP endpoints, authentication, and request/response schemas.
- **[WebSocket & Event Streams](../websocket-event-streams/)** — real-time console, logs, and status updates.
- **[API & Realtime Development](../api-realtime-development/)** — extend REST, SSE, and WebSocket behavior while preserving auth, scoping, and audit invariants.
- **[Helm Values Reference](../helm-values-reference/)** — operator and api configuration options.
- **[Kubectl & GitOps Recipes](../kubectl-gitops-recipes/)** — common workflows, Kustomize patterns, and reconciliation debugging.
10 changes: 5 additions & 5 deletions src/content/docs/api-realtime-development.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -267,11 +267,11 @@ Run the test via `make test-integration`.

## Related reading

- **[REST API Reference](./rest-api-reference/)** — full endpoint catalog, request/response schemas
- **[WebSocket & Event Streams](./websocket-event-streams/)** — protocol details, reconnect behavior
- **[API & CRDs](./api-crds/)** — CRD reference and schema validation
- **[Local Development Setup](./local-development-setup/)** — running the API locally (`make dev-up`)
- **[REST API Reference](../rest-api-reference/)** — full endpoint catalog, request/response schemas
- **[WebSocket & Event Streams](../websocket-event-streams/)** — protocol details, reconnect behavior
- **[API & CRDs](../api-crds/)** — CRD reference and schema validation
- **[Local Development Setup](../local-development-setup/)** — running the API locally (`make dev-up`)

---

**Next guide:** [Operator and CRD development](./operator-crd-development/)
**Next guide:** [Operator and CRD development](../operator-crd-development/)
4 changes: 2 additions & 2 deletions src/content/docs/architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,6 @@ ModuleSource CRs declare where templates come from — OCI registry, git, HTTP,

## Optional components

Beyond the core operator, API, and agent, Gameplane ships optional services for specialized tasks. Optional components (mcp-server, telemetry-receiver, audit-syslog-bridge) are covered in [Extension services](./extension-services/). For a full catalog of all CRDs and their fields, see the [CRD catalog](./crd-catalog/).
Beyond the core operator, API, and agent, Gameplane ships optional services for specialized tasks. Optional components (mcp-server, telemetry-receiver, audit-syslog-bridge) are covered in [Extension services](../extension-services/). For a full catalog of all CRDs and their fields, see the [CRD catalog](../crd-catalog/).

The full component reference — data-flow walkthroughs, CRD relationships, and security boundaries — lives in the [architecture doc on GitHub](https://github.com/ValgulNecron/Gameplane/blob/main/docs/architecture.md).
The full component reference — data-flow walkthroughs, CRD relationships, and security boundaries — lives in the [architecture doc on GitHub](https://github.com/ValgulNecron/Gameplane/blob/master/docs/architecture.md).
10 changes: 5 additions & 5 deletions src/content/docs/audit-observability-admin.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ Each sink is tested independently via the Dashboard form before saving. The API

## Related guides

- [System Log Viewer](./system-log-viewer/) — Real-time dashboard log inspection and filtering
- [Production Observability](./production-observability/) — Prometheus, dashboards, and fleet-wide metrics
- [Metrics, Alerts & Dashboards](./metrics-alerts-dashboards/) — Scraping, alerting rules, and Grafana sinks
- [Notification Sinks](./notification-sinks/) — Configuring webhooks, ntfy, Slack, and SMTP
- [Platform Settings & Telemetry](./platform-settings-telemetry/) — Instance identity, update channels, and opt-in telemetry
- [System Log Viewer](../system-log-viewer/) — Real-time dashboard log inspection and filtering
- [Production Observability](../production-observability/) — Prometheus, dashboards, and fleet-wide metrics
- [Metrics, Alerts & Dashboards](../metrics-alerts-dashboards/) — Scraping, alerting rules, and Grafana sinks
- [Notification Sinks](../notification-sinks/) — Configuring webhooks, ntfy, Slack, and SMTP
- [Platform Settings & Telemetry](../platform-settings-telemetry/) — Instance identity, update channels, and opt-in telemetry
6 changes: 3 additions & 3 deletions src/content/docs/backup-destinations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,6 @@ kubectl get backupschedules -A -o jsonpath='{range .items[*]}{.metadata.name}{"\

## Next steps

- **Repository management:** [Backup Repository Operations](./backup-repository-operations/) covers managing snapshots, retention policies, and multi-destination strategies
- **Automated backups:** [Backups & Recovery](./backups-recovery/) hub for scheduling backups with retention and restore operations
- **Cluster disaster recovery:** [Platform Disaster Recovery](./platform-disaster-recovery/) covers cluster-level recovery beyond server backups
- **Repository management:** [Backup Repository Operations](../backup-repository-operations/) covers managing snapshots, retention policies, and multi-destination strategies
- **Automated backups:** [Backups & Recovery](../backups-recovery/) hub for scheduling backups with retention and restore operations
- **Cluster disaster recovery:** [Platform Disaster Recovery](../platform-disaster-recovery/) covers cluster-level recovery beyond server backups
6 changes: 3 additions & 3 deletions src/content/docs/backup-repository-operations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,6 @@ This separation ensures that a compromised workload credential does not also com

## Related guides

- [Backup Destinations](./backup-destinations/) — configure and test backup targets
- [Backups & Recovery](./backups-recovery/) — on-demand and scheduled backup overview
- [Production Observability](./production-observability/) — monitoring backup metrics and alerts
- [Backup Destinations](../backup-destinations/) — configure and test backup targets
- [Backups & Recovery](../backups-recovery/) — on-demand and scheduled backup overview
- [Production Observability](../production-observability/) — monitoring backup metrics and alerts
12 changes: 6 additions & 6 deletions src/content/docs/backup-restore-crds.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -255,14 +255,14 @@ kubectl logs -f restore-job-logs # Sidecar tails restore process

## Reference links

- **[Backup Destinations](./backup-destinations/)** — Set up restic repositories and Kubernetes Secrets.
- **[Backup Repository Operations](./backup-repository-operations/)** — Prune, check, and recover snapshots.
- **[Backups & Recovery](./backups-recovery/)** — Dashboard backup and restore workflows.
- **[Status, Phases & Conditions](./status-phases-conditions/)** — Reconciliation state semantics and condition types.
- **[CRD Catalog](./crd-catalog/)** — Overview of all Gameplane CRDs.
- **[Backup Destinations](../backup-destinations/)** — Set up restic repositories and Kubernetes Secrets.
- **[Backup Repository Operations](../backup-repository-operations/)** — Prune, check, and recover snapshots.
- **[Backups & Recovery](../backups-recovery/)** — Dashboard backup and restore workflows.
- **[Status, Phases & Conditions](../status-phases-conditions/)** — Reconciliation state semantics and condition types.
- **[CRD Catalog](../crd-catalog/)** — Overview of all Gameplane CRDs.

---

## Next guide

[Status, Phases & Conditions](./status-phases-conditions/) — Understand how conditions, phases, and observedGeneration work together to signal reconciliation state.
[Status, Phases & Conditions](../status-phases-conditions/) — Understand how conditions, phases, and observedGeneration work together to signal reconciliation state.
4 changes: 2 additions & 2 deletions src/content/docs/backups-recovery.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -145,5 +145,5 @@ Restore into a new server for verification, or overwrite only after stopping wri

## Next steps

- [Backup Destinations](./backup-destinations/) — Configure S3, GCS, SFTP, and local restic repositories
- [Backup Repository Operations](./backup-repository-operations/) — Manage repository maintenance, integrity checks, and cleanup
- [Backup Destinations](../backup-destinations/) — Configure S3, GCS, SFTP, and local restic repositories
- [Backup Repository Operations](../backup-repository-operations/) — Manage repository maintenance, integrity checks, and cleanup
2 changes: 1 addition & 1 deletion src/content/docs/changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,4 @@ import ChangeEntry from "../../components/docs/ChangeEntry.astro";
</ChangeEntry>
</div>

The full release-by-release record, including fixes and internal changes, is in [CHANGELOG.md on GitHub](https://github.com/ValgulNecron/Gameplane/blob/main/CHANGELOG.md).
The full release-by-release record, including fixes and internal changes, is in [CHANGELOG.md on GitHub](https://github.com/ValgulNecron/Gameplane/blob/master/CHANGELOG.md).
4 changes: 2 additions & 2 deletions src/content/docs/ci-releases-signing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,10 @@ A `v` tag builds and signs images, packages the OCI chart, creates release notes
]}
/>

Release images carry Cosign signatures recorded in the public Sigstore Rekor transparency log. Verify any released or edge image with the `cosign.pub` key at the repo root. Pre-rotation releases (v0.2.0-beta.7 and earlier) used the retired Ed25519 key and require `cosign-legacy.pub` with the `--insecure-ignore-tlog=true` flag (see [Key Rotation](./credential-rotation/) for trust continuity).
Release images carry Cosign signatures recorded in the public Sigstore Rekor transparency log. Verify any released or edge image with the `cosign.pub` key at the repo root. Pre-rotation releases (v0.2.0-beta.7 and earlier) used the retired Ed25519 key and require `cosign-legacy.pub` with the `--insecure-ignore-tlog=true` flag (see [Key Rotation](../credential-rotation/) for trust continuity).

---

## Next guide

[Extension services](./extension-services/)
[Extension services](../extension-services/)
6 changes: 3 additions & 3 deletions src/content/docs/cluster-nodes-kubeconfig.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,6 @@ Mint a short-lived token for the intended cluster, run the generated join proced

## Related topics

- **[Kubernetes Maintenance](./kubernetes-maintenance/)** — node upgrades, drain procedures, security patches.
- **[High Availability](./high-availability/)** — control plane redundancy, etcd backup, failover.
- **[Multi-cluster Topology](./multi-cluster/)** — remote cluster registration and federation.
- **[Kubernetes Maintenance](../kubernetes-maintenance/)** — node upgrades, drain procedures, security patches.
- **[High Availability](../high-availability/)** — control plane redundancy, etcd backup, failover.
- **[Multi-cluster Topology](../multi-cluster/)** — remote cluster registration and federation.
10 changes: 5 additions & 5 deletions src/content/docs/cluster-storage.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ Start with Kubernetes' built-in scheduler — it balances pods across nodes, res

## Related guides

- [Multi-cluster Topology](./multi-cluster/) — register remote Kubernetes clusters and distribute workloads across them
- [High Availability](./high-availability/) — replicate the control plane and database for production resilience
- [Kubernetes Maintenance](./kubernetes-maintenance/) — plan node upgrades and cluster patches
- [Database Configuration & Lifecycle](./database-configuration/) — configure SQLite or PostgreSQL for the API
- [Backups & Recovery](./backups-recovery/) — create and restore game world snapshots
- [Multi-cluster Topology](../multi-cluster/) — register remote Kubernetes clusters and distribute workloads across them
- [High Availability](../high-availability/) — replicate the control plane and database for production resilience
- [Kubernetes Maintenance](../kubernetes-maintenance/) — plan node upgrades and cluster patches
- [Database Configuration & Lifecycle](../database-configuration/) — configure SQLite or PostgreSQL for the API
- [Backups & Recovery](../backups-recovery/) — create and restore game world snapshots
2 changes: 1 addition & 1 deletion src/content/docs/console-events-logs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,4 @@ The game's primary log file is configured in the template's `spec.logPath` (e.g.

## Next guide

[Files, players, and mods](./files-players-mods/)
[Files, players, and mods](../files-players-mods/)
2 changes: 1 addition & 1 deletion src/content/docs/console-protocols.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ A `GameTemplate`'s `spec.rcon.protocol` selects the wire protocol the agent side

Games with no usable remote console set `rcon.protocol: none`. If they still need interactive commands, the template also sets `consoleMode: pty` — the dashboard then attaches to the pod's stdin/stdout over the Kubernetes pod-attach API instead of opening a network socket, so a `pty` game gets a real console without a console *protocol*.

Template authors: the full `rcon` spec — per-protocol YAML, the `passwordEnv` vs `passwordFile` precedence, and how `capabilities` (player actions, status metrics, custom buttons) build on top of it — is documented in [Module Authoring](./module-authoring/) and the [module authoring guide on GitHub](https://github.com/ValgulNecron/Gameplane/blob/main/docs/module-authoring.md#rcon).
Template authors: the full `rcon` spec — per-protocol YAML, the `passwordEnv` vs `passwordFile` precedence, and how `capabilities` (player actions, status metrics, custom buttons) build on top of it — is documented in [Module Authoring](../module-authoring/) and the [module authoring guide on GitHub](https://github.com/ValgulNecron/Gameplane/blob/master/docs/module-authoring.md#rcon).
2 changes: 1 addition & 1 deletion src/content/docs/contribution-design-workflow.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -91,4 +91,4 @@ Push your branch and create a PR. CI automatically runs the full verification su

## Next guide

[CI, releases, and signing](./ci-releases-signing/)
[CI, releases, and signing](../ci-releases-signing/)
6 changes: 3 additions & 3 deletions src/content/docs/crd-catalog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,6 @@ Every Gameplane custom resource lives in the `gameplane.local/v1alpha1` API grou

Each CRD's full schema—all `spec` fields, `status` conditions, and behavioral annotations—is documented in the source repository:

- **Type definitions:** [`operator/api/v1alpha1` on GitHub](https://github.com/ValgulNecron/Gameplane/tree/main/operator/api/v1alpha1) — every `.go` file's doc comments are the source that `make manifests` generates CRD YAML from.
- **Generated YAML:** [`operator/config/crd/` on GitHub](https://github.com/ValgulNecron/Gameplane/tree/main/operator/config/crd/) or your installed cluster via `kubectl get crds` and `kubectl describe crd <name>.gameplane.local`.
- **Related guides:** See [GameServer & Template Schema](./gameserver-template-schema/) for workload structure, [Module & Cluster CRDs](./module-cluster-crds/) for registry and multi-cluster configuration, and [Backup & Restore CRDs](./backup-restore-crds/) for data lifecycle details.
- **Type definitions:** [`operator/api/v1alpha1` on GitHub](https://github.com/ValgulNecron/Gameplane/tree/master/operator/api/v1alpha1) — every `.go` file's doc comments are the source that `make manifests` generates CRD YAML from.
- **Generated YAML:** [`operator/config/crd/` on GitHub](https://github.com/ValgulNecron/Gameplane/tree/master/operator/config/crd/) or your installed cluster via `kubectl get crds` and `kubectl describe crd <name>.gameplane.local`.
- **Related guides:** See [GameServer & Template Schema](../gameserver-template-schema/) for workload structure, [Module & Cluster CRDs](../module-cluster-crds/) for registry and multi-cluster configuration, and [Backup & Restore CRDs](../backup-restore-crds/) for data lifecycle details.
6 changes: 3 additions & 3 deletions src/content/docs/database-migrations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,6 @@ Before committing a migration file:

## Related guides

- [Database Configuration & Lifecycle](./database-configuration/) — connection pooling, disaster recovery, PostgreSQL setup
- [Repository & Components](./repository-components/) — schema layout and where migrations live
- [API & CRDs](./api-crds/) — REST endpoints that read/write to the database
- [Database Configuration & Lifecycle](../database-configuration/) — connection pooling, disaster recovery, PostgreSQL setup
- [Repository & Components](../repository-components/) — schema layout and where migrations live
- [API & CRDs](../api-crds/) — REST endpoints that read/write to the database
6 changes: 3 additions & 3 deletions src/content/docs/executable-upgrades-rollback.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,6 @@ If the upgrade adds a CRD or modifies CRD schema in a backward-incompatible way

## Related guides

- [Supported Versions Matrix](./supported-versions-matrix/) — compatibility grid for Kubernetes, Helm, and database versions.
- [Uninstall & Decommission](./uninstall-decommission/) — retiring a Gameplane cluster.
- [Database Configuration & Lifecycle](./database-configuration/) — managing the backing database during upgrades.
- [Supported Versions Matrix](../supported-versions-matrix/) — compatibility grid for Kubernetes, Helm, and database versions.
- [Uninstall & Decommission](../uninstall-decommission/) — retiring a Gameplane cluster.
- [Database Configuration & Lifecycle](../database-configuration/) — managing the backing database during upgrades.
4 changes: 2 additions & 2 deletions src/content/docs/extension-services.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ Put cross-component invariants in small modules only when multiple callers requi
- **Operator** (`ModuleSource` `git`/`http` fetches) — intentionally more permissive; self-hosted registries legitimately live on private/loopback addresses.
- **Agent** (`capabilities.mods.install` downloads) — stricter; mod-download URLs are less trusted.

Both dial through a `net.Dialer.Control` hook that blocks the destination at connect time, enforced late enough that DNS rebinding can't slip past a name-based allowlist. See [Security](./security/) for the full threat model.
Both dial through a `net.Dialer.Control` hook that blocks the destination at connect time, enforced late enough that DNS rebinding can't slip past a name-based allowlist. See [Security](../security/) for the full threat model.

### gameaction

Expand Down Expand Up @@ -192,4 +192,4 @@ helm upgrade --install gameplane oci://... -f values.yaml -n gameplane-system

---

See the [CRD catalog](./crd-catalog/) for how these services fit around the CRDs they read or forward, and [Security](./security/) for the RBAC and network boundaries each one runs inside.
See the [CRD catalog](../crd-catalog/) for how these services fit around the CRDs they read or forward, and [Security](../security/) for the RBAC and network boundaries each one runs inside.
2 changes: 1 addition & 1 deletion src/content/docs/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Common questions before you deploy Gameplane to your cluster.
</summary>
<div class="border-t border-separator px-4 pb-4 pt-3 text-[14px] leading-normal text-muted-foreground">
It's in beta ({VERSION}). Core workflows are feature-complete and tested, but not yet
recommended for unattended production — see the <a href="./roadmap/">Roadmap</a>.
recommended for unattended production — see the <a href="../roadmap/">Roadmap</a>.
</div>
</details>
<details class="group rounded-2xl border border-border bg-card">
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/file-manager.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,4 @@ Apply one concern, restart only when required, and validate Events and game logs

## Next guide

[Player administration](./player-administration/)
[Player administration](../player-administration/)
Loading
Loading