{% extends "base.html" %} {% import "_macros.html" as m %} {% block title %}{{ target.name }} — rosbackup-ng{% endblock %} {% block page_title %}{{ target.name }}{% endblock %} {% block head_actions %} ← Devices Audit log Browse backups Edit Run backup {% endblock %} {% block content %}

Overview

Host
{{ m.copyval(target.host, 'Host') }}
Enabled
{{ m.bool_check(target.enabled) }}
{% if target.description %}
Description
{{ target.description }}
{% endif %}
Tags
{% if tags %}{{ m.chips(tags, 12) }}{% else %}{% endif %}
Groups
{% if groups %}{{ m.chips(groups, 8, 'group') }}{% else %}{% endif %}
{% if latency_on %}
Latency
{{ m.latency_cell(latency, latency_hist) }}
{% endif %}
Backups
{% if backups %}{{ backups }} set(s){% if newest %} · newest {{ newest | datetime }}{% endif %}{% else %}none yet{% endif %}
Web access
{{ m.cap_chip(download_allowed) }} download · {{ m.cap_chip(restore_allowed) }} restore

Device facts

{% if inventory or host_key %}
{% if inventory %} {# Logical grouping: hardware identity → software → license → SSH → recency. #}
Model
{{ inventory.model or '—' }}{% if inventory.board_name and inventory.board_name not in ('', 'unknown', 'None', inventory.model) %} ({{ inventory.board_name }}){% endif %}
Architecture
{{ inventory.architecture or '—' }}
Serial
{% if inventory.serial_number and inventory.serial_number != 'unknown' %}{{ m.copyval(inventory.serial_number, 'Serial') }}{% else %}{{ inventory.serial_number or '—' }}{% endif %}
RouterOS
{% if inventory.ros_version %}{{ inventory.ros_version }}{% else %}{% endif %}
Firmware
{% if inventory.current_firmware and inventory.current_firmware != 'unknown' %}{{ m.copyval(inventory.current_firmware, 'Firmware') }}{% else %}{{ inventory.current_firmware or '—' }}{% endif %}{% if inventory.upgrade_firmware and inventory.upgrade_firmware not in ('', 'unknown', inventory.current_firmware) %} ↑ {{ inventory.upgrade_firmware }}{% endif %}
{{ inventory.license_level|id_label }}
{% if inventory.system_id and inventory.system_id != 'unknown' %}{{ m.copyval(inventory.system_id, inventory.license_level|id_label) }}{% else %}{{ inventory.system_id or '—' }}{% endif %}
License level
{% if inventory.license_level and inventory.license_level != 'unknown' %}{{ inventory.license_level }}{% if inventory.license_level|license_tier and inventory.license_level|license_tier|lower != inventory.license_level|lower %} {{ inventory.license_level|license_tier }}{% endif %}{% else %}{% endif %}
{% endif %} {% if host_key %}
SSH key
{{ host_key.keytype }}
SSH fingerprint
{{ m.copyval(host_key.fingerprint, 'SSH public key', copy=host_key.public_key) }}
{% endif %} {% if inventory %}
Last seen
{{ inventory.updated_at | datetime }}
{% endif %}
{% else %}

No device facts yet — run a backup to collect model, RouterOS version and serial.

{% endif %}

Recent runs

{% if runs %} {% for r in runs %} {% endfor %}
#StartedTriggerResultBinaryRSCDurationSize
#{{ r.id }} {{ r.started_at | datetime }} {{ r.trigger }} {% if r.status == 'running' %}running{% elif r.success %}ok{% else %}failed{% endif %}{% if r.error %} {{ r.error }}{% endif %} {{ m.check_cross(r.has_binary, 'Binary backup included', 'No binary backup') }} {{ m.check_cross(r.has_rsc, 'Plaintext export included', 'No plaintext export') }} {{ r.duration_s | duration }} {{ r.total_bytes | filesize }}
{% else %}

No runs have included this device yet. Run one →

{% endif %}

Schedules

+ Add schedule
{% if schedules %} {% for s in schedules %} {% endfor %}
NameScopeCadenceEnabledNext run
{{ s.name }} {{ m.scope_link(s.scope_kind, s.scope_value) }} {{ describe_cadence(s.cadence) }} {{ m.bool_check(s.enabled) }} {{ (s.next_run_at | datetime) if s.next_run_at else '—' }}
{% else %}

No schedules back up this device. Create one →

{% endif %}
{% endblock %}