Menu
AkurAI-Build
publicLatest change e3c871a2465047ecb760490386b73968ce20f3c6 - Complete Build UI audit wave (AKURAI-BUILD-2..9) by Ólafur Búi Ólafsson
{% extends "layouts/base.html" %}
{% block title %}Workers — AkurAI Build{% endblock %}
{% block page %}workers{% endblock %}
{% block body %}
<div class="pt-app-shell">
<aside class="pt-app-sidebar">
<a class="pt-app-brand" href="/app" aria-label="AkurAI Build overview"><span class="pt-mark" aria-hidden="true">A</span><span><strong>AkurAI Build</strong><small>Git-native delivery</small></span></a>
<nav class="pt-app-nav" aria-label="Workspace"><a href="/app">Overview</a><a href="/app/repositories">Repositories</a><a href="/app/runs">Runs</a><a href="/app/workers" aria-current="page">Workers</a></nav>
<div class="pt-health"><span class="pt-dot" aria-hidden="true"></span><span id="health">connecting</span><span class="pt-version">v{{ version }}</span></div>
</aside>
<main class="pt-app-content">
<div class="pt-admin-header">
<div class="pt-admin-header-row">
<h1 class="pt-admin-title">Workers</h1>
<span class="pt-muted" id="workers-updated"></span>
</div>
<div class="pt-admin-stats" id="worker-stats">
<div class="pt-admin-stat"><strong id="worker-total">0</strong><span>Total</span></div>
<div class="pt-admin-stat" data-kind="ready"><strong id="worker-ready">0</strong><span>Ready</span></div>
<div class="pt-admin-stat" data-kind="running"><strong id="worker-running">0</strong><span>Running</span></div>
<div class="pt-admin-stat" data-kind="queued"><strong id="worker-queued">0</strong><span>Queued</span></div>
</div>
</div>
<div class="pt-attached-table">
<div class="pt-attached-table-header">Worker registry</div>
<div class="pt-table-wrap" role="region" aria-label="Worker registry" tabindex="0" data-scrollable><table class="pt-data-table"><caption class="pt-sr-only">Registered workers and current capacity</caption><thead><tr><th>Worker</th><th>Status</th><th>Host</th><th>Capabilities</th><th>Heartbeat</th><th>Completed</th></tr></thead><tbody id="workers-list"></tbody></table></div>
<p class="pt-empty" id="workers-empty" hidden>No worker heartbeat has been recorded.</p>
</div>
<p class="pt-admin-footnote">Queued runs are claimed oldest-first. Each worker owns one run at a time, executes its dependency graph, stores logs and SHA-256 artifacts, then returns to idle capacity.</p>
<dialog class="pt-confirm" id="worker-detail" aria-labelledby="worker-detail-title">
<div class="pt-worker-detail-head">
<h2 id="worker-detail-title"></h2>
<span id="worker-detail-status"></span>
</div>
<p class="pt-worker-detail-sub" id="worker-detail-sub"></p>
<div class="pt-admin-stats pt-worker-detail-stats" id="worker-detail-stats"></div>
<div class="pt-dialog-actions">
<button class="pt-button" id="worker-detail-close" type="button">Close</button>
</div>
</dialog>
</main>
</div>
{% endblock %}