[VS-NfD] Add a hard plugins.enabled = false switch
#200
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#200
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Plan reference:
20-massnahmenplan.md-> Phase 2 (pulled from roadmap)ADR: ADR 0025
Effort: M (2 AT)
Depends on: —
Context
"Code execution inside the VS zone" is the question a plugin architecture
attracts. A single, verifiable off-switch answers it completely for the
offer stage — much cheaper than the trust machinery in #232, and it is what
the reference configuration will use.
Current state
instance-settings.service.tsprovides master switches for the publicAPI (
api.enabled, default false) and MCP (mcp.enabled, defaultfalse) — the enforcement pattern to copy is
apps/api/src/public-api/public-api.guard.ts:64andapps/api/src/mcp/mcp.controller.ts:50,84(404 while disabled).installed set; there is no instance-level kill switch.
Acceptance criteria
plugins.enabled(default documented; off in the VS-NfDreference config) makes every plugin surface answer 404: manifest and
asset routes, the frame route
(
/api/v1/plugins/<id>/<version>/frame), install/uninstall, and thepond-level toggles.
declared
fallbackinstead of an error, and the editor offers noplugin blocks.
documented procedure includes an api restart (or the setting is read
uncached) — verified by test or documented explicitly.
block still renders; the switch is visible in the admin UI.
docs/architecture/plugin-architecture.mdrecords the switch.
Out of scope
Allowlisting or hash-pinning individual plugins (#232), and removing the
plugin architecture.
Implemented in PR #260 (commit
c4c84b3, CI run 525 green, fast-forward merged per Stefan's standing go-ahead for the M25 block).Evidence against the acceptance criteria:
CD verification follows on the main-push run.