[VS-NfD] Mode "enforced": reject profile-violating configuration writes server-side #246
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#246
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: M32, option c)
ADR: the one from #243
Effort: M (2 AT)
Depends on: #243, #245
Context
Option c): profile-violating configuration is not available at all. Hiding alone is UI cosmetics - the API must reject the write, otherwise a scripted client bypasses the profile.
Acceptance criteria
enforced, settings writes (instance and pond level) that would set a catalog-violating value are rejected with a clear, documented error code.hidden.enforced; the same write passes inoff/marked/hidden; existing violating value is reported; the error code is stable.enforcedas the recommended mode for VS-NfD reference operation.Out of scope
Auto-remediation of existing values, and any change outside the catalog-listed settings.
Done via PR #295 (merged, CI run 638 green, CD 639 deployed Test+Int, readyz fully green on both). M32 complete.
All acceptance criteria met: violating settings writes rejected in the one write path with the stable code
vs_nfd_profile_violation(403, i18n de+en); pond-level writes are covered generically over the catalog (whose deliberate lack of pond entries is the ADR 0027 decision); existing violations reported at startup and on the admin card, never auto-changed; UI renders as inhidden; hardening guide namesenforcedas the recommended mode. Tests: reject in enforced (nothing stored), pass in marked/hidden (own app boots) and off (every existing settings-write test), pre-existing violation reported and untouched; full api suite 100 files / 555 green.