{% extends "ui/_layout.html" %} {% block title %}Dashboard - nbdmux{% endblock %} {% block subnav %} {% endblock %} {% block intro %}
Nbdmux overview. Exports currently multiplexed, warm-pipeline health, upstream withcache reachability, and the most recent ready-set changes. Drill into Exports for the row-level view.
{% endblock %} {% block content %}
  • Total registered {{ exports_total }}
  • Ready (visible on nbd-server) {{ ready_count }}
  • {% if pending_count %}
  • Warming in flight {{ pending_count }}
  • {% endif %} {% if failed_count %}
  • Failed {{ failed_count }}
  • {% endif %}
  • Catalog entries visible on upstream {{ catalog_count }}
  • NBD listener port {{ nbd_port }}
Health {% set _checks = sanity | rejectattr("info") | list %} {% set _ok = _checks | selectattr("ok") | list | length %} {{ _ok }} / {{ _checks | length }} OK
    {% for s in sanity %}
  • {% if s.info %} {% elif s.ok %} {% else %} {% endif %} {% if s.href or s.fix_href %} {{ s.label }}
    {{ s.detail }}
    {% else %}
    {{ s.label }}
    {{ s.detail }}
    {% endif %}
  • {% endfor %}
Last {{ recent_events_limit }} events Open events →
{% for e in recent_events %} {% endfor %} {% if not recent_events %} {% endif %}
Time Kind Summary Subject
{{ e.ts }} {% if e.kind.endswith('failed') %} {{ e.kind }} {% elif e.kind.endswith('completed') or e.kind.endswith('created') or e.kind.endswith('succeeded') %} {{ e.kind }} {% elif e.kind.endswith('cancelled') or e.kind.endswith('deleted') or e.kind.endswith('logout') %} {{ e.kind }} {% else %} {{ e.kind }} {% endif %} {{ e.summary }} {% if e.subject_kind %} {{ e.subject_kind }}{% if e.subject_id %}/{{ e.subject_id }}{% endif %} {% else %} - {% endif %}
No events yet. Actions on Exports and Settings pages land here as the operator performs them; the Warmer emits system events as it moves exports from queued to ready.
{% endblock %}