/instance
Create, suspend, reactivate, back up, restore or tear down a MeshWeaver instance — from the mesh, as an audited run, with the database backed up and verified before anything is destroyed.
- Instructions: # /instance Bring an instance up, take one down, and everything in between — **as a node, not as a laptop session**. Use this when someone asks to stand up a new deployment, suspend one, give a customer their data, or decommission one. For recording and inspecting deployments, use [`/deployment`](deployment.md). For the design principles behind all of it, [`/deployment-activity`](deployment-activity.md). ## The one thing to understand first **The instance's whole definition is its `Hosting/Deployment` record.** Host, namespace, database, which plugin repos it mounts, what it pre-installs, where its backups go. An action does not take parameters beyond the record — it reads the record and acts on it. So: - if a field is missing, the action **refuses and names it**; it never guesses; - two people provisioning the same instance get the same instance; - the diff on that record IS the change history. This is what makes the lifecycle usable by any platform developer rather than by whoever has the env folder on their laptop. ## The lifecycle ``` Planned ──provision──▶ Live ──suspend──▶ Suspended ──teardown──▶ Decommissioned ▲ │ └────reactivate──────┘ ``` **An instance is suspended before it is destroyed.** Suspending stops the portal, takes a verified dump, and re-points the host at the paywall — nothing is deleted, and `reactivate` is a two-command undo. The suspension is the users' notice, their explanation, and their window to export their data. Teardown refuses on a `Live` instance and says so. Two exceptions, both deliberate: a `Planned` instance (a failed provision — nobody to notice) can be torn down immediately, and `skipGracePeriod` overrides the hold **but requires a `reason`**. ## Run one Create a `Hosting/InstanceAction` node. `requestedAction` is the only control field; everything from `state` down is watcher-owned. ```json { "id": "suspend-atioz", "namespace": "Ops/Actions", "name…
- Auto mount: yes
- Launches sub thread: no