AkurAI Build
Menu

Public repository / main

AkurAI-Build / app/pages/ssh-keys.html

Latest change e8aa34a9be50d7d7ea72f66991ff82dfca7d23e1 - OLI-276: Git over SSH, forks and mirrors, code search through akurai-index, repository insights by Ólafur Búi Ólafsson

{% extends "layouts/base.html" %}
{% block title %}SSH keys — AkurAI Build{% endblock %}
{% block page %}ssh-keys{% 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">Workers</a><a href="/app/search">Search</a><a href="/app/notifications">Notifications</a><a href="/app/settings/ssh-keys" aria-current="page">SSH keys</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"><h1 class="pt-admin-title">SSH keys</h1><span class="pt-muted">{{ subject }}</span></div>
  <section class="pt-panel">
    <div class="pt-panel-head"><div><h2>Git over SSH</h2><p class="pt-summary-copy">{% if enabled %}Clone with <code>{{ example }}</code>. Keys only ever run git on hosted repositories, with the same roles as HTTPS.{% else %}SSH access is not switched on for this forge (AKURAI_BUILD_AUTHORIZED_KEYS); keys are kept but unused.{% endif %}</p></div></div>
    <form method="post" action="/app/settings/ssh-keys" class="pt-form-grid pt-ssh-form">
      <label>Name<input name="name" maxlength="128" placeholder="laptop" required></label>
      <label class="pt-ssh-key">Public key<input name="public_key" maxlength="4200" placeholder="ssh-ed25519 AAAA… you@host" required spellcheck="false"></label>
      <button class="pt-button pt-primary" type="submit">Add key</button>
    </form>
    {% if error %}<p class="pt-notice" role="alert">{{ error }}</p>{% endif %}
  </section>
  <section class="pt-panel">
    <div class="pt-panel-head"><h2>Your keys</h2></div>
    <ol class="pt-commit-list pt-ssh-keys">
      {% for k in keys %}
      <li>
        <strong>{{ k.name }}</strong> <small>{{ k.key_type }} · <code>{{ k.fingerprint }}</code></small>
        <small class="pt-muted">added <time data-unix="{{ k.created_at }}">{{ k.created_at }}</time>{% if k.last_used_at %} · last used <time data-unix="{{ k.last_used_at }}">{{ k.last_used_at }}</time>{% else %} · never used{% endif %}</small>
        <form method="post" action="/app/settings/ssh-keys/{{ k.id }}/remove" class="pt-inline"><button class="pt-button pt-small" type="submit">Remove</button></form>
      </li>
      {% else %}<li>No keys yet.</li>{% endfor %}
    </ol>
  </section>
  </main>
</div>
{% endblock %}