Skip to content

Local UI

Built-in YAML editor on port 8765. This is not the WaveGrid console: it runs next to the agent, with no login, and writes the same file as the CLI.

Four sections in the header: Configuration, Plugins, Marketplace, Operations.

Start

Docker — in the agent service environment in docker-compose.yml:

yaml
WGFLOW_UI_ENABLED: "true"

Then docker compose up -d.

CLI:

bash
wg-flow-agent ui              # 127.0.0.1:8765
wg-flow-agent run --ui

Open http://127.0.0.1:8765. Do not expose the port to the internet.

After Save, the scheduler picks up YAML on its own (mtime watch). You do not need to rebuild the container.


Configuration

Platform connection, agent name, and the default interval.

Configuration screen: Connected status, API URL, Tenant ID, token, agent name, 300 s interval
Configuration
BlockPurpose
Connectionapi_url, tenant_id, tenant_token. Connected / error banner plus Test now (probe POST to /sync/ with an empty resource list).
Agent identityagent.name, agent.host. Agent ID (agent.id) is issued on first run and is not editable — the platform uses it to recognize the same instance.
Schedulerscheduler.sync_interval_seconds, minimum 300. Default and heartbeat when no source is due. Per-source interval lives on the source card.
Save configurationWrites YAML. An empty tenant token does not overwrite the stored one.

The token in the form is masked (wgf_…). You copy the value once from the console: Connect.


Plugins

Installed integrations. Click a card to open plugin settings.

Installed plugin cards for prometheus and proxmox, ready / live
Plugins

Each card shows the wheel version, how many sources are active, ready / error, and Configure. Browse marketplace if you need another provider.

Plugin settings

The form is built from the plugin schema (not hardcoded in the UI). Multiple connections appear as source tabs on the left, plus Add connection.

Proxmox form: source tabs, identity, schedule, URL
Identity, schedule, URL
Proxmox form: token or password, TLS, Save settings
Authentication and TLS

Typical source fields:

  • Source ID — YAML key (plugins.proxmox.sources[].id)
  • Provider account — how the site appears in inventory
  • Sync interval — minimum 300 s
  • API fields (URL, token, TLS…) — per plugin, see the catalog

Sticky bar at the bottom: Cancel / Save settings.


Marketplace

Catalog from the platform (same tenant token as sync). Search by name, provider, or category.

Marketplace: search and Prometheus / Proxmox cards with enabled status
Marketplace
  • Wheel not installed — Install (downloads the package into the plugin dir).
  • Already installed — Configure (same as the Plugins card).
  • Coming soon — package not published yet; install is disabled.

Provider details: plugin catalog.


Operations

One-shot actions without editing YAML. Result goes to Output.

Operations: Health check, Dry run, Sync now, empty Output
Operations
ActionWhat it does
Check statusConfig validation + health of enabled plugins (wg-flow-agent status).
Run dry runCollect → JSON in Output, no POST to SaaS.
Sync nowCollect all enabled sources → POST /sync/. Intervals do not filter a one-shot.

The scheduler keeps running in the background.


Do not

  • Expose :8765 to the internet without your own auth
  • Treat the UI as the WaveGrid console: inventory, costs, and alerts live only in SaaS