Developer Documentation
Module: Site Administration
Developer documentation for Site Administration.
Purpose
Site Administration is the central admin area for settings, security, integrations, users, audit, import/export, custom fields, and managed lists.
Routes
/admin/system/site-administration/system/audit-logs/system/about/team/users/team/users/new/team/users/{user_id}/edit/team/users/{user_id}/reset-2fa/data/import-export/data/custom-fields/data/categories
Models Used
UserAppSessionAuditLogRemoteManagerSettingDNSProviderConfigCustomFieldManagedListItem- Several module tables for counts/import/export
Settings
Site Administration includes settings for:
- General application identity
- Base URL
- GitHub/version checking
- Upload limits
- Security headers and trusted hosts
- RDP token lifetime
- Remote Manager / Guacamole
- DNS Manager / Pi-hole provider
- Backup targets
- SMTP and email templates
Settings are stored primarily in remote_manager_settings as key/value rows. This table is used for more than remote manager settings, including global site settings, backup targets, DNS flags, SMTP configuration, and security configuration.
Permissions
- Admin only for most pages.
- User profile security is separate and available to the current user.
Workflows
- Create/edit users.
- Reset user 2FA.
- View audit logs.
- View system/about information.
- Configure site/security/email/remote/DNS/backup settings.
- Test backup storage.
- Test DNS provider.
- Send test email.
- Manage custom fields.
- Manage categories/managed lists.
- Import/export supported data.
Edge Cases And Risks
- The admin router is large and mixes unrelated settings concerns.
- Site settings are stored in
RemoteManagerSetting, which now has broader meaning than its name suggests. - Settings that contain secrets must be encrypted before storage.
- Some test actions reach outside Kaya and must remain blocked or constrained in demo mode.
