{% extends "base.html" %} {% block title %}Dashboard — nanio-orchestrator{% endblock %} {% block content %}

Dashboard

Pools

{{ pools|length }}
Manage →

Vhosts

{{ vhosts|length }}
Manage →

Config Drift

{{ drift_count }}
{% if drift_count > 0 %} DRIFT DETECTED {% else %} IN SYNC {% endif %} View →

Unrouted Buckets

{{ unrouted_count }}
{% if unrouted_count > 0 %} ACTION NEEDED {% else %} ALL ROUTED {% endif %} Manage →

Active Migrations

{{ active_migrations|length }}
View →

Last Nginx Reload

{% if last_reload %} {% if last_reload.nginx_reload_ok %} OK {% else %} FAILED {% endif %}

{{ last_reload.created_at }}

{% else %} {% endif %} Config →
{% if last_reload %}

Last Nginx Reload

{% if last_reload.nginx_reload_ok %} OK {% else %} FAILED {% endif %} at {{ last_reload.created_at }}

{% if last_reload.nginx_reload_output %}
{{ last_reload.nginx_reload_output }}
{% endif %}
{% endif %} {% if active_migrations %}

Active Migrations

{% for m in active_migrations %} {% endfor %}
IDBucketPhaseProgressActions
#{{ m.id }} {{ m.bucket }} {{ m.phase }} {{ m.bytes_done|filesizeformat if m.bytes_done else '—' }} {% if m.phase not in ('done', 'error', 'cancelled') %} {% endif %}
View all →
{% endif %}

Config Files

{% for cf in config_files %} {% endfor %} {% if not config_files %} {% endif %}
Path Status Last Synced
{{ cf.path }} {% if cf.sha256_disk and cf.sha256_db and cf.sha256_disk != cf.sha256_db %} DRIFTED {% else %} OK {% endif %} {{ cf.last_synced_at or '—' }}
No config files tracked yet

Recent Activity

{% for a in recent_audit %} {% endfor %} {% if not recent_audit %} {% endif %}
Time Action Entity Nginx
{{ a.created_at }} {{ a.action }} {{ a.entity_type }} {% if a.entity_id %}#{{ a.entity_id }}{% endif %} {% if a.nginx_reload_ok is not none %} {% if a.nginx_reload_ok %}OK{% else %}FAIL{% endif %} {% else %}—{% endif %}
No activity yet
{% endblock %}