Procházet zdrojové kódy

Merge pull request #5 from database-pizza/docs/engine-updates

docs: tenant-approved engine updates and platform deploys
Danilo Fragoso před 16 hodinami
rodič
revize
7b46384509
2 změnil soubory, kde provedl 48 přidání a 0 odebrání
  1. 1 0
      astro.config.mjs
  2. 47 0
      src/content/docs/guides/engine-updates.md

+ 1 - 0
astro.config.mjs

@@ -121,6 +121,7 @@ export default defineConfig({
             { label: 'Import & export', link: '/guides/import-export/' },
             { label: 'Errors & troubleshooting', link: '/guides/errors/' },
             { label: 'Limits & quotas', link: '/guides/limits/' },
+            { label: 'Engine updates', link: '/guides/engine-updates/' },
           ],
         },
         {

+ 47 - 0
src/content/docs/guides/engine-updates.md

@@ -0,0 +1,47 @@
+---
+title: Engine updates
+description: How engine releases reach a tenant, and how to restart now or schedule the cutover.
+---
+
+PizzaSQL and PizzaKV are upgraded together as one compatible **engine pair**. Platform releases (the console, API, and proxy) do **not** change a tenant's engine pair and do not restart tenant databases. An engine update only happens when an organization owner applies an available pair.
+
+## Finding an update
+
+When the release control plane offers a newer compatible pair, the organization home page shows an **Engine update available** banner with:
+
+- the running and available pair,
+- the release changelog and severity,
+- compatibility notes, including whether a storage migration is required and whether rollback is supported.
+
+Open **Review changelog & update** to read the full notes before doing anything.
+
+## Choosing when to restart
+
+Only an organization owner can apply the update. The dialog offers:
+
+- **Restart now** — confirm that the tenant databases will restart briefly. The control plane snapshots, stops, starts the new pair, and health-gates it before reporting success. In-flight transactions may be interrupted.
+- **Schedule** — pick a one-off local date and time at least a minute ahead. The operation stays queued and the release scheduler performs the same snapshot/cutover/health sequence when the time arrives.
+
+The operation is durable and auditable. If a start or health check fails, the previous pair is restored where rollback is supported; storage-migration updates may be one-way, which the dialog warns about.
+
+## API
+
+The same choices are available over the API:
+
+```http
+POST /api/v1/orgs/{org_id}/engine/upgrade
+Authorization: session cookie
+Content-Type: application/json
+
+{"release_id": "<release>", "approve_now": true}
+```
+
+```json
+{"release_id": "<release>", "scheduled_for": "2026-11-02T02:30:00Z"}
+```
+
+Omit both fields to create a pending request that an owner approves later in settings. The response is the engine state plus `operation_id` and, for scheduled requests, `scheduled_for`. Poll `GET /api/v1/orgs/{org_id}/engine` to follow the operation.
+
+## Automatic policies
+
+Organizations can opt into automatic policies in settings (channel plus a daily or weekly maintenance window). Automatic cutovers use the same gates and never cross an incompatible storage format. Leave the policy manual to rely solely on the home-page banner.