From df1d0c46ef479218ea1c5a74c4b3a8ebd43b57d9 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 11 Nov 2026 15:50:16 +0000 Subject: [PATCH] docs: point install and upgrade docs at the v0.4.0 release v0.4.0 is published under ghcr.io/gameplanepanel. Bump the displayed VERSION, switch chart/image/module references from ghcr.io/valgulnecron to ghcr.io/gameplanepanel, use 0.4.0 in install, upgrade and air-gapped examples, and move the roadmap's unreleased section to Shipped in v0.4.0. Co-Authored-By: Claude Opus 5.5 Signed-off-by: Claude --- src/config.ts | 2 +- src/content/docs/air-gapped-installation.mdx | 64 +++++++++---------- src/content/docs/cluster-nodes-kubeconfig.mdx | 6 +- .../docs/executable-upgrades-rollback.mdx | 4 +- src/content/docs/getting-started.mdx | 6 +- src/content/docs/helm-values-reference.mdx | 4 +- src/content/docs/installation.mdx | 20 +++--- .../docs/platform-disaster-recovery.mdx | 6 +- src/content/docs/production-installation.mdx | 12 ++-- src/content/docs/roadmap.mdx | 12 ++-- src/content/docs/upgrades-migrations.mdx | 10 +-- src/pages/index.astro | 4 +- 12 files changed, 76 insertions(+), 74 deletions(-) diff --git a/src/config.ts b/src/config.ts index e3326e3..277505b 100644 --- a/src/config.ts +++ b/src/config.ts @@ -9,4 +9,4 @@ export const SITE = CUSTOM_DOMAIN ?? "https://gameplanepanel.github.io"; export const BASE = CUSTOM_DOMAIN ? "/" : "/website"; export const GITHUB_URL = "https://github.com/GameplanePanel/Gameplane"; -export const VERSION = "v0.3.0"; +export const VERSION = "v0.4.0"; diff --git a/src/content/docs/air-gapped-installation.mdx b/src/content/docs/air-gapped-installation.mdx index d5a4352..7ce870c 100644 --- a/src/content/docs/air-gapped-installation.mdx +++ b/src/content/docs/air-gapped-installation.mdx @@ -18,7 +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`. +Releases from v0.4.0 are published under `ghcr.io/gameplanepanel`, which this page uses; v0.3.0 and earlier releases stay under `ghcr.io/valgulnecron`. ## Build the release bundle @@ -48,24 +48,24 @@ Inventory, verify, and mirror all artifacts by digest before entering the restri Collect **all of the following by digest** (immutable hash references, not mutable tags): -- **Helm chart** — `oci://ghcr.io/valgulnecron/charts/gameplane:` and its SBOMs (Software Bill of Materials) +- **Helm chart** — `oci://ghcr.io/gameplanepanel/charts/gameplane:` and its SBOMs (Software Bill of Materials) - **Container images** — the four mandatory images: - - `ghcr.io/valgulnecron/gameplane/operator:` - - `ghcr.io/valgulnecron/gameplane/api:` - - `ghcr.io/valgulnecron/gameplane/web:` - - `ghcr.io/valgulnecron/gameplane/agent:` + - `ghcr.io/gameplanepanel/gameplane/operator:` + - `ghcr.io/gameplanepanel/gameplane/api:` + - `ghcr.io/gameplanepanel/gameplane/web:` + - `ghcr.io/gameplanepanel/gameplane/agent:` - **Optional images** (if enabled in values) — pulled per-feature: - `busybox` (via `operator.configInitImage`, defaults to Docker Hub) - `restic/restic` (via `operator.resticImage`, defaults to Docker Hub) - - `ghcr.io/valgulnecron/gameplane/sentinel` (wake-on-connect, optional) - - `ghcr.io/valgulnecron/gameplane/capture-sidecar` (packet capture, optional) - - `ghcr.io/valgulnecron/gameplane/audit-syslog-bridge` (audit relay, optional) - - `ghcr.io/valgulnecron/gameplane/telemetry-receiver` (usage metrics, optional) - - `ghcr.io/valgulnecron/gameplane/mcp-server` (AI integration, optional) - - `ghcr.io/valgulnecron/gameplane/tunnel-frp` (via `tunnelImages.frp`, relay tunnel components, optional) - - `ghcr.io/valgulnecron/gameplane/tunnel-tailscale` (via `tunnelImages.tailscale`, relay tunnel components, optional) - - `ghcr.io/valgulnecron/gameplane/tunnel-playit` (via `tunnelImages.playit`, relay tunnel components, optional) -- **Game modules** — all bundles from `ghcr.io/valgulnecron/gameplane-modules`, versioned per your module source config + - `ghcr.io/gameplanepanel/gameplane/sentinel` (wake-on-connect, optional) + - `ghcr.io/gameplanepanel/gameplane/capture-sidecar` (packet capture, optional) + - `ghcr.io/gameplanepanel/gameplane/audit-syslog-bridge` (audit relay, optional) + - `ghcr.io/gameplanepanel/gameplane/telemetry-receiver` (usage metrics, optional) + - `ghcr.io/gameplanepanel/gameplane/mcp-server` (AI integration, optional) + - `ghcr.io/gameplanepanel/gameplane/tunnel-frp` (via `tunnelImages.frp`, relay tunnel components, optional) + - `ghcr.io/gameplanepanel/gameplane/tunnel-tailscale` (via `tunnelImages.tailscale`, relay tunnel components, optional) + - `ghcr.io/gameplanepanel/gameplane/tunnel-playit` (via `tunnelImages.playit`, relay tunnel components, optional) +- **Game modules** — all bundles from `ghcr.io/gameplanepanel/gameplane-modules`, versioned per your module source config - **CRD manifests** — the CRD schemas (bundled in the chart) - **CRD-apply hook image** — the `kubectl` image behind `crds.autoApply.image` (default `registry.k8s.io/kubectl:v1.36.3`). The hook runs on every `helm upgrade`, and also on a `helm install` over Gameplane CRDs that an earlier, uninstalled release left behind. A genuinely fresh first install does not run it. Any image with `kubectl` on its `PATH` works. - **Cosign public keys** — `cosign.pub` (current key, ECDSA P-256) and `cosign-legacy.pub` (pre-rotation, Ed25519) @@ -78,15 +78,15 @@ Every image and the chart are signed with cosign. Before mirroring, verify the s ```sh # Verify operator image cosign verify --key cosign.pub \ - ghcr.io/valgulnecron/gameplane/operator:0.3.0 + ghcr.io/gameplanepanel/gameplane/operator:0.4.0 # Verify chart cosign verify --key cosign.pub \ - ghcr.io/valgulnecron/charts/gameplane:0.3.0 + ghcr.io/gameplanepanel/charts/gameplane:0.4.0 # Game modules are signed the same way cosign verify --key cosign.pub \ - ghcr.io/valgulnecron/gameplane-modules/minecraft:1.20.4 + ghcr.io/gameplanepanel/gameplane-modules/minecraft:1.20.4 ``` Extract the digest from the verified signature and record it. On pre-rotation releases (v0.2.0-beta.7 and earlier), use `cosign-legacy.pub` with `--insecure-ignore-tlog=true` instead. @@ -98,20 +98,20 @@ Use `crane` (Google's OCI tool) or your registry vendor's mirror command to copy ```sh # Mirror operator image to private registry crane copy \ - ghcr.io/valgulnecron/gameplane/operator:0.3.0 \ - registry.internal.corp/gameplane/operator:0.3.0 + ghcr.io/gameplanepanel/gameplane/operator:0.4.0 \ + registry.internal.corp/gameplane/operator:0.4.0 # Mirror Helm chart crane copy \ - ghcr.io/valgulnecron/charts/gameplane:0.3.0 \ - registry.internal.corp/gameplane/charts-gameplane:0.3.0 + ghcr.io/gameplanepanel/charts/gameplane:0.4.0 \ + registry.internal.corp/gameplane/charts-gameplane:0.4.0 ``` Mirrors must preserve the digest — verify the copied artifacts have the same digest as the source: ```sh -crane digest ghcr.io/valgulnecron/gameplane/operator:0.3.0 -crane digest registry.internal.corp/gameplane/operator:0.3.0 +crane digest ghcr.io/gameplanepanel/gameplane/operator:0.4.0 +crane digest registry.internal.corp/gameplane/operator:0.4.0 # Both must print the same sha256:... ``` @@ -190,7 +190,7 @@ Configure Helm to use it: ```sh helm upgrade --install gameplane oci://registry.internal.corp/gameplane/charts-gameplane \ - --version 0.3.0 \ + --version 0.4.0 \ --namespace gameplane-system --create-namespace \ --set image.pullSecrets[0].name=registry-creds ``` @@ -202,19 +202,19 @@ For every image in the chart values, rewrite the registry hostname but **never c ```yaml # Default image: - registry: ghcr.io/valgulnecron - tag: "0.3.0" + registry: ghcr.io/gameplanepanel/gameplane + tag: "0.4.0" # Rewritten for internal registry (same tag, different registry) image: registry: registry.internal.corp/gameplane - tag: "0.3.0" + tag: "0.4.0" # Override optional image pulls operator: configInitImage: registry.internal.corp/busybox # instead of busybox resticImage: registry.internal.corp/restic:latest # instead of restic/restic - sentinelImage: registry.internal.corp/gameplane/sentinel:0.3.0 + sentinelImage: registry.internal.corp/gameplane/sentinel:0.4.0 # Mirror the CRD-apply hook's kubectl image (needed at upgrade time and on # an install over leftover CRDs) @@ -246,7 +246,7 @@ Before disconnecting from the public internet, render the final manifest to conf ```sh helm template gameplane oci://registry.internal.corp/gameplane/charts-gameplane \ - --version 0.3.0 \ + --version 0.4.0 \ --namespace gameplane-system \ -f values-offline.yaml \ > manifests.yaml @@ -264,7 +264,7 @@ Apply the rendered manifest or use Helm with your internal registry: ```sh helm upgrade --install gameplane oci://registry.internal.corp/gameplane/charts-gameplane \ - --version 0.3.0 \ + --version 0.4.0 \ --namespace gameplane-system --create-namespace \ -f values-offline.yaml ``` @@ -324,7 +324,7 @@ Download the next release bundle (same process), mirror it, and upgrade: ```sh helm upgrade gameplane oci://registry.internal.corp/gameplane/charts-gameplane \ - --version 0.3.0 \ + --version 0.4.0 \ --namespace gameplane-system ``` diff --git a/src/content/docs/cluster-nodes-kubeconfig.mdx b/src/content/docs/cluster-nodes-kubeconfig.mdx index 2102445..17225be 100644 --- a/src/content/docs/cluster-nodes-kubeconfig.mdx +++ b/src/content/docs/cluster-nodes-kubeconfig.mdx @@ -17,7 +17,7 @@ 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`. +Releases from v0.4.0 are published under `ghcr.io/gameplanepanel`, which this page uses; v0.3.0 and earlier releases stay under `ghcr.io/valgulnecron`. ## Read cluster and node health @@ -99,8 +99,8 @@ clusterOps: Then redeploy: ```bash -helm upgrade gameplane oci://ghcr.io/valgulnecron/charts/gameplane \ - --version 0.3.0 \ +helm upgrade gameplane oci://ghcr.io/gameplanepanel/charts/gameplane \ + --version 0.4.0 \ --set clusterOps.enabled=true ``` diff --git a/src/content/docs/executable-upgrades-rollback.mdx b/src/content/docs/executable-upgrades-rollback.mdx index 7f20ef7..3fedaa9 100644 --- a/src/content/docs/executable-upgrades-rollback.mdx +++ b/src/content/docs/executable-upgrades-rollback.mdx @@ -19,7 +19,7 @@ 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`. +Releases from v0.4.0 are published under `ghcr.io/gameplanepanel`, which this page uses; v0.3.0 and earlier releases stay under `ghcr.io/valgulnecron`. ## Preflight compatibility @@ -40,7 +40,7 @@ Capture the entire current state before starting the upgrade: - **Database version:** Query the migration ledger directly: `sqlite3 "SELECT version, applied_at FROM schema_migrations ORDER BY version;"` (or the equivalent `psql` query when running with `--db-driver=postgres`) - **CRD versions:** `kubectl get crd -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.names.kind}{"\n"}{end}'` - **Helm values:** `helm get values gameplane -n gameplane-system > current-values.yaml` -- **Rendered manifest diff:** `helm diff upgrade gameplane oci://ghcr.io/valgulnecron/charts/gameplane --version -n gameplane-system` (requires `helm-diff` plugin) +- **Rendered manifest diff:** `helm diff upgrade gameplane oci://ghcr.io/gameplanepanel/charts/gameplane --version -n gameplane-system` (requires `helm-diff` plugin) ## Execute in release order diff --git a/src/content/docs/getting-started.mdx b/src/content/docs/getting-started.mdx index 3118aed..c4fe59f 100644 --- a/src/content/docs/getting-started.mdx +++ b/src/content/docs/getting-started.mdx @@ -17,14 +17,14 @@ 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`. +Releases from v0.4.0 are published under `ghcr.io/gameplanepanel`, which this page uses; v0.3.0 and earlier releases stay under `ghcr.io/valgulnecron`. ONE-SHOT INSTALL ```sh helm upgrade --install gameplane \ - oci://ghcr.io/valgulnecron/charts/gameplane \ - --version 0.3.0 \ + oci://ghcr.io/gameplanepanel/charts/gameplane \ + --version 0.4.0 \ --namespace gameplane-system --create-namespace ``` diff --git a/src/content/docs/helm-values-reference.mdx b/src/content/docs/helm-values-reference.mdx index 2c56cd1..75f3d9c 100644 --- a/src/content/docs/helm-values-reference.mdx +++ b/src/content/docs/helm-values-reference.mdx @@ -15,7 +15,7 @@ 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`. +Releases from v0.4.0 are published under `ghcr.io/gameplanepanel`, which this page uses; v0.3.0 and earlier releases stay under `ghcr.io/valgulnecron`. ## Core and image settings @@ -23,7 +23,7 @@ Configure container images, registry access, and fundamental cluster behavior. | Key | Type | Default | Description | |---|---|---|---| -| `image.registry` | string | `ghcr.io/valgulnecron/gameplane` | Container registry where component images are published. Override to point to a private mirror for air-gapped installs. | +| `image.registry` | string | `ghcr.io/gameplanepanel/gameplane` | Container registry where component images are published. Override to point to a private mirror for air-gapped installs. | | `image.tag` | string | *(empty — uses chart's `appVersion`)* | Image tag for all components. Empty defaults to the chart version (e.g., chart v0.2.0 pulls `v0.2.0` images). Set to `"edge"` to track rolling images published on every master push. | | `image.pullPolicy` | enum | `IfNotPresent` | Kubernetes image pull behavior: `IfNotPresent`, `Always`, or `Never`. Use `Always` for `:edge` tags; use `IfNotPresent` for production release tags. | | `image.pullSecrets` | list | `[]` | Array of image pull Secret names if your registry requires authentication. Example: `[{name: myregistry}]` | diff --git a/src/content/docs/installation.mdx b/src/content/docs/installation.mdx index 99bf18b..343f569 100644 --- a/src/content/docs/installation.mdx +++ b/src/content/docs/installation.mdx @@ -15,7 +15,7 @@ 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`. +Releases from v0.4.0 are published under `ghcr.io/gameplanepanel`, which this page uses; v0.3.0 and earlier releases stay under `ghcr.io/valgulnecron`. ## Prerequisites and topology @@ -164,7 +164,7 @@ defaultModuleSource: enabled: true type: oci # Pull pre-built modules from OCI registry oci: - url: ghcr.io/valgulnecron/gameplane-modules + url: ghcr.io/gameplanepanel/gameplane-modules verify: enabled: true # Verify cosign signatures on official modules ``` @@ -181,11 +181,11 @@ Deploy the pinned OCI chart, bootstrap the first administrator, then validate po ### Step 1: Install the Helm chart -Install a tagged release straight from the GitHub Container Registry (GHCR). Replace `` with a release, e.g., `0.3.0`: +Install a tagged release straight from the GitHub Container Registry (GHCR). Replace `` with a release, e.g., `0.4.0`: ```bash -helm upgrade --install gameplane oci://ghcr.io/valgulnecron/charts/gameplane \ - --version 0.3.0 \ +helm upgrade --install gameplane oci://ghcr.io/gameplanepanel/charts/gameplane \ + --version 0.4.0 \ --namespace gameplane-system --create-namespace \ --values values.override.yaml ``` @@ -195,7 +195,7 @@ The chart is OCI-packaged — no `helm repo add` is needed. The `appVersion` fie **Edge channel (latest development):** To track rolling `:edge` images from the `main` branch instead of a released version: ```bash -helm upgrade --install gameplane oci://ghcr.io/valgulnecron/charts/gameplane \ +helm upgrade --install gameplane oci://ghcr.io/gameplanepanel/charts/gameplane \ --version --set image.tag=edge \ --namespace gameplane-system --create-namespace ``` @@ -260,7 +260,7 @@ Create a simple test GameServer to verify the operator is reconciling correctly: -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 from v0.4.0 are published under `ghcr.io/gameplanepanel`, which this page uses; v0.3.0 and earlier releases stay under `ghcr.io/valgulnecron`. -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 from v0.4.0 are published under `ghcr.io/gameplanepanel`, which this page uses; v0.3.0 and earlier releases stay under `ghcr.io/valgulnecron`. ## Establish a production baseline @@ -29,7 +29,7 @@ Gameplane's Helm chart is distributed as an OCI artifact on GitHub Container Reg - **Optional component images** — `audit-syslog-bridge`, `telemetry-receiver`, `sentinel`, `tunnel-frp`, `tunnel-tailscale`, `tunnel-playit`, `mcp-server` and `capture-sidecar` — are pulled only when the optional component they belong to is enabled (and, for `sentinel` and `capture-sidecar`, only for GameServers that opt in). A default install pulls four images: `operator`, `api`, `web` and `agent`. - **GameServer agent images** are pulled per-server, on-demand, so pre-staging is not required. -Before your first production install, document and approve the release you intend to deploy: the specific chart version (e.g., `0.3.0`) and any image tag or pull secret overrides in your values file. +Before your first production install, document and approve the release you intend to deploy: the specific chart version (e.g., `0.4.0`) and any image tag or pull secret overrides in your values file. ## Render and review @@ -67,9 +67,9 @@ After the Helm release completes: > values-reference.yaml", - "helm template gameplane oci://ghcr.io/valgulnecron/charts/gameplane --version -f values-prod.yaml > rendered.yaml", - "helm upgrade --install gameplane oci://ghcr.io/valgulnecron/charts/gameplane --version -f values-prod.yaml --atomic --wait -n gameplane-system --create-namespace", + "helm show values oci://ghcr.io/gameplanepanel/charts/gameplane --version > values-reference.yaml", + "helm template gameplane oci://ghcr.io/gameplanepanel/charts/gameplane --version -f values-prod.yaml > rendered.yaml", + "helm upgrade --install gameplane oci://ghcr.io/gameplanepanel/charts/gameplane --version -f values-prod.yaml --atomic --wait -n gameplane-system --create-namespace", ]} /> @@ -89,7 +89,7 @@ All released images, the chart, and official game modules are signed with cosign ```sh cosign verify --key cosign.pub \ - ghcr.io/valgulnecron/gameplane/operator:0.3.0 + ghcr.io/gameplanepanel/gameplane/operator:0.4.0 ``` Pre-rotation releases (v0.2.0-beta.7 and earlier) used the retired Ed25519 key and lack transparency log entries — verify those with `cosign-legacy.pub` and `--insecure-ignore-tlog=true`. diff --git a/src/content/docs/roadmap.mdx b/src/content/docs/roadmap.mdx index b754d6a..d549854 100644 --- a/src/content/docs/roadmap.mdx +++ b/src/content/docs/roadmap.mdx @@ -15,20 +15,22 @@ import { VERSION } from "../../config"; ## Current release -- **Version:** {VERSION} (pre-v1), released 2026-10-05. See the [changelog](https://github.com/GameplanePanel/Gameplane/blob/master/CHANGELOG.md). +- **Version:** {VERSION} (pre-v1), released 2026-11-11. See the [changelog](https://github.com/GameplanePanel/Gameplane/blob/master/CHANGELOG.md). - **What works today:** see the [README](https://github.com/GameplanePanel/Gameplane/blob/master/README.md) and the [architecture overview](./architecture/). - - The CRDs, operator, API, agent, and dashboard are feature-complete for the v1 scope and stabilized for external testing, but the project is not yet recommended for unattended production. This page tracks what stands between v0.3 and a v1 GA release. + + The CRDs, operator, API, agent, and dashboard are feature-complete for the v1 scope and stabilized for external testing, but the project is not yet recommended for unattended production. This page tracks what stands between v0.4 and a v1 GA release. It is a living document: items move out of it as they ship, and anything discovered along the way gets added. --- -## Shipped in v0.3.0 and since +## Shipped releases -### Since v0.3.0 (Unreleased) +### Shipped in v0.4.0 + +- Pre-release security hardening, fleet-wide node inventory, safer backup, restore and wipe exclusion, and the other fixes in the [v0.4.0 release notes](https://github.com/GameplanePanel/Gameplane/releases/tag/v0.4.0). - Independent central panel: Docker Compose runs the API and dashboard without a host Kubernetes cluster; a standalone Helm profile runs without the central operator or workloads ([changelog](https://github.com/GameplanePanel/Gameplane/blob/master/CHANGELOG.md)). - Credential maintenance: standalone key custody, offline `rotate-panel-key`, `PUT /clusters/{name}/kubeconfig`, and `PUT`/`DELETE /clusters/{name}/gateway` ([changelog](https://github.com/GameplanePanel/Gameplane/blob/master/CHANGELOG.md)). diff --git a/src/content/docs/upgrades-migrations.mdx b/src/content/docs/upgrades-migrations.mdx index fccd4ca..95938b3 100644 --- a/src/content/docs/upgrades-migrations.mdx +++ b/src/content/docs/upgrades-migrations.mdx @@ -17,7 +17,7 @@ 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`. +Releases from v0.4.0 are published under `ghcr.io/gameplanepanel`, which this page uses; v0.3.0 and earlier releases stay under `ghcr.io/valgulnecron`. 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. @@ -110,10 +110,10 @@ Upgrade a non-production or canary environment first. Watch the rollout, check m Once you have verified your values and backups, apply the upgrade to your cluster: ```bash -# Upgrade to a specific version (e.g., 0.3.0) -helm upgrade gameplane oci://ghcr.io/valgulnecron/charts/gameplane \ +# Upgrade to a specific version (e.g., 0.4.0) +helm upgrade gameplane oci://ghcr.io/gameplanepanel/charts/gameplane \ --namespace gameplane-system \ - --version 0.3.0 \ + --version 0.4.0 \ --values gameplane-values-backup.yaml \ --wait @@ -175,7 +175,7 @@ Only use the rollback procedure if migrations failed or core workflows are broke kubectl get crds -o yaml > crds-upgrade-state.yaml # 3. Roll back the Helm chart (example: rolling back from 0.2.0-beta.8 to 0.2.0-beta.7) -helm upgrade gameplane oci://ghcr.io/valgulnecron/charts/gameplane \ +helm upgrade gameplane oci://ghcr.io/gameplanepanel/charts/gameplane \ --namespace gameplane-system \ --version 0.2.0-beta.7 \ --values gameplane-values-backup.yaml \ diff --git a/src/pages/index.astro b/src/pages/index.astro index ccdca7c..84fa320 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -12,7 +12,7 @@ import { withBase } from "../lib/url"; import serversScreenshot from "../assets/screenshots/servers.png"; const chartVersion = VERSION.replace(/^v/, ""); -const helmCommand = `helm upgrade --install gameplane oci://ghcr.io/valgulnecron/charts/gameplane --version ${chartVersion} --namespace gameplane-system --create-namespace`; +const helmCommand = `helm upgrade --install gameplane oci://ghcr.io/gameplanepanel/charts/gameplane --version ${chartVersion} --namespace gameplane-system --create-namespace`; const features = [ { @@ -141,7 +141,7 @@ const features = [
$ helm upgrade --install gameplane \ -     oci://ghcr.io/valgulnecron/charts/gameplane \ +     oci://ghcr.io/gameplanepanel/charts/gameplane \     --version {chartVersion} \     --namespace gameplane-system --create-namespace