{% extends "base.html" %}
{% block title %}Dashboard - circus{% endblock %}
{% block topbar %}
{% endblock %}
{% block topbar_title %}Dashboard{% endblock %}
{% block topbar_context %}Nix evaluations, builds, workers, and queue state{% endblock %}
{% block content %}
{% if !announcements.is_empty() %}
{% for item in announcements %}
{{ item.title }}: {{ item.content }}
{% endfor %}
{% endif %}
{% let finished_builds = total_builds - running_builds - pending_builds %}
{% if projects.is_empty() %}
No projects yet
{% if is_admin %}
{% endif %}
{% else %}
| Project |
Jobsets |
Last eval |
Eval status |
Failing jobs |
Queued |
Systems |
Updated |
{% for p in projects %}
|
{{ p.name }}
|
{{ p.jobset_count }} |
{{ p.last_eval_time }} |
{{ p.last_eval_status }}
|
{{ p.failing_jobs }}
|
{{ p.queued_jobs }}
|
{{ p.systems }} |
{{ p.updated_at }} |
{% endfor %}
{% endif %}
{% if recent_builds.is_empty() %}
No builds yet
Builds appear once an evaluation produces jobs.
{% else %}
| Build |
Project |
Job |
System |
Status |
Duration |
Created |
Log |
{% for b in recent_builds %}
|
#{{ b.id_short }}
|
{% match b.project_id %}
{% when Some with (project_id) %}
{{ b.project_name }}
{% when None %}
-
{% endmatch %}
|
{{ b.job_name }} |
{{ b.system }} |
{{ b.status_text }}
|
{{ b.duration }} |
{{ b.created_at }} |
{% if b.has_log %}
log
{% else %}
-
{% endif %}
|
{% endfor %}
{% endif %}
{% if workers.is_empty() %}
No agents
No agent sessions have checked in.
{% else %}
| Agent |
System |
Status |
Load |
{% for w in workers %}
|
{% if !auth_name.is_empty() %}
{{ w.name }}
{% else %}
Agent #{{ loop.index }}
{% endif %}
|
{{ w.system }} |
{{ w.status_text }}
|
{{ w.current_jobs }}/{{ w.max_jobs }} |
{% endfor %}
{% endif %}
{% endblock %}
{% block scripts %}
{% endblock %}