diff --git a/docs/offscale-plugin.md b/docs/offscale-plugin.md index 1ce9cf52..e6696cc5 100644 --- a/docs/offscale-plugin.md +++ b/docs/offscale-plugin.md @@ -455,6 +455,22 @@ Implicit, but it is the rule this repo already follows — `officer-pty` is `pty because node-pty is a native module built against Node's ABI, and everything else is bun. Better than a field that can contradict the file it describes. +### Install asks nothing, and that is the default + +Offscale needs **none** of the install fields the current app-store catalogue carries — no `modes`, no +`existingFields`, no `configFields`, no `composeTemplate`, no `members`. There is no Docker to provision +and no external service to point at. + +Its install is the whole of it: put the code there, push the schema, start the sidecar, swap the routes. +Available immediately. Everything else is configuration the user does **afterwards, inside the app** — a +Headscale server is registered at `/offscale/servers` and lands in `offscale_servers`, which is already +how it works today. + +So the rule is **a plugin installs with no questions unless it says otherwise**, and the prompting +machinery (the three install shapes in `sidecar-app-store.md`) gets designed against the first extracted +plugin that actually needs Docker or a remote instance. That was part of why offscale is the right pilot: +it exercises the mounting, the schema and the sidecar without the install flow being a variable too. + ### Dropped from the first draft - **`dependsOn`** — nothing read it and nothing enforced it. Both of offscale's dependencies already