Admin & Settings UI
Relevant source files
The following files were used as context for generating this wiki page:
The Admin & Settings UI in Fleet provides a centralized interface for managing organizational configurations, user access, and external integrations. It is implemented as part of a React-based Single Page Application (SPA) that communicates with the Fleet REST API to perform administrative tasks. This module ensures that IT and security teams can maintain granular control over their environment, ranging from global organization settings to specific platform integrations for macOS, Windows, Linux, and mobile platforms.
The UI is structured into several core sub-modules, including Organization Settings, User Management, and Integrations. These components leverage a standardized directory structure and routing pattern to provide a consistent experience for administrators.
UI Routing and Navigation
Administrative routes are centrally managed within the frontend router, primarily using the /settings prefix. This routing structure organizes the administrative surface area into logical sections for users, organizations, and integrations.
Admin Path Configuration
The application uses a constant-driven approach to routing, ensuring that all administrative links are consistent across the UI. Key paths include:
| Path Constant | URL Pattern | Description |
|---|---|---|
ADMIN_SETTINGS | /settings | Base path for all administrative settings. |
ADMIN_USERS | /settings/users | Management interface for human and API users. |
ADMIN_ORGANIZATION | /settings/organization | Global organizational configurations (SMTP, Agents, etc.). |
ADMIN_INTEGRATIONS | /settings/integrations | External service connections (MDM, VPP, SSO). |
ADMIN_FLEETS | /settings/fleets | Team or fleet-specific configuration management. |
Sources: frontend/router/paths.ts:57-111
Administrative Navigation Flow
The following diagram illustrates how an administrator navigates through the various settings modules:
Sources: frontend/router/paths.ts:57-111
Organization Settings
Organization settings manage the global behavior of the Fleet instance. This includes server configuration, agent options, and host expiry rules. These settings are often mirrored in GitOps configurations via default.yml.
Key Configuration Areas
- Organization Info: Basic metadata such as organization name, logo URL, and contact URL.
- Server Settings: Controls for AI features, analytics, and the availability of live queries or scripts.
- Host Expiry: Configuration for automatically removing stale hosts from the inventory.
- SMTP: Setup for automated emails, including verification and password recovery.
Sources: tools/fleet-slackbot/system-prompt.js:203-230, frontend/router/paths.ts:103-108
User Management
The User Management module allows administrators to control who has access to the Fleet server and what actions they can perform. Fleet supports two primary types of users: Human users and API-only users.
User Types and Actions
- Human Users: Standard accounts for team members, which can be created manually or via SSO.
- API Users: Specialized accounts intended for automation and scripts, typically requiring separate creation flows (
/settings/users/new/api). - Management Tasks: The UI supports creating, editing, and deleting users, as well as managing MFA (Multi-Factor Authentication) and password reset tokens.
Sources: frontend/router/paths.ts:63-68, website/config/custom.js:34-39
Integrations Management
The Integrations UI manages connections between Fleet and third-party services. This is one of the most complex areas of the Admin UI, handling Apple Business Manager, SCEP, VPP, and ticketing systems.
Integration Categories
The UI organizes integrations into functional groups:
- MDM (Mobile Device Management): Platform-specific setups for Apple (ABM, VPP), Windows (Automatic Enrollment), and Android.
- Identity & Access: SSO configurations (SAML) and Identity Provider settings.
- Ticketing: Destinations for alerts and policy failures, such as Jira, Zendesk, and Webhooks.
- Security Compliance: Conditional access (Okta) and Vanta integrations.
Sources: frontend/router/paths.ts:72-96, tools/fleet-slackbot/system-prompt.js:231-255
Integration Configuration Logic
Administrative changes to integrations follow a specific data flow:
Implementation Details
Component Structure
Admin pages follow the standard Fleet frontend directory pattern. Each page (e.g., OrgSettingsPage) is encapsulated within its own directory containing the logic, styles, and tests.
└── OrgSettingsPage
├── _styles.scss
├── OrgSettingsPage.tsx
├── OrgSettingsPage.tests.tsx
└── index.ts
Sources: frontend/README.md:28-39
Styling
Administrative UI styles are integrated via LESS importers. Global admin styles and specific page styles (e.g., email templates, license generation) are imported in the main stylesheet.
pages/admin/email-templates.lesspages/admin/generate-license.lesspages/admin/query-generator.less
Sources: website/assets/styles/importer.less:68-76
Summary
The Admin & Settings UI serves as the control plane for the Fleet platform. By centralizing organization, user, and integration management, it enables administrators to enforce security policies and operational standards across their entire device fleet. The interface is built for both manual interaction and parity with GitOps workflows, ensuring flexibility for organizations of all sizes.