feat: add GET/PUT /v3/settings server settings API

GET returns all settings sections except the deprecated
VirtualBox/VMware ones (Server.Audit privilege); secrets are
masked and Controller.jwt_secret_key is excluded entirely.
PUT applies a partial update (Server.Modify privilege): masked
or empty secrets mean unchanged, null removes the option, the
response carries the new values plus restart_required, and a
settings.updated notification is emitted. New
Server.Audit/Server.Modify privileges are seeded into the
Administrator role at table creation.
This commit is contained in:
YueGuobin committed 2026-08-23 18:54:31 +08:00
1 parent 7d3cbf1023
commit e0962a59ed
6 files changed
+629

No files matched your search

@@ -62,6 +62,7 @@ from . import pools
from . import privileges
from . import api_keys
from . import netmiko
from . import settings
from .dependencies.authentication import get_current_active_user
@@ -72,6 +73,12 @@ router.include_router(
tags=["Controller"]
)
router.include_router(
settings.router,
prefix="/settings",
tags=["Server settings"]
)
router.include_router(
users.router,
prefix="/access/users",