Settings store + admin settings UI (policy out of the config file) #52
Loading…
Add table
Add a link
Reference in a new issue
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?
Long-term home for application policy so operators stop editing config secrets for day-to-day changes. The License panel (
GET/PUT /api/v1/license, paste-to-install, JSON state file) is already the embryo of this pattern — grow it panel by panel, never big-bang.Candidates, each earning its panel as it lands: quota defaults, share defaults (expiry, allow-upload), trash retention/auto-purge, feature toggles, license (exists).
Boundary discipline (the reason Cairn isn't Nextcloud):
auth.adminGroups) + break-glassauth.admins— the settings store must never own who-is-admin, or it fights the directory and leaves orphaned privileges.Mechanics when started: one small admin-gated store (atomic JSON, same pattern as shares/app-passwords/license state), one
/api/v1/settingssurface, panels in the avatar-menu settings area of UI v2.Shipped in v0.3.10 (PR #55).
internal/settingsatomic-JSON policy store,GET/PUT /api/v1/settings(read for any authed user, write admin-gated), and a Settings panel in the avatar menu (admins only). First panel: instance name (shown in the header) + default share expiry / upload defaults. Boundary held — policy only, never identity. Grows one panel at a time from here.