{% extends 'base.html' %} {% block title %}Dashboard{% endblock %} {% block content %}

Dashboard

CPU
0%
Memory
0/ MB
Disk
0/ GB
Uptime
Active Ports
0/ 24

Device

{# Hardware serial, MAC, OS and kernel are deliberately absent: this panel renders for guests, and they are permanent unique identifiers or name the platform. Audit finding F-01. #}
{# Two fixed columns: what the unit is on the left, where it sits on the network on the right. #}
{% for label, value in [ ('Hostname', device.hostname), ('Version', app_version), ] %} {% if value and value != 'unknown' %}
{{ label }}
{{ value }}
{% endif %} {% endfor %}
{% set dns = device.dns|join(', ') %} {% if dns %}
DNS
{{ dns }}
{% endif %} {% if device.interfaces %}
Network
{% for iface in device.interfaces %}
{{ iface.name | iface_label }}: {{ iface.ip }}
{% endfor %}
{% endif %}
Console Ports

Port Grid {{ ports|length }}×

View all
{% for p in ports %} {% set conn = (connections | selectattr('device', 'equalto', p.device) | list | first) %} {% set enabled = conn and (conn.enable == 'on' or conn.enable == True) %} {# Guests see the grid but can't open a console: clicking prompts sign-in rather than bouncing through a redirect. #} {{ p.label.split()[1] }} {% if enabled %} {% set mode = conn.mode or 'telnet' %} {% set mode_icon = {'telnet': 'terminal', 'raw': 'cable'}.get(mode, 'terminal') %} {% set mode_label = serial_modes.get(mode, mode) + (' + RFC2217' if conn.rfc2217 else '') + (' · SSH' if conn.ssh else '') %}
{% if conn.ssh %}{% endif %} {{ conn.params.split('n')[0] }}
{% else %} {% endif %}
{% endfor %}
Event Stream

Recent Activity

{% if activity %}
    {% for a in activity %}
  1. {{ a.ts_pretty }} {{ a.message }}
  2. {% endfor %}
{% else %}

No recent events.

{% endif %}
{% endblock %} {% block scripts %} {% endblock %}