AkurAI Build
Menu

AkurAI-Build

public

Latest change e16ed955e37bc7f7b00de000a208ef91006cf60e - Adopt the AkurAI ID SSO contract and inject pipeline build context by AkurAI Build

{% 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>
    {% include "partials/app-account.html" %}
  </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 %}