Tenants
Manage organizations, quotas, and platform-wide configurations. Requires super_admin role.
Overview
A Tenant is a logical organization that owns devices, users, apps, and network configurations. All data is isolated per tenant via PostgreSQL Row-Level Security — a user in tenant A cannot see data from tenant B.
Tenant List
Navigate to Tenants to see all tenants in the platform.
Columns: Tenant Name, Devices count, Users count, Plugins, Created date.
Creating a Tenant
- Click + Create Tenant.
- Enter a Name for the tenant.
- Optionally set an Icon URL (displayed in the sidebar when the tenant is active).
- Click Create.
The tenant is created immediately. Assign users to it from the Users page within the tenant context.
Editing a Tenant
Click the ⋮ menu → Edit. You can update the name and icon URL.
Tenant Detail
Click a tenant row to open its detail panel. Tabs:
Plugins Tab
Shows all platform plugins and their configuration status for this tenant. Click a plugin to open its configuration editor.
Plugin config can be set at two levels:
- Tenant default — applies to all device groups without an override
- Group override — per-group config set from Devices → Groups → [Group] → Plugins
Plugin Configuration (Tenant-wide)
Navigate to Settings → Plugin Config (within a tenant context) to configure plugin defaults.
Available plugins:
Terminal Plugin
| Setting | Description |
|---|---|
| Shell Path | Shell executable (e.g. /bin/bash) |
| Default Columns | Terminal width in characters |
| Default Rows | Terminal height in rows |
| Persistence | Keep session after browser disconnect |
| Enable Color Output | ANSI color support |
Telemetry Plugin
| Setting | Description |
|---|---|
| Collection Interval (s) | How often metrics are collected |
| Enabled Metrics | Which metric categories to collect |
Logs Plugin
| Setting | Description |
|---|---|
| Log Sources | One source per line (e.g. file:/var/log/syslog) |
| Max Lines/Second | Rate limit for log ingestion |
Container Plugin
| Setting | Description |
|---|---|
| Registries | Private Docker registry URLs |
| Command Timeout | Seconds to wait for device response (default: 30) |
| Max Log Lines | Maximum log lines per request (default: 1000) |
WireGuard Plugin
Configured via the Network section. See Network.
Tenant Config (Custom Key-Value)
Each tenant has an extensible config map. Platform operators can set arbitrary key-value pairs that plugins and integrations can read at runtime.
Contact your platform administrator to add or update tenant config values.
Device Quotas
Tenants have configurable device quotas. When a tenant reaches its quota, new device claim tokens are rejected with a device_limit_reached error.
Quotas are managed by super admins via the Tenant edit form or directly in the database.