Skip to content

Integrations

A landing page that lists every external system the appliance can talk to. Each integration appears as a card with its current status and a link to the integration’s own management page.

The Integrations panel exists so that there is exactly one place to discover what the appliance can plug into — instead of new menu entries appearing whenever an integration is added. Today the page lists one entry: Prometheus. Future integrations will join the same grid without changing the sidebar layout.

This page is admin-leaning. Each integration is “admin-issued and revocable” — meaning an operator with administrator role can hand out, rotate, or revoke whatever credential the integration needs. Viewers and operators can read this page, but creating credentials and toggling the underlying feature flag is restricted.


GoalWhere to go
See which integrations the appliance offersThis page
Configure a specific integration’s tokens or settingsThe integration’s own page (linked from its card)
Enable or disable an integration entirelyconfig.yaml (system-wide), then restart

The Integrations panel is a directory, not an editor. The work of issuing tokens, testing connections, and rotating credentials happens on each integration’s dedicated page.


+-----------------------------------------------------------+
| Integrations |
| External systems that talk to this appliance. Each |
| integration is admin-issued and revocable. Disabled |
| entries are gated by a backend flag in config.yaml. |
+-----------------------------------------------------------+
| +------------------+ +------------------+ |
| | Prometheus | | (future) | |
| | [Enabled] | | | |
| | Long-lived ... | | | |
| | Manage tokens > | | | |
| +------------------+ +------------------+ |
+-----------------------------------------------------------+

Cards lay out in a grid: one column on phones, two on a normal screen, three on a wide display. Each card is self-contained.


Every card carries the same fields.

FieldDescription
IconA small lucide-style icon hinting at the integration type (a key for credential-driven services like Prometheus, a plug for general integrations).
NameThe display name of the integration.
Status badgeTop-right of the card. Enabled with a green check mark, or Disabled with a grey strike-through circle.
DescriptionOne or two short sentences explaining what the integration does.
Disabled hintWhen the integration is disabled, a small line below the description tells you what to flip to enable it (typically a config.yaml setting). Hidden when enabled.
Manage linkA bottom-of-card link that takes you to the integration’s own page. The link is dimmed and not clickable when the integration is disabled.

The status badge is read directly from the appliance’s runtime integration status; if you toggle the integration in config.yaml and restart the appliance, the badge will update accordingly on the next page load.


Status today: available.

  • Card icon — a key.
  • What it does — Provides long-lived bearer tokens that authorize a Prometheus scraper to pull platform-health metrics from the appliance’s metrics endpoint.
  • When enabled — The card status is Enabled. Clicking Manage tokens opens the Prometheus Integration (chapter 40) page where you mint tokens, label them, name a scope, and revoke them.
  • When disabled — The card shows Disabled and notes that the administrator should set prometheus.enabled: true in config.yaml and restart the appliance. The Manage tokens link is greyed out until then.

The card does not give you anything you cannot reach on the dedicated Prometheus page; it exists so that a new admin opening the GUI for the first time can discover the integration without prior knowledge.

For configuration, token format, scrape URL, sample Prometheus job, and security considerations, see Prometheus Integration (chapter 40).


The page is designed so new integrations show up by adding a row, not by adding a new sidebar entry.

A future integration appears here as soon as the appliance ships with it. You will see a new card with the same anatomy: icon, name, description, enabled/disabled badge, manage link. The sidebar does not need a new entry — operators discover and manage every integration from this single panel.

Examples of integrations that are good candidates for this pattern (none are committed product roadmap items):

  • A Slack/Mattermost outbound channel for alarms.
  • An SNMP/NetFlow exporter.
  • A SIEM ingestion connector.
  • An LDAP user directory.

Each would have its own dedicated management page (for credentials, mapping, test connection). The Integrations panel would be the unified launchpad.

Note. Notification routing (where alarms go) is handled separately on the Notifications page. The Vector channel there is a delivery pipeline, not an integration card; it does not appear on the Integrations panel.


Integrations are gated by config.yaml at the system level. The GUI does not let you flip them on or off at runtime.

The reason is operational safety. Most integrations open a credential surface (tokens, secrets, network listeners). Adding or removing them should be a deliberate config.yaml change followed by a restart, captured in the configuration management workflow rather than buried in a per-user GUI click.

To enable an integration that is shown as Disabled:

  1. Edit config.yaml on the appliance.
  2. Find the integration’s section (for Prometheus, this is prometheus:).
  3. Set enabled: true.
  4. Restart the appliance service.
  5. Reload the Integrations page in the browser — the badge will switch to Enabled and the Manage link will become live.

To disable an integration:

  1. First, revoke any tokens or credentials issued under that integration (use its dedicated page; for Prometheus, that is chapter 40).
  2. Set enabled: false in config.yaml.
  3. Restart the appliance.

The GUI does not delete saved configuration on the disabled side — re-enabling the integration in config.yaml brings the integration’s data back as it was.


Viewing the Integrations panel is open to any signed-in user. Acting on individual integrations is gated by role.

RoleWhat you can do on this page
AdminRead the card. Click into the integration to issue, rotate, and revoke credentials.
OperatorRead the card. Permission to manage tokens depends on the integration’s own page — typically restricted to admin.
ViewerRead the card only.

For the broader role model, see User Management (chapter 27).


Card shows “Enabled” but the Manage link does nothing. Refresh the page. If still broken, the integration’s dedicated page may have a separate error — for Prometheus, open Prometheus Integration (chapter 40) directly to see the underlying state.

Card stays “Disabled” after I set enabled: true in config.yaml. The integration status reads from the running appliance’s loaded configuration. A config.yaml change is only picked up on restart for the enabled flag. Restart the service and reload the page.

I cannot see this page at all. The page is open to all signed-in users in the default GUI. If it is missing from your sidebar, the appliance is running with the page route disabled — speak to whoever administers the appliance.


  • Prometheus Integration (chapter 40) — the dedicated page for the Prometheus integration card; covers tokens, scrape URL, sample scrape config, and security.
  • User Management (chapter 27) — the role model that determines who can issue and revoke integration credentials.
  • Notifications — alarm routing and the Vector delivery channel, which is separate from the Integrations panel.