From 47429a1b0e97f2ca6ebdbd5da9a18df1e0b617a4 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 28 Sep 2026 21:35:48 +0000 Subject: [PATCH] fix(docs): make cross-guide links resolve and point GitHub links at master Docs pages render at /docs//, so a relative ./other-guide/ link resolved to /docs//other-guide/ and 404ed. Every cross-guide link now uses ../other-guide/, which keeps the site base path. Links into the Gameplane repo used blob/main and tree/main; its default branch is master. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01UshpSigdLccuYZi7oFJX9y Signed-off-by: Claude --- src/content/docs/api-crds.mdx | 20 +++++++++---------- src/content/docs/api-realtime-development.mdx | 10 +++++----- src/content/docs/architecture.mdx | 4 ++-- .../docs/audit-observability-admin.mdx | 10 +++++----- src/content/docs/backup-destinations.mdx | 6 +++--- .../docs/backup-repository-operations.mdx | 6 +++--- src/content/docs/backup-restore-crds.mdx | 12 +++++------ src/content/docs/backups-recovery.mdx | 4 ++-- src/content/docs/changelog.mdx | 2 +- src/content/docs/ci-releases-signing.mdx | 4 ++-- src/content/docs/cluster-nodes-kubeconfig.mdx | 6 +++--- src/content/docs/cluster-storage.mdx | 10 +++++----- src/content/docs/console-events-logs.mdx | 2 +- src/content/docs/console-protocols.mdx | 2 +- .../docs/contribution-design-workflow.mdx | 2 +- src/content/docs/crd-catalog.mdx | 6 +++--- src/content/docs/database-migrations.mdx | 6 +++--- .../docs/executable-upgrades-rollback.mdx | 6 +++--- src/content/docs/extension-services.mdx | 4 ++-- src/content/docs/faq.mdx | 2 +- src/content/docs/file-manager.mdx | 2 +- src/content/docs/files-players-mods.mdx | 8 ++++---- src/content/docs/gametemplate-schema.mdx | 2 +- src/content/docs/get-involved.mdx | 6 +++--- src/content/docs/getting-started.mdx | 2 +- src/content/docs/high-availability.mdx | 2 +- src/content/docs/installation.mdx | 10 +++++----- src/content/docs/kubectl-gitops-recipes.mdx | 8 ++++---- src/content/docs/lifecycle-probes.mdx | 4 ++-- .../docs/metrics-alerts-dashboards.mdx | 6 +++--- src/content/docs/mod-registry-credentials.mdx | 2 +- .../docs/module-authoring-quickstart.mdx | 4 ++-- src/content/docs/module-authoring.mdx | 10 +++++----- src/content/docs/module-cluster-crds.mdx | 12 +++++------ src/content/docs/multi-cluster.mdx | 8 ++++---- src/content/docs/network-automation.mdx | 4 ++-- .../docs/notification-events-payloads.mdx | 2 +- src/content/docs/notification-sinks.mdx | 2 +- src/content/docs/ownership-danger-zone.mdx | 2 +- .../docs/platform-disaster-recovery.mdx | 10 +++++----- src/content/docs/player-administration.mdx | 2 +- src/content/docs/production-installation.mdx | 2 +- src/content/docs/production-observability.mdx | 6 +++--- src/content/docs/repository-components.mdx | 6 +++--- src/content/docs/rest-api-reference.mdx | 10 +++++----- src/content/docs/roadmap.mdx | 2 +- src/content/docs/security.mdx | 2 +- src/content/docs/server-configuration.mdx | 14 ++++++------- src/content/docs/server-operations.mdx | 2 +- src/content/docs/sign-in-recovery.mdx | 2 +- .../docs/supported-versions-matrix.mdx | 4 ++-- src/content/docs/template-configuration.mdx | 6 +++--- .../docs/test-publish-sign-modules.mdx | 6 +++--- src/content/docs/testing-coverage-e2e.mdx | 2 +- src/content/docs/troubleshooting.mdx | 2 +- src/content/docs/uninstall-decommission.mdx | 6 +++--- src/content/docs/upgrades-migrations.mdx | 10 +++++----- src/content/docs/upload-a-module.mdx | 6 +++--- src/content/docs/user-administration.mdx | 6 +++--- src/content/docs/users-auth-rbac.mdx | 2 +- src/content/docs/websocket-event-streams.mdx | 2 +- 61 files changed, 165 insertions(+), 165 deletions(-) diff --git a/src/content/docs/api-crds.mdx b/src/content/docs/api-crds.mdx index 905460a..3c3f29a 100644 --- a/src/content/docs/api-crds.mdx +++ b/src/content/docs/api-crds.mdx @@ -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. diff --git a/src/content/docs/api-realtime-development.mdx b/src/content/docs/api-realtime-development.mdx index a512b59..48dad1f 100644 --- a/src/content/docs/api-realtime-development.mdx +++ b/src/content/docs/api-realtime-development.mdx @@ -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/) diff --git a/src/content/docs/architecture.mdx b/src/content/docs/architecture.mdx index ff96076..362651f 100644 --- a/src/content/docs/architecture.mdx +++ b/src/content/docs/architecture.mdx @@ -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). diff --git a/src/content/docs/audit-observability-admin.mdx b/src/content/docs/audit-observability-admin.mdx index 27552f5..77b2c77 100644 --- a/src/content/docs/audit-observability-admin.mdx +++ b/src/content/docs/audit-observability-admin.mdx @@ -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 diff --git a/src/content/docs/backup-destinations.mdx b/src/content/docs/backup-destinations.mdx index 93bf4e6..56d7028 100644 --- a/src/content/docs/backup-destinations.mdx +++ b/src/content/docs/backup-destinations.mdx @@ -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 diff --git a/src/content/docs/backup-repository-operations.mdx b/src/content/docs/backup-repository-operations.mdx index 76e1259..b1da73a 100644 --- a/src/content/docs/backup-repository-operations.mdx +++ b/src/content/docs/backup-repository-operations.mdx @@ -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 diff --git a/src/content/docs/backup-restore-crds.mdx b/src/content/docs/backup-restore-crds.mdx index d445768..9c380c5 100644 --- a/src/content/docs/backup-restore-crds.mdx +++ b/src/content/docs/backup-restore-crds.mdx @@ -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. diff --git a/src/content/docs/backups-recovery.mdx b/src/content/docs/backups-recovery.mdx index ce01590..6eb911a 100644 --- a/src/content/docs/backups-recovery.mdx +++ b/src/content/docs/backups-recovery.mdx @@ -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 diff --git a/src/content/docs/changelog.mdx b/src/content/docs/changelog.mdx index e1a13fd..f2ebf66 100644 --- a/src/content/docs/changelog.mdx +++ b/src/content/docs/changelog.mdx @@ -64,4 +64,4 @@ import ChangeEntry from "../../components/docs/ChangeEntry.astro"; -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). diff --git a/src/content/docs/ci-releases-signing.mdx b/src/content/docs/ci-releases-signing.mdx index 7b952d4..b24d72c 100644 --- a/src/content/docs/ci-releases-signing.mdx +++ b/src/content/docs/ci-releases-signing.mdx @@ -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/) diff --git a/src/content/docs/cluster-nodes-kubeconfig.mdx b/src/content/docs/cluster-nodes-kubeconfig.mdx index 41cfc7f..6db5ee2 100644 --- a/src/content/docs/cluster-nodes-kubeconfig.mdx +++ b/src/content/docs/cluster-nodes-kubeconfig.mdx @@ -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. diff --git a/src/content/docs/cluster-storage.mdx b/src/content/docs/cluster-storage.mdx index dc72446..f88370c 100644 --- a/src/content/docs/cluster-storage.mdx +++ b/src/content/docs/cluster-storage.mdx @@ -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 diff --git a/src/content/docs/console-events-logs.mdx b/src/content/docs/console-events-logs.mdx index 6fa606a..f98a9d2 100644 --- a/src/content/docs/console-events-logs.mdx +++ b/src/content/docs/console-events-logs.mdx @@ -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/) diff --git a/src/content/docs/console-protocols.mdx b/src/content/docs/console-protocols.mdx index d64a08a..7ad7070 100644 --- a/src/content/docs/console-protocols.mdx +++ b/src/content/docs/console-protocols.mdx @@ -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). diff --git a/src/content/docs/contribution-design-workflow.mdx b/src/content/docs/contribution-design-workflow.mdx index 40ae801..0ad7471 100644 --- a/src/content/docs/contribution-design-workflow.mdx +++ b/src/content/docs/contribution-design-workflow.mdx @@ -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/) diff --git a/src/content/docs/crd-catalog.mdx b/src/content/docs/crd-catalog.mdx index 91696ea..6488cc0 100644 --- a/src/content/docs/crd-catalog.mdx +++ b/src/content/docs/crd-catalog.mdx @@ -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 .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 .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. diff --git a/src/content/docs/database-migrations.mdx b/src/content/docs/database-migrations.mdx index c76baab..ee55cdc 100644 --- a/src/content/docs/database-migrations.mdx +++ b/src/content/docs/database-migrations.mdx @@ -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 diff --git a/src/content/docs/executable-upgrades-rollback.mdx b/src/content/docs/executable-upgrades-rollback.mdx index a8464cf..0aa4a51 100644 --- a/src/content/docs/executable-upgrades-rollback.mdx +++ b/src/content/docs/executable-upgrades-rollback.mdx @@ -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. diff --git a/src/content/docs/extension-services.mdx b/src/content/docs/extension-services.mdx index 4cca580..d47f01f 100644 --- a/src/content/docs/extension-services.mdx +++ b/src/content/docs/extension-services.mdx @@ -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 @@ -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. diff --git a/src/content/docs/faq.mdx b/src/content/docs/faq.mdx index 6d54af1..e9fe646 100644 --- a/src/content/docs/faq.mdx +++ b/src/content/docs/faq.mdx @@ -38,7 +38,7 @@ Common questions before you deploy Gameplane to your cluster.
It's in beta ({VERSION}). Core workflows are feature-complete and tested, but not yet - recommended for unattended production — see the Roadmap. + recommended for unattended production — see the Roadmap.
diff --git a/src/content/docs/file-manager.mdx b/src/content/docs/file-manager.mdx index 1fbf3cb..85635ce 100644 --- a/src/content/docs/file-manager.mdx +++ b/src/content/docs/file-manager.mdx @@ -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/) diff --git a/src/content/docs/files-players-mods.mdx b/src/content/docs/files-players-mods.mdx index 3029bb4..8df575d 100644 --- a/src/content/docs/files-players-mods.mdx +++ b/src/content/docs/files-players-mods.mdx @@ -110,7 +110,7 @@ Choose a registry, allow-listed URL, upload, or game-specific ID flow, then veri For detailed procedures, see: -- **[File Manager](./file-manager/)** — Browse, upload, and edit server files in detail -- **[Player Administration](./player-administration/)** — Whitelist, ban, and moderate players with audit trails -- **[Mods & Modpacks](./mods-modpacks/)** — Install, update, and manage game mod collections -- **[Backups & Recovery](./backups-recovery/)** — Create snapshots before making changes +- **[File Manager](../file-manager/)** — Browse, upload, and edit server files in detail +- **[Player Administration](../player-administration/)** — Whitelist, ban, and moderate players with audit trails +- **[Mods & Modpacks](../mods-modpacks/)** — Install, update, and manage game mod collections +- **[Backups & Recovery](../backups-recovery/)** — Create snapshots before making changes diff --git a/src/content/docs/gametemplate-schema.mdx b/src/content/docs/gametemplate-schema.mdx index e509b45..bbfb352 100644 --- a/src/content/docs/gametemplate-schema.mdx +++ b/src/content/docs/gametemplate-schema.mdx @@ -175,4 +175,4 @@ Key sub-specs: ## Next guide -[Runtime capabilities & actions](./runtime-capabilities-actions/) — Define game-specific commands the operator interprets to drive console actions, player moderation, and backup quiesce. +[Runtime capabilities & actions](../runtime-capabilities-actions/) — Define game-specific commands the operator interprets to drive console actions, player moderation, and backup quiesce. diff --git a/src/content/docs/get-involved.mdx b/src/content/docs/get-involved.mdx index 6b542f2..e7afce3 100644 --- a/src/content/docs/get-involved.mdx +++ b/src/content/docs/get-involved.mdx @@ -23,13 +23,13 @@ import Icon from "../../components/Icon.astro"; Package a new game as a template using the open OCI bundle format — see the - Module Authoring guide. + Module Authoring guide. Ask questions or propose ideas in GitHub Discussions on the repo. - Ready to dive into Go or TypeScript? The Contributing guide + Ready to dive into Go or TypeScript? The Contributing guide covers the dev loop and code style. @@ -37,7 +37,7 @@ import Icon from "../../components/Icon.astro";
Read the Contributing guide diff --git a/src/content/docs/getting-started.mdx b/src/content/docs/getting-started.mdx index 9c5b5cb..4c60998 100644 --- a/src/content/docs/getting-started.mdx +++ b/src/content/docs/getting-started.mdx @@ -37,4 +37,4 @@ printf '%s' "$ADMIN_PASSWORD" | kubectl -n gameplane-system exec -i deploy/gamep /api bootstrap-admin --username admin --password-stdin ``` -For OIDC login, PostgreSQL instead of the bundled SQLite, and ingress/TLS options, see the full [installation guide](./installation/). +For OIDC login, PostgreSQL instead of the bundled SQLite, and ingress/TLS options, see the full [installation guide](../installation/). diff --git a/src/content/docs/high-availability.mdx b/src/content/docs/high-availability.mdx index 5eaa6b7..d311a35 100644 --- a/src/content/docs/high-availability.mdx +++ b/src/content/docs/high-availability.mdx @@ -126,4 +126,4 @@ Drain or terminate one dependency at a time and measure: - Game servers stay local to their data center; they do not migrate. - Backup and restore allow recovery to a different cluster if a whole region fails. -See [Multi-cluster topology](./multi-cluster/) for cross-region failover patterns, and [Platform disaster recovery](./platform-disaster-recovery/) for restoring after catastrophic loss. +See [Multi-cluster topology](../multi-cluster/) for cross-region failover patterns, and [Platform disaster recovery](../platform-disaster-recovery/) for restoring after catastrophic loss. diff --git a/src/content/docs/installation.mdx b/src/content/docs/installation.mdx index d4d88bd..b77d67b 100644 --- a/src/content/docs/installation.mdx +++ b/src/content/docs/installation.mdx @@ -158,7 +158,7 @@ To manage sources via GitOps instead of letting Helm create the default, set `en ### Full reference -See [Helm Values Reference](./helm-values-reference/) for a complete walkthrough of all Helm values, defaults, and advanced options. +See [Helm Values Reference](../helm-values-reference/) for a complete walkthrough of all Helm values, defaults, and advanced options. ## Install and verify @@ -308,7 +308,7 @@ kubectl -n gameplane-system get ingress gameplane After a successful install: -- **[Dashboard tour](./dashboard-tour/)** — explore the web UI and server management -- **[Create a server](./create-a-server/)** — deploy your first game server -- **[Production installation](./production-installation/)** — HA, TLS, external auth, and monitoring for production clusters -- **[Upgrades and migrations](./upgrades-migrations/)** — plan version upgrades and strategy +- **[Dashboard tour](../dashboard-tour/)** — explore the web UI and server management +- **[Create a server](../create-a-server/)** — deploy your first game server +- **[Production installation](../production-installation/)** — HA, TLS, external auth, and monitoring for production clusters +- **[Upgrades and migrations](../upgrades-migrations/)** — plan version upgrades and strategy diff --git a/src/content/docs/kubectl-gitops-recipes.mdx b/src/content/docs/kubectl-gitops-recipes.mdx index a918d2c..556db69 100644 --- a/src/content/docs/kubectl-gitops-recipes.mdx +++ b/src/content/docs/kubectl-gitops-recipes.mdx @@ -95,7 +95,7 @@ Before applying a change to production: ## See also -- **[CRD Catalog](./crd-catalog/)** — full field descriptions and examples for every core CRD. -- **[Status, Phases & Conditions](./status-phases-conditions/)** — reconciliation state tracking and observedGeneration semantics. -- **[REST API Reference](./rest-api-reference/)** — HTTP endpoints for automation outside kubectl. -- **[Helm Values Reference](./helm-values-reference/)** — operator and API configuration for GitOps workflows. +- **[CRD Catalog](../crd-catalog/)** — full field descriptions and examples for every core CRD. +- **[Status, Phases & Conditions](../status-phases-conditions/)** — reconciliation state tracking and observedGeneration semantics. +- **[REST API Reference](../rest-api-reference/)** — HTTP endpoints for automation outside kubectl. +- **[Helm Values Reference](../helm-values-reference/)** — operator and API configuration for GitOps workflows. diff --git a/src/content/docs/lifecycle-probes.mdx b/src/content/docs/lifecycle-probes.mdx index 58d5880..66ae0ce 100644 --- a/src/content/docs/lifecycle-probes.mdx +++ b/src/content/docs/lifecycle-probes.mdx @@ -142,7 +142,7 @@ spec: If you enable idle auto-sleep (`spec.idle.enabled: true`), the operator scales the server down automatically after it reports zero players for the configured idle period. The graceful termination sequence still runs — the template's stop sequence executes with the same grace period, and data is preserved. -For more details, see the [`spec.idle` configuration in the architecture docs](./architecture/). +For more details, see the [`spec.idle` configuration in the architecture docs](../architecture/). ## Understanding phases and transitions @@ -157,4 +157,4 @@ Hover over the phase badge on the server overview to see the current condition a --- -Next guide: [Ownership and danger zone](./ownership-danger-zone/) +Next guide: [Ownership and danger zone](../ownership-danger-zone/) diff --git a/src/content/docs/metrics-alerts-dashboards.mdx b/src/content/docs/metrics-alerts-dashboards.mdx index e75bbb5..88d0a56 100644 --- a/src/content/docs/metrics-alerts-dashboards.mdx +++ b/src/content/docs/metrics-alerts-dashboards.mdx @@ -130,6 +130,6 @@ For production environments, integrate your own observability stack: ## Next steps -- [Production Observability](./production-observability/) — scaling metrics collection across a fleet -- [Notification Sinks](./notification-sinks/) — route alerts to Slack, PagerDuty, or webhooks -- [System Log Viewer](./system-log-viewer/) — audit logs and operator event streams +- [Production Observability](../production-observability/) — scaling metrics collection across a fleet +- [Notification Sinks](../notification-sinks/) — route alerts to Slack, PagerDuty, or webhooks +- [System Log Viewer](../system-log-viewer/) — audit logs and operator event streams diff --git a/src/content/docs/mod-registry-credentials.mdx b/src/content/docs/mod-registry-credentials.mdx index 9d97343..a1ee50a 100644 --- a/src/content/docs/mod-registry-credentials.mdx +++ b/src/content/docs/mod-registry-credentials.mdx @@ -203,4 +203,4 @@ GitHub Releases browsing is keyless and public-repo only; there is no way to rai --- -Next guide: [Cluster nodes and kubeconfig](./cluster-nodes-kubeconfig/) +Next guide: [Cluster nodes and kubeconfig](../cluster-nodes-kubeconfig/) diff --git a/src/content/docs/module-authoring-quickstart.mdx b/src/content/docs/module-authoring-quickstart.mdx index c741281..91cd050 100644 --- a/src/content/docs/module-authoring-quickstart.mdx +++ b/src/content/docs/module-authoring-quickstart.mdx @@ -144,7 +144,7 @@ bin/gp-module validate modules/minecraft-java --strict This checks metadata syntax, CRD schema compliance, image digests, port ranges, and configuration types. - The `gp-module validate` tool provides instant offline linting with source-line diagnostics. For beta.8, review your YAML files against the [GameTemplate schema](./gametemplate-schema/) and [module.yaml spec](./module-authoring/) manually. + The `gp-module validate` tool provides instant offline linting with source-line diagnostics. For beta.8, review your YAML files against the [GameTemplate schema](../gametemplate-schema/) and [module.yaml spec](../module-authoring/) manually. ### 2. Push to local registry @@ -158,7 +158,7 @@ make modules-push MODULE_REGISTRY=localhost:5001 This builds a versioned OCI artifact containing your `module.yaml`, `template.yaml`, `README.md`, and icon, then pushes it to the registry specified by `MODULE_REGISTRY`. - When deploying to a shared cluster, replace `localhost:5001` with your registry's external hostname and use appropriate credentials. See [Modules & Sources](./modules-sources/) for registry configuration. + When deploying to a shared cluster, replace `localhost:5001` with your registry's external hostname and use appropriate credentials. See [Modules & Sources](../modules-sources/) for registry configuration. ### 3. Wait for synchronization diff --git a/src/content/docs/module-authoring.mdx b/src/content/docs/module-authoring.mdx index 91501db..5e1b8eb 100644 --- a/src/content/docs/module-authoring.mdx +++ b/src/content/docs/module-authoring.mdx @@ -216,8 +216,8 @@ If a module fails to upgrade (pull error, bad signature, incompatible operator), ## Next steps -- **[Module Authoring Quickstart](./module-authoring-quickstart/)** — scaffold and author your first module using `gp-module` and the web dashboard. -- **[GameTemplate Schema](./gametemplate-schema/)** — detailed reference for `template.yaml` fields: console protocols, config schema, capabilities, and mods. -- **[Runtime Capabilities & Actions](./runtime-capabilities-actions/)** — add player moderation, backup quiesce, and operator buttons via template metadata. -- **[Test, Publish & Sign Modules](./test-publish-sign-modules/)** — validate, package, and sign bundles for secure distribution. -- **[Modules & Sources (Hub)](./modules-sources/)** — operator-side view of module registries and installation. +- **[Module Authoring Quickstart](../module-authoring-quickstart/)** — scaffold and author your first module using `gp-module` and the web dashboard. +- **[GameTemplate Schema](../gametemplate-schema/)** — detailed reference for `template.yaml` fields: console protocols, config schema, capabilities, and mods. +- **[Runtime Capabilities & Actions](../runtime-capabilities-actions/)** — add player moderation, backup quiesce, and operator buttons via template metadata. +- **[Test, Publish & Sign Modules](../test-publish-sign-modules/)** — validate, package, and sign bundles for secure distribution. +- **[Modules & Sources (Hub)](../modules-sources/)** — operator-side view of module registries and installation. diff --git a/src/content/docs/module-cluster-crds.mdx b/src/content/docs/module-cluster-crds.mdx index 9961fd9..93e41e5 100644 --- a/src/content/docs/module-cluster-crds.mdx +++ b/src/content/docs/module-cluster-crds.mdx @@ -31,7 +31,7 @@ Module materializes a GameTemplate from a signed or pinned module bundle sourced | `spec.name` | string | yes | Logical module name within the source (must match `modulesource.status.modules[].name`) | | `spec.version` | string | no | Specific semver to install; omit to track `modulesource.status.modules[].latestVersion` | | `spec.digest` | string | no | OCI manifest digest (`sha256:…`), git commit (`git:`), or content hash to pin exact bundle content and detect drift | -| `status.phase` | enum | read-only | Pending / Pulling / Ready / Failed — see [Status, Phases & Conditions](./status-phases-conditions/) | +| `status.phase` | enum | read-only | Pending / Pulling / Ready / Failed — see [Status, Phases & Conditions](../status-phases-conditions/) | | `status.appliedVersion` | string | read-only | Version currently materialized into the owned GameTemplate | | `status.appliedTemplate` | string | read-only | Name of the GameTemplate this Module owns (equals `metadata.name` on success) | @@ -102,8 +102,8 @@ The Cluster CRD registers a remote Kubernetes cluster for multi-cluster deployme ## Related topics -- **[Module Authoring](./module-authoring/)** — write a game module and publish it. -- **[Test, Publish & Sign Modules](./test-publish-sign-modules/)** — build, sign with cosign, and push bundles. -- **[CRD Catalog](./crd-catalog/)** — overview of all 9 Gameplane CRDs. -- **[Status, Phases & Conditions](./status-phases-conditions/)** — how to interpret phase and condition values. -- **[Multi-cluster Topology](./multi-cluster/)** — register and manage remote clusters. +- **[Module Authoring](../module-authoring/)** — write a game module and publish it. +- **[Test, Publish & Sign Modules](../test-publish-sign-modules/)** — build, sign with cosign, and push bundles. +- **[CRD Catalog](../crd-catalog/)** — overview of all 9 Gameplane CRDs. +- **[Status, Phases & Conditions](../status-phases-conditions/)** — how to interpret phase and condition values. +- **[Multi-cluster Topology](../multi-cluster/)** — register and manage remote clusters. diff --git a/src/content/docs/multi-cluster.mdx b/src/content/docs/multi-cluster.mdx index face143..e28361f 100644 --- a/src/content/docs/multi-cluster.mdx +++ b/src/content/docs/multi-cluster.mdx @@ -94,7 +94,7 @@ Promote `Cluster` CRs, `GameTemplate`, and `Module` manifests through version co ## Related topics -- [Cluster Nodes & Kubeconfig](./cluster-nodes-kubeconfig/) — Register and manage target clusters and their connection credentials. -- [High Availability](./high-availability/) — Replicate the control plane for production resilience. -- [Backups & Recovery](./backups-recovery/) — Back up game worlds and move them between clusters. -- [Users, Auth & RBAC](./users-auth-rbac/) — Set up authentication and role bindings per cluster. +- [Cluster Nodes & Kubeconfig](../cluster-nodes-kubeconfig/) — Register and manage target clusters and their connection credentials. +- [High Availability](../high-availability/) — Replicate the control plane for production resilience. +- [Backups & Recovery](../backups-recovery/) — Back up game worlds and move them between clusters. +- [Users, Auth & RBAC](../users-auth-rbac/) — Set up authentication and role bindings per cluster. diff --git a/src/content/docs/network-automation.mdx b/src/content/docs/network-automation.mdx index b27f39d..780b66e 100644 --- a/src/content/docs/network-automation.mdx +++ b/src/content/docs/network-automation.mdx @@ -93,7 +93,7 @@ When expose mode is LoadBalancer, optionally request a specific address pool or - `spec.networking.addressPool`: name of a load-balancer address pool (e.g., `"public-servers"` for MetalLB or Cilium). - `spec.networking.address`: specific IP address (e.g., `"203.0.113.50"`). -The operator translates these to your load-balancer flavor's annotations or labels. See the [Ingress, TLS & External Access](./ingress-tls-access/) guide for full details. +The operator translates these to your load-balancer flavor's annotations or labels. See the [Ingress, TLS & External Access](../ingress-tls-access/) guide for full details. ## Automate routine operations @@ -119,4 +119,4 @@ A **BackupSchedule** CRD runs backups on a recurring cron schedule. Each schedul --- -**Next guide:** [Backups and recovery](./backups-recovery/) +**Next guide:** [Backups and recovery](../backups-recovery/) diff --git a/src/content/docs/notification-events-payloads.mdx b/src/content/docs/notification-events-payloads.mdx index 5332662..7a599dc 100644 --- a/src/content/docs/notification-events-payloads.mdx +++ b/src/content/docs/notification-events-payloads.mdx @@ -172,4 +172,4 @@ Notifications only fire for transitions observed **while the API pod is running* --- -**Next:** [Platform Settings & Telemetry](./platform-settings-telemetry/) +**Next:** [Platform Settings & Telemetry](../platform-settings-telemetry/) diff --git a/src/content/docs/notification-sinks.mdx b/src/content/docs/notification-sinks.mdx index 7f83f02..a6ba53d 100644 --- a/src/content/docs/notification-sinks.mdx +++ b/src/content/docs/notification-sinks.mdx @@ -148,7 +148,7 @@ Notification delivery is **best-effort and never blocking** — a slow or down s ### Security -Notification egress is guarded by the same SSRF dial-guard as module source fetches. See [Security](./security/) for details. +Notification egress is guarded by the same SSRF dial-guard as module source fetches. See [Security](../security/) for details.
-Deferred items graduate off this list as they ship — the [changelog](./changelog/) has the release-by-release record. +Deferred items graduate off this list as they ship — the [changelog](../changelog/) has the release-by-release record. diff --git a/src/content/docs/security.mdx b/src/content/docs/security.mdx index 90bd333..26b60d0 100644 --- a/src/content/docs/security.mdx +++ b/src/content/docs/security.mdx @@ -30,4 +30,4 @@ mTLS with an operator-managed CA; the agent refuses plain HTTP once TLS material a fix before public disclosure. -The complete security model — pod security defaults, network policies, and module signature verification — is documented in the [security doc on GitHub](https://github.com/ValgulNecron/Gameplane/blob/main/docs/security.md). +The complete security model — pod security defaults, network policies, and module signature verification — is documented in the [security doc on GitHub](https://github.com/ValgulNecron/Gameplane/blob/master/docs/security.md). diff --git a/src/content/docs/server-configuration.mdx b/src/content/docs/server-configuration.mdx index 95631be..256a7b3 100644 --- a/src/content/docs/server-configuration.mdx +++ b/src/content/docs/server-configuration.mdx @@ -197,7 +197,7 @@ spec: ### Per-server access control -The dashboard and API enforce role-based access control on a per-GameServer basis. Owners and admins can modify any setting; other users are blocked by the operator unless their role grants `servers:write`. See the [Permission Catalog](./permission-catalog/) for the full matrix of role capabilities. +The dashboard and API enforce role-based access control on a per-GameServer basis. Owners and admins can modify any setting; other users are blocked by the operator unless their role grants `servers:write`. See the [Permission Catalog](../permission-catalog/) for the full matrix of role capabilities. ### Safety boundaries: Ownership and danger zone @@ -208,7 +208,7 @@ Three destructive operations require explicit safeguards: 3. **Delete:** Removes the GameServer, its StatefulSet, and all associated resources, including data. Deletion is immediate once confirmed; backups are your only recovery path. -Before a user or operator deletes a server, ensure a recent backup exists. Enable [Backups & Recovery](./backups-recovery/) and set up a backup destination (S3, Azure Blob, or on-cluster Restic) as part of your operational runbook. +Before a user or operator deletes a server, ensure a recent backup exists. Enable [Backups & Recovery](../backups-recovery/) and set up a backup destination (S3, Azure Blob, or on-cluster Restic) as part of your operational runbook. -For provider-specific setup steps, see [Users, Auth & RBAC](./users-auth-rbac/). +For provider-specific setup steps, see [Users, Auth & RBAC](../users-auth-rbac/). ## Diagnose a failed sign-in diff --git a/src/content/docs/supported-versions-matrix.mdx b/src/content/docs/supported-versions-matrix.mdx index 31df6c0..068a407 100644 --- a/src/content/docs/supported-versions-matrix.mdx +++ b/src/content/docs/supported-versions-matrix.mdx @@ -44,10 +44,10 @@ Baseline tool versions for building, extending, and testing Gameplane. Gameplane follows semantic versioning. Beta releases (`v0.x.0-betaY`) include significant features and are suitable for testing and non-critical deployments. Stable releases (`v1.0.0+`) are production-ready with long-term support. **Current stable release:** v0.2.0-beta.8 (latest published) -**Development release:** v0.3.0-rc.1 (tagged, not published as a release; see [Changelog](./changelog/) for v0.3.0 features) +**Development release:** v0.3.0-rc.1 (tagged, not published as a release; see [Changelog](../changelog/) for v0.3.0 features) Deprecation notices for upcoming major or breaking changes appear in release notes and this reference page. ## Next guide -[Uninstall & Decommission](./uninstall-decommission/) +[Uninstall & Decommission](../uninstall-decommission/) diff --git a/src/content/docs/template-configuration.mdx b/src/content/docs/template-configuration.mdx index e81f088..b23ecb9 100644 --- a/src/content/docs/template-configuration.mdx +++ b/src/content/docs/template-configuration.mdx @@ -101,6 +101,6 @@ Never pass secrets via plain ConfigFields of type `string`. Always use the `pass ## See also -- [General Server Settings](./general-server-settings/) — CPU, memory, and environment variables -- [Server Configuration](./server-configuration/) — hub overview of all server settings -- [Backups & Recovery](./backups-recovery/) — world save protection strategies +- [General Server Settings](../general-server-settings/) — CPU, memory, and environment variables +- [Server Configuration](../server-configuration/) — hub overview of all server settings +- [Backups & Recovery](../backups-recovery/) — world save protection strategies diff --git a/src/content/docs/test-publish-sign-modules.mdx b/src/content/docs/test-publish-sign-modules.mdx index c49ae06..b49860b 100644 --- a/src/content/docs/test-publish-sign-modules.mdx +++ b/src/content/docs/test-publish-sign-modules.mdx @@ -84,6 +84,6 @@ For production releases, enable `--tlog-upload=true` to record signatures in the ## Further reading -- [Module Authoring](./module-authoring/) — full schema reference for `module.yaml` and `template.yaml`. -- [Module Authoring Quickstart](./module-authoring-quickstart/) — scaffolding and validation with `gp-module`. -- [REST API Reference](./rest-api-reference/) — API endpoints for module catalog and installation. +- [Module Authoring](../module-authoring/) — full schema reference for `module.yaml` and `template.yaml`. +- [Module Authoring Quickstart](../module-authoring-quickstart/) — scaffolding and validation with `gp-module`. +- [REST API Reference](../rest-api-reference/) — API endpoints for module catalog and installation. diff --git a/src/content/docs/testing-coverage-e2e.mdx b/src/content/docs/testing-coverage-e2e.mdx index 618f732..b9c6ea7 100644 --- a/src/content/docs/testing-coverage-e2e.mdx +++ b/src/content/docs/testing-coverage-e2e.mdx @@ -74,4 +74,4 @@ Use `BUCKET= make test-e2e-bucket` to run a single bucket locally against ## Next guide -[Contribution and design workflow](./contribution-design-workflow/) +[Contribution and design workflow](../contribution-design-workflow/) diff --git a/src/content/docs/troubleshooting.mdx b/src/content/docs/troubleshooting.mdx index e6ab7ef..0836dc0 100644 --- a/src/content/docs/troubleshooting.mdx +++ b/src/content/docs/troubleshooting.mdx @@ -64,4 +64,4 @@ When local checks are exhausted, share a minimal reproducible case without secre ## Next guides -- [FAQ and community support](./faq/) +- [FAQ and community support](../faq/) diff --git a/src/content/docs/uninstall-decommission.mdx b/src/content/docs/uninstall-decommission.mdx index aa14887..ca9c7c0 100644 --- a/src/content/docs/uninstall-decommission.mdx +++ b/src/content/docs/uninstall-decommission.mdx @@ -228,6 +228,6 @@ This approach allows zero-downtime migration if you can tolerate a brief reconci ## See also -- [Platform disaster recovery](./platform-disaster-recovery/) — recover from cluster failure, restore all data, and re-register multi-cluster topology. -- [Backup & recovery](./backups-recovery/) — backup retention policies and restore procedures. -- [Kubernetes maintenance](./kubernetes-maintenance/) — node drains, cluster upgrades, and capacity management. +- [Platform disaster recovery](../platform-disaster-recovery/) — recover from cluster failure, restore all data, and re-register multi-cluster topology. +- [Backup & recovery](../backups-recovery/) — backup retention policies and restore procedures. +- [Kubernetes maintenance](../kubernetes-maintenance/) — node drains, cluster upgrades, and capacity management. diff --git a/src/content/docs/upgrades-migrations.mdx b/src/content/docs/upgrades-migrations.mdx index 388c237..479450d 100644 --- a/src/content/docs/upgrades-migrations.mdx +++ b/src/content/docs/upgrades-migrations.mdx @@ -72,8 +72,8 @@ helm list -n gameplane-system Most releases are backward-compatible, but some introduce schema changes or require manual steps. Always check: -- [CHANGELOG](./changelog/) — upgrade notes at the top of the release section -- [Supported Versions Matrix](./supported-versions-matrix/) — which clusters/Kubernetes versions are compatible +- [CHANGELOG](../changelog/) — upgrade notes at the top of the release section +- [Supported Versions Matrix](../supported-versions-matrix/) — which clusters/Kubernetes versions are compatible - Network changes — if the release adds new `NetworkPolicy` or changes to `spec.networking` - CRD migrations — if any CRD fields were removed, renamed, or changed in meaning @@ -212,7 +212,7 @@ Once 24 hours have passed without issues, backups of the pre-upgrade state becom If you encounter issues during upgrade: -- Check the [Troubleshooting](./troubleshooting/) guide for common errors and recovery steps. +- Check the [Troubleshooting](../troubleshooting/) guide for common errors and recovery steps. - Review operator logs: `kubectl logs -n gameplane-system deploy/gameplane-operator` -- Review the [CHANGELOG](./changelog/) for known issues in your target version. -- For help, reach out in the [community channels](./get-involved/). +- Review the [CHANGELOG](../changelog/) for known issues in your target version. +- For help, reach out in the [community channels](../get-involved/). diff --git a/src/content/docs/upload-a-module.mdx b/src/content/docs/upload-a-module.mdx index be98c07..df74c79 100644 --- a/src/content/docs/upload-a-module.mdx +++ b/src/content/docs/upload-a-module.mdx @@ -127,6 +127,6 @@ Never mutate a released module archive. Instead, version-bump and canary in para ## See also -- [Module Authoring](./module-authoring/) — author, scaffold, and validate modules end-to-end -- [Test, Publish & Sign Modules](./test-publish-sign-modules/) — publish to OCI registries and sign with cosign -- [Mod Registry Credentials](./mod-registry-credentials/) — configure external module sources (OCI, git, http, local) +- [Module Authoring](../module-authoring/) — author, scaffold, and validate modules end-to-end +- [Test, Publish & Sign Modules](../test-publish-sign-modules/) — publish to OCI registries and sign with cosign +- [Mod Registry Credentials](../mod-registry-credentials/) — configure external module sources (OCI, git, http, local) diff --git a/src/content/docs/user-administration.mdx b/src/content/docs/user-administration.mdx index 90ad32a..f9fb679 100644 --- a/src/content/docs/user-administration.mdx +++ b/src/content/docs/user-administration.mdx @@ -93,6 +93,6 @@ Periodically review: ## See also -- [Users, Auth & RBAC](./users-auth-rbac/) — Overview of authentication and role-based access control -- [Permission Catalog](./permission-catalog/) — Detailed permission definitions and role matrix -- [Audit, Observability & Admin](./audit-observability-admin/) — Monitor user actions and system events +- [Users, Auth & RBAC](../users-auth-rbac/) — Overview of authentication and role-based access control +- [Permission Catalog](../permission-catalog/) — Detailed permission definitions and role matrix +- [Audit, Observability & Admin](../audit-observability-admin/) — Monitor user actions and system events diff --git a/src/content/docs/users-auth-rbac.mdx b/src/content/docs/users-auth-rbac.mdx index 1452155..97f0e77 100644 --- a/src/content/docs/users-auth-rbac.mdx +++ b/src/content/docs/users-auth-rbac.mdx @@ -134,4 +134,4 @@ After deployment, admins can override role mappings through the dashboard withou --- -**Next guide:** [Audit, observability, and administration](./audit-observability-admin/) +**Next guide:** [Audit, observability, and administration](../audit-observability-admin/) diff --git a/src/content/docs/websocket-event-streams.mdx b/src/content/docs/websocket-event-streams.mdx index e7b137b..5e07378 100644 --- a/src/content/docs/websocket-event-streams.mdx +++ b/src/content/docs/websocket-event-streams.mdx @@ -38,7 +38,7 @@ The `/events` stream (Server-Sent Events) broadcasts Kubernetes watch notificati ## Authentication and scope -Sessions, origin rules, namespace, and cluster scope match the REST API; see [REST API Reference](./rest-api-reference/) for session validation and CSRF token requirements. +Sessions, origin rules, namespace, and cluster scope match the REST API; see [REST API Reference](../rest-api-reference/) for session validation and CSRF token requirements. WebSocket upgrades require a valid session, and adjacent REST mutations (e.g., sending commands while monitoring the console) still require CSRF tokens in the `X-Gameplane-CSRF` header.