From 708da86ee28957a6a39a6552cacd2c3f36eaf5ef Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 8 Oct 2026 00:25:42 +0000 Subject: [PATCH] chore: move repo references to the GameplanePanel org The repos moved from ValgulNecron to GameplanePanel (Gameplane, module, website). Rewrite every live reference with one scripted pass: GitHub links, the edit-this-page URL, prose repo names, the project-page fallback origin/base in src/config.ts (now gameplanepanel.github.io + /website) and ghcr.io paths for future releases. Install/upgrade docs keep ghcr.io/valgulnecron, since v0.3.0 and earlier are only published there, and gain a one-line note saying so. The changelog, website.pen and website-export/ are left untouched. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01F5nTEHSNk2CsAVrPbgpCq6 Signed-off-by: Claude --- AGENTS.md | 4 ++-- README.md | 6 +++--- src/components/docs/DocsEditPageCard.astro | 2 +- src/config.ts | 8 ++++---- src/content/docs/air-gapped-installation.mdx | 1 + src/content/docs/architecture.mdx | 2 +- src/content/docs/ci-releases-signing.mdx | 2 +- src/content/docs/cluster-nodes-kubeconfig.mdx | 2 ++ src/content/docs/comparison.mdx | 2 +- src/content/docs/console-protocols.mdx | 2 +- src/content/docs/contributing.mdx | 6 +++--- src/content/docs/crd-catalog.mdx | 4 ++-- src/content/docs/executable-upgrades-rollback.mdx | 2 ++ src/content/docs/get-involved.mdx | 2 +- src/content/docs/getting-started.mdx | 2 ++ src/content/docs/helm-values-reference.mdx | 4 +++- src/content/docs/installation.mdx | 4 +++- src/content/docs/module-authoring.mdx | 8 ++++---- src/content/docs/module-cluster-crds.mdx | 2 +- src/content/docs/modules-sources.mdx | 2 +- src/content/docs/platform-disaster-recovery.mdx | 2 ++ src/content/docs/production-installation.mdx | 2 ++ src/content/docs/remote-agent-gateway.mdx | 2 +- src/content/docs/repository-components.mdx | 4 ++-- src/content/docs/security.mdx | 2 +- src/content/docs/upgrades-migrations.mdx | 2 ++ src/content/docs/users-auth-rbac.mdx | 2 +- 27 files changed, 50 insertions(+), 33 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 2361c75..bc3385f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # gameplane-website — AI assistant guide -Public marketing + docs site for Gameplane; the `website/` submodule of `ValgulNecron/Gameplane`. Static Astro, strict TypeScript, Tailwind CSS 4, no client framework. Default branch: `main`. +Public marketing + docs site for Gameplane; the `website/` submodule of `GameplanePanel/Gameplane`. Static Astro, strict TypeScript, Tailwind CSS 4, no client framework. Default branch: `main`. ## House rules @@ -13,7 +13,7 @@ Public marketing + docs site for Gameplane; the `website/` submodule of `ValgulN ## Architecture - **Semantic tokens only:** Tailwind utilities backed by CSS custom properties in `src/styles/global.css` (`bg-background`, `text-foreground`, `text-primary`, …), never raw hex — this keeps the `.theme-light` band on the landing page working. -- **Internal links via `withBase()`** (`src/lib/url.ts`): the site deploys under `/gameplane-website` on GitHub Pages, so bare root-relative hrefs 404. Markdown cross-doc links are relative (`./architecture/`). +- **Internal links via `withBase()`** (`src/lib/url.ts`): the site deploys under `/website` on GitHub Pages, so bare root-relative hrefs 404. Markdown cross-doc links are relative (`./architecture/`). - **Docs:** content collection `src/content/docs/*.mdx` (schema `src/content.config.ts`); sidebar order and prev/next derive from `src/lib/docs-nav.ts`, so adding a page is frontmatter-only. - OG/canonical meta use absolute URLs from `Astro.site`. Deployment config (origin, base path, GitHub URL, displayed version) lives in `src/config.ts`. diff --git a/README.md b/README.md index d5f2f40..6cbfc83 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # gameplane-website -Public marketing + documentation website for [Gameplane](https://github.com/ValgulNecron/Gameplane) — a Kubernetes-native game server control panel. +Public marketing + documentation website for [Gameplane](https://github.com/GameplanePanel/Gameplane) — a Kubernetes-native game server control panel. Live site: **https://gameplane.net/** Built with [Astro](https://astro.build), Tailwind CSS 4, and self-hosted JetBrains Mono / Geist fonts. Fully static — no client framework. -This repo is mounted as the `website/` git submodule of the main [Gameplane](https://github.com/ValgulNecron/Gameplane) repo. The visual source of truth is the **Group/Public Website** screens in the main repo's `design.pen` (Pencil); design changes happen there first, then get translated to code here. +This repo is mounted as the `website/` git submodule of the main [Gameplane](https://github.com/GameplanePanel/Gameplane) repo. The visual source of truth is the **Group/Public Website** screens in the main repo's `design.pen` (Pencil); design changes happen there first, then get translated to code here. ## Commands @@ -23,7 +23,7 @@ This repo is mounted as the `website/` git submodule of the main [Gameplane](htt Pushes to `main` deploy to GitHub Pages via `.github/workflows/deploy.yaml`. Pull requests are gated by `.github/workflows/ci.yaml` (lint, type-check, build). -The site is served from the root of the custom domain `gameplane.net` (`CUSTOM_DOMAIN` in `src/config.ts`, `public/CNAME`). All internal links go through `withBase()` from `src/lib/url.ts` — never hardcode root-relative hrefs, so unsetting `CUSTOM_DOMAIN` (base path `/gameplane-website`) keeps working. +The site is served from the root of the custom domain `gameplane.net` (`CUSTOM_DOMAIN` in `src/config.ts`, `public/CNAME`). All internal links go through `withBase()` from `src/lib/url.ts` — never hardcode root-relative hrefs, so unsetting `CUSTOM_DOMAIN` (base path `/website`) keeps working. ### Switching to a custom domain diff --git a/src/components/docs/DocsEditPageCard.astro b/src/components/docs/DocsEditPageCard.astro index b96abb5..69e6355 100644 --- a/src/components/docs/DocsEditPageCard.astro +++ b/src/components/docs/DocsEditPageCard.astro @@ -6,7 +6,7 @@ interface Props { githubUrl?: string; } -const { slug, githubUrl = "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/ValgulNecron/gameplane-website" } = Astro.props; +const { slug, githubUrl = "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/GameplanePanel/website" } = Astro.props; const editUrl = `${githubUrl}/edit/main/src/content/docs/${slug}.mdx`; --- diff --git a/src/config.ts b/src/config.ts index b768629..4067f26 100644 --- a/src/config.ts +++ b/src/config.ts @@ -2,11 +2,11 @@ // // The site deploys to GitHub Pages under the custom domain gameplane.net // (public/CNAME, Pages settings), so it is served from the root. Unset -// CUSTOM_DOMAIN to go back to the project-page path /gameplane-website. +// CUSTOM_DOMAIN to go back to the project-page path /website. const CUSTOM_DOMAIN: string | undefined = "https://gameplane.net"; -export const SITE = CUSTOM_DOMAIN ?? "https://valgulnecron.github.io"; -export const BASE = CUSTOM_DOMAIN ? "/" : "/gameplane-website"; +export const SITE = CUSTOM_DOMAIN ?? "https://gameplanepanel.github.io"; +export const BASE = CUSTOM_DOMAIN ? "/" : "/website"; -export const GITHUB_URL = "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/ValgulNecron/Gameplane"; +export const GITHUB_URL = "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/GameplanePanel/Gameplane"; export const VERSION = "v0.2.0-beta.8"; diff --git a/src/content/docs/air-gapped-installation.mdx b/src/content/docs/air-gapped-installation.mdx index 94c31bd..1e5e7cd 100644 --- a/src/content/docs/air-gapped-installation.mdx +++ b/src/content/docs/air-gapped-installation.mdx @@ -18,6 +18,7 @@ import DocsQuickReference from "../../components/docs/DocsQuickReference.astro"; 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. +Releases up to and including v0.3.0 are published under `ghcr.io/valgulnecron`, so this page uses that registry; releases after v0.3.0 move to `ghcr.io/gameplanepanel`. ## Build the release bundle diff --git a/src/content/docs/architecture.mdx b/src/content/docs/architecture.mdx index c8ff333..66c7534 100644 --- a/src/content/docs/architecture.mdx +++ b/src/content/docs/architecture.mdx @@ -58,4 +58,4 @@ The `Cluster` health phase reports Kubernetes connectivity and does not probe th 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/master/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/GameplanePanel/Gameplane/blob/master/docs/architecture.md). diff --git a/src/content/docs/ci-releases-signing.mdx b/src/content/docs/ci-releases-signing.mdx index bde2e00..69801cc 100644 --- a/src/content/docs/ci-releases-signing.mdx +++ b/src/content/docs/ci-releases-signing.mdx @@ -75,7 +75,7 @@ A `v` tag builds and signs images, packages the OCI chart, creates release notes items={[ "01 go build ./... && npx tsc --noEmit # Lightweight local compile checks", "02 git tag vX.Y.Z && git push origin vX.Y.Z", - "03 cosign verify --key cosign.pub ghcr.io/valgulnecron/gameplane/@", + "03 cosign verify --key cosign.pub ghcr.io/gameplanepanel/gameplane/@", ]} /> diff --git a/src/content/docs/cluster-nodes-kubeconfig.mdx b/src/content/docs/cluster-nodes-kubeconfig.mdx index a826b0f..7280299 100644 --- a/src/content/docs/cluster-nodes-kubeconfig.mdx +++ b/src/content/docs/cluster-nodes-kubeconfig.mdx @@ -17,6 +17,8 @@ import DocsQuickReference from "../../components/docs/DocsQuickReference.astro"; 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. +Releases up to and including v0.3.0 are published under `ghcr.io/valgulnecron`, so this page uses that registry; releases after v0.3.0 move to `ghcr.io/gameplanepanel`. + ## Read cluster and node health Confirm distribution, version, ready count, roles, pressure, uptime, pod capacity, CPU, and memory before changing infrastructure. diff --git a/src/content/docs/comparison.mdx b/src/content/docs/comparison.mdx index c91e75a..c49d7f4 100644 --- a/src/content/docs/comparison.mdx +++ b/src/content/docs/comparison.mdx @@ -21,4 +21,4 @@ Pterodactyl and CubeCoders AMP are control panels; Agones is a Kubernetes operat | Licensing | GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). | MIT License (Panel and Wings). | Proprietary; per-instance tiers (Standard/Professional/Advanced/Enterprise). | Apache License 2.0. | | Target operator scope (self-hosted vs. managed SaaS) | Self-hosted only; runs on Kubernetes (k3s, kubeadm, managed services); no managed SaaS offering. | Self-hosted only; requires Linux system capable of running Docker containers. | Self-installed on user hardware (Windows or Linux); no managed SaaS version. | Self-hosted operator software; runs anywhere Kubernetes can run. | -Sources for every cell: [docs/comparison-sources.md](https://github.com/ValgulNecron/Gameplane/blob/master/docs/comparison-sources.md) — Checked 2026-10-02. +Sources for every cell: [docs/comparison-sources.md](https://github.com/GameplanePanel/Gameplane/blob/master/docs/comparison-sources.md) — Checked 2026-10-02. diff --git a/src/content/docs/console-protocols.mdx b/src/content/docs/console-protocols.mdx index 7ad7070..431dfa5 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/master/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/GameplanePanel/Gameplane/blob/master/docs/module-authoring.md#rcon). diff --git a/src/content/docs/contributing.mdx b/src/content/docs/contributing.mdx index 12ca801..6766fd9 100644 --- a/src/content/docs/contributing.mdx +++ b/src/content/docs/contributing.mdx @@ -43,12 +43,12 @@ UI changes start in design.pen — the designed screens are the source of truth ## Game modules and submodules -Game-module changes belong in the separate `gameplane-module` repository, vendored here as the `modules/` submodule. Open the module PR there; once it merges, bump the submodule pointer in a follow-up PR. +Game-module changes belong in the separate `GameplanePanel/module` repository, vendored here as the `modules/` submodule. Open the module PR there; once it merges, bump the submodule pointer in a follow-up PR. `.gitmodules` points both submodules (`modules/`, `website/`) at the upstream GitHub URLs, so a fork clones them without forking them too. To work on your own fork of a submodule, repoint it locally and don't commit the change: ```sh -git submodule set-url modules https://github.com//gameplane-module.git +git submodule set-url modules https://github.com//module.git ``` -The full contribution guide, including per-component test commands and the release process, is in [contributing.md on GitHub](https://github.com/ValgulNecron/Gameplane/blob/master/docs/contributing.md). Release signing is covered in [CI, releases, and signing](../ci-releases-signing/). +The full contribution guide, including per-component test commands and the release process, is in [contributing.md on GitHub](https://github.com/GameplanePanel/Gameplane/blob/master/docs/contributing.md). Release signing is covered in [CI, releases, and signing](../ci-releases-signing/). diff --git a/src/content/docs/crd-catalog.mdx b/src/content/docs/crd-catalog.mdx index 7e1f773..f96338c 100644 --- a/src/content/docs/crd-catalog.mdx +++ b/src/content/docs/crd-catalog.mdx @@ -47,6 +47,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/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`. +- **Type definitions:** [`operator/api/v1alpha1` on GitHub](https://github.com/GameplanePanel/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/GameplanePanel/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/executable-upgrades-rollback.mdx b/src/content/docs/executable-upgrades-rollback.mdx index a1127f4..7f20ef7 100644 --- a/src/content/docs/executable-upgrades-rollback.mdx +++ b/src/content/docs/executable-upgrades-rollback.mdx @@ -19,6 +19,8 @@ import DocsQuickReference from "../../components/docs/DocsQuickReference.astro"; Use only the release-specific rollback window. +Releases up to and including v0.3.0 are published under `ghcr.io/valgulnecron`, so this page uses that registry; releases after v0.3.0 move to `ghcr.io/gameplanepanel`. + ## Preflight compatibility Define the supported source/target path and capture the complete current environment before changing it. diff --git a/src/content/docs/get-involved.mdx b/src/content/docs/get-involved.mdx index e7afce3..e2dadbd 100644 --- a/src/content/docs/get-involved.mdx +++ b/src/content/docs/get-involved.mdx @@ -43,7 +43,7 @@ import Icon from "../../components/Icon.astro"; Open GitHub diff --git a/src/content/docs/getting-started.mdx b/src/content/docs/getting-started.mdx index 4c60998..54e1c92 100644 --- a/src/content/docs/getting-started.mdx +++ b/src/content/docs/getting-started.mdx @@ -17,6 +17,8 @@ Kubernetes 1.28+, Helm 3.13+, and a default StorageClass. An ingress controller Pull the chart straight from GHCR and install with one helm upgrade --install command — no manual repo add needed. +Releases up to and including v0.3.0 are published under `ghcr.io/valgulnecron`, so this page uses that registry; releases after v0.3.0 move to `ghcr.io/gameplanepanel`. + ONE-SHOT INSTALL ```sh diff --git a/src/content/docs/helm-values-reference.mdx b/src/content/docs/helm-values-reference.mdx index 9021b79..d20e687 100644 --- a/src/content/docs/helm-values-reference.mdx +++ b/src/content/docs/helm-values-reference.mdx @@ -15,6 +15,8 @@ import DocsCallout from "../../components/docs/DocsCallout.astro"; 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. +Releases up to and including v0.3.0 are published under `ghcr.io/valgulnecron`, so this page uses that registry; releases after v0.3.0 move to `ghcr.io/gameplanepanel`. + ## Core and image settings Configure container images, registry access, and fundamental cluster behavior. @@ -215,4 +217,4 @@ networkPolicies: - 0.0.0.0/0 ``` -See the full [Helm chart values.yaml](https://github.com/ValgulNecron/Gameplane/blob/master/charts/gameplane/values.yaml) for all options and detailed comments. +See the full [Helm chart values.yaml](https://github.com/GameplanePanel/Gameplane/blob/master/charts/gameplane/values.yaml) for all options and detailed comments. diff --git a/src/content/docs/installation.mdx b/src/content/docs/installation.mdx index 811d5ca..e9d8e19 100644 --- a/src/content/docs/installation.mdx +++ b/src/content/docs/installation.mdx @@ -15,6 +15,8 @@ import DocsQuickReference from "../../components/docs/DocsQuickReference.astro"; 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. +Releases up to and including v0.3.0 are published under `ghcr.io/valgulnecron`, so this page uses that registry; releases after v0.3.0 move to `ghcr.io/gameplanepanel`. + ## Prerequisites and topology Start with a supported Kubernetes and Helm version, ready nodes, DNS, and a default or explicitly selected StorageClass. @@ -266,7 +268,7 @@ Create a simple test GameServer to verify the operator is reconciling correctly: ## Verifying image signatures -Every published image (tagged releases and `:edge`), the Helm chart, and official module bundles are signed with the project's cosign key, [`cosign.pub`](https://github.com/ValgulNecron/Gameplane/blob/master/cosign.pub), and recorded in the public Sigstore Rekor transparency log: +Every published image (tagged releases and `:edge`), the Helm chart, and official module bundles are signed with the project's cosign key, [`cosign.pub`](https://github.com/GameplanePanel/Gameplane/blob/master/cosign.pub), and recorded in the public Sigstore Rekor transparency log: ```bash cosign verify --key cosign.pub \ diff --git a/src/content/docs/module-authoring.mdx b/src/content/docs/module-authoring.mdx index d39c8e6..943800f 100644 --- a/src/content/docs/module-authoring.mdx +++ b/src/content/docs/module-authoring.mdx @@ -52,7 +52,7 @@ A module lives on disk as a directory holding four files: | `README.md` | no | Operator documentation, rendered in the catalog | | `icon.png` | no | 256×256 PNG for the dashboard catalog tile | -The official modules live in the standalone `gameplane-module` repository, checked out as the `modules/` submodule of the main Gameplane repo. +The official modules live in the standalone `GameplanePanel/module` repository, checked out as the `modules/` submodule of the main Gameplane repo. ## Module metadata (`module.yaml`) @@ -116,7 +116,7 @@ Then push a bundle from a module directory: ```sh oras push \ --artifact-type application/vnd.gameplane.module.v1+json \ - ghcr.io/valgulnecron/gameplane-modules/minecraft-java:1.0.0 \ + ghcr.io/gameplanepanel/gameplane-modules/minecraft-java:1.0.0 \ module.yaml:application/vnd.gameplane.module.metadata.v1+yaml \ template.yaml:application/vnd.gameplane.module.template.v1+yaml \ README.md:application/vnd.gameplane.module.readme.v1+md \ @@ -126,7 +126,7 @@ oras push \ Or use the Makefile target: ```sh -make modules-push REGISTRY=ghcr.io/valgulnecron/gameplane-modules +make modules-push REGISTRY=ghcr.io/gameplanepanel/gameplane-modules ``` For private registries, log in once with `oras login `. The cluster uses a `kubernetes.io/dockerconfigjson` secret (`ModuleSource.spec.oci.pullSecretRef`) — the same credential format kubelet uses for private images. @@ -146,7 +146,7 @@ metadata: { name: community } spec: type: oci # oci | git | http | local | upload oci: - url: ghcr.io/valgulnecron/gameplane-modules + url: ghcr.io/gameplanepanel/gameplane-modules modules: [{ name: minecraft-java }] # explicit list verify: # optional, supply-chain security key: { name: cosign-pub } # signed with cosign ECDSA key diff --git a/src/content/docs/module-cluster-crds.mdx b/src/content/docs/module-cluster-crds.mdx index e26fab2..f1dbbda 100644 --- a/src/content/docs/module-cluster-crds.mdx +++ b/src/content/docs/module-cluster-crds.mdx @@ -38,7 +38,7 @@ ModuleSource indexes a module catalog (OCI registry, git repo, HTTP archive, or |---|---|---|---| | `spec.type` | enum | no | oci / git / http / local / upload — selects which of spec.oci/git/http/local is active; defaults to `oci` | | `spec.oci` | object | conditional | OCI registry config (required if `type=oci`) | -| `spec.oci.url` | string | yes | Registry/repository prefix (e.g., `ghcr.io/valgulnecron/gameplane-modules`) | +| `spec.oci.url` | string | yes | Registry/repository prefix (e.g., `ghcr.io/gameplanepanel/gameplane-modules`) | | `spec.oci.modules` | array | yes | Explicit list of `{name: string}` entries; registries cannot be enumerated, so the catalog is declarative | | `spec.oci.pullSecretRef` | LocalObjectReference | no | Secret in operator namespace holding `kubernetes.io/dockerconfigjson` credentials for private registries | | `spec.oci.insecure` | bool | no | Allow plain HTTP (no TLS) — for local kind/k3d registries only; never use on production | diff --git a/src/content/docs/modules-sources.mdx b/src/content/docs/modules-sources.mdx index 9e3fbfa..1e9945f 100644 --- a/src/content/docs/modules-sources.mdx +++ b/src/content/docs/modules-sources.mdx @@ -78,7 +78,7 @@ Sources can represent OCI, Git, archive, upload, or registry-backed discovery wi A **ModuleSource** is a cluster-scoped CRD that points to one module store and declares credentials, refresh timing, and policy constraints. The operator reconciles each source on a configurable interval (default: 1 hour) and maintains a `Synced` condition reflecting the last pull. If a sync fails, the condition captures the error. -The chart's `defaultModuleSource` picks one of two backends via `type`: OCI registry (pull pre-built, cosign-signed bundles — recommended for production) or Git repository (index the `gameplane-module` repo directly for rapid iteration). A separate `uploadModuleSource` block (enabled by default) accepts modules uploaded through the dashboard, stored as ConfigMaps in the operator namespace. +The chart's `defaultModuleSource` picks one of two backends via `type`: OCI registry (pull pre-built, cosign-signed bundles — recommended for production) or Git repository (index the `GameplanePanel/module` repo directly for rapid iteration). A separate `uploadModuleSource` block (enabled by default) accepts modules uploaded through the dashboard, stored as ConfigMaps in the operator namespace. Disable the default if you manage ModuleSource resources via GitOps, or create additional sources to index private registries or custom catalogs. The ModuleSource CRD also supports HTTP (tar.gz/zip archives) and local directory backends for specialized use cases. diff --git a/src/content/docs/platform-disaster-recovery.mdx b/src/content/docs/platform-disaster-recovery.mdx index d973fe6..6872216 100644 --- a/src/content/docs/platform-disaster-recovery.mdx +++ b/src/content/docs/platform-disaster-recovery.mdx @@ -19,6 +19,8 @@ import DocsQuickReference from "../../components/docs/DocsQuickReference.astro"; A world backup only captures game data. To recover from a platform-wide outage (cluster loss, database corruption, credential compromise), you must also capture and restore Gameplane's own state: release versions, configuration, CRDs, database, encryption keys, identity providers, repository credentials, DNS, TLS certificates, and ownership records. +Releases up to and including v0.3.0 are published under `ghcr.io/valgulnecron`, so this page uses that registry; releases after v0.3.0 move to `ghcr.io/gameplanepanel`. + +Releases up to and including v0.3.0 are published under `ghcr.io/valgulnecron`, so this page uses that registry; releases after v0.3.0 move to `ghcr.io/gameplanepanel`. + ## Establish a production baseline Pin every artifact and make environment ownership explicit before the first workload reaches the cluster. diff --git a/src/content/docs/remote-agent-gateway.mdx b/src/content/docs/remote-agent-gateway.mdx index 91bbf17..263fbdb 100644 --- a/src/content/docs/remote-agent-gateway.mdx +++ b/src/content/docs/remote-agent-gateway.mdx @@ -54,7 +54,7 @@ The gateway also requires an exact `gateway.peerURI` URI SAN in the central clie ## Deploy the gateway with Helm -Adapt the [example values](https://github.com/ValgulNecron/Gameplane/blob/master/charts/gameplane/examples/gateway-values.yaml) for a fresh remote installation: +Adapt the [example values](https://github.com/GameplanePanel/Gameplane/blob/master/charts/gameplane/examples/gateway-values.yaml) for a fresh remote installation: ```yaml api: diff --git a/src/content/docs/repository-components.mdx b/src/content/docs/repository-components.mdx index af26ca1..097945a 100644 --- a/src/content/docs/repository-components.mdx +++ b/src/content/docs/repository-components.mdx @@ -70,8 +70,8 @@ The repository joins runtime components, shared libraries, optional services, pa - **`web/`** — React 19 + TypeScript + Vite dashboard with TanStack Router, Query, and Tailwind CSS. Routes are defined in `src/routes/` and compiled into the API's static file server. - **`charts/`** — Helm chart for production installations; includes Kubernetes manifests generated from operator CRDs. - **`deploy/kind/`** — Local Kind cluster scripts for development. -- **`modules/`** — Submodule linking to `gameplane-module` repository; contains 30 game templates on master: 16 shipped in v0.2.0-beta.8 and the other 14 arrive in v0.3.0. -- **`website/`** — Submodule linking to `gameplane-website` repository; Astro-based marketing and documentation site. +- **`modules/`** — Submodule linking to `GameplanePanel/module` repository; contains 30 game templates on master: 16 shipped in v0.2.0-beta.8 and the other 14 arrive in v0.3.0. +- **`website/`** — Submodule linking to `GameplanePanel/website` repository; Astro-based marketing and documentation site. ## Runtime request path diff --git a/src/content/docs/security.mdx b/src/content/docs/security.mdx index 3a49449..4eb00bd 100644 --- a/src/content/docs/security.mdx +++ b/src/content/docs/security.mdx @@ -34,4 +34,4 @@ In v0.3.0, remote clusters can run an optional [agent gateway](../remote-agent-g 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/master/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/GameplanePanel/Gameplane/blob/master/docs/security.md). diff --git a/src/content/docs/upgrades-migrations.mdx b/src/content/docs/upgrades-migrations.mdx index 1ecddfa..5bb2854 100644 --- a/src/content/docs/upgrades-migrations.mdx +++ b/src/content/docs/upgrades-migrations.mdx @@ -17,6 +17,8 @@ import DocsQuickReference from "../../components/docs/DocsQuickReference.astro"; Gameplane releases are pinned with signed container images and strict Kubernetes compatibility. Every upgrade is reversible if planned carefully; every migration is documented in the release notes. +Releases up to and including v0.3.0 are published under `ghcr.io/valgulnecron`, so this page uses that registry; releases after v0.3.0 move to `ghcr.io/gameplanepanel`. + Do not combine a platform upgrade with unrelated server, storage, authentication, or network changes. Each change introduces risk vectors; combining them makes root-cause analysis impossible when something breaks. diff --git a/src/content/docs/users-auth-rbac.mdx b/src/content/docs/users-auth-rbac.mdx index 3228b15..4632f4d 100644 --- a/src/content/docs/users-auth-rbac.mdx +++ b/src/content/docs/users-auth-rbac.mdx @@ -120,7 +120,7 @@ Helm role mappings eliminate the need for a `bootstrap-admin` account in OIDC-on When deploying with Helm, set `api.oidc.enabled=true`, `api.oidc.groupsClaim` to the name of your IdP's groups claim (e.g., `"groups"`), and configure `api.oidc.roleMappings.{admin,operator,viewer}` with a list of group names for each role. On first login, Gameplane matches the user's group membership against the mappings and assigns the highest-privilege matching role. -After deployment, admins can override role mappings through the dashboard without restarting the API. Helm upgrades preserve dashboard customizations — they do not overwrite group mappings that have already been edited in the UI. For detailed Helm value examples and troubleshooting, see the [OIDC provider setup documentation](https://github.com/ValgulNecron/Gameplane/blob/master/docs/oidc.md#role-mapping-at-install-time-no-bootstrap-admin-required) on GitHub. +After deployment, admins can override role mappings through the dashboard without restarting the API. Helm upgrades preserve dashboard customizations — they do not overwrite group mappings that have already been edited in the UI. For detailed Helm value examples and troubleshooting, see the [OIDC provider setup documentation](https://github.com/GameplanePanel/Gameplane/blob/master/docs/oidc.md#role-mapping-at-install-time-no-bootstrap-admin-required) on GitHub.