{% extends "ui/_layout.html" %} {% block title %}Images - bty-web{% endblock %} {% block content %}
{{ image_root }}
PUT /images/<name>. SHA-256 is auto-computed
in the background after upload completes.
.qcow2 / .img / .img.zst /
.img.xz / .img.gz / .img.bz2 file
under {{ image_root }}, or author a catalog.toml
manifest. Refresh the page after either to see them here.
| Name(s) | {# Observed content sha (``disk_image_sha`` on the catalog row). Machines bind via ``bty_image_ref`` -- shown in the machine- detail picker, not here. #}Content SHA | Format | Sources | Cached | Action |
|---|---|---|---|---|---|
{% for n in u.names %}
{{ n }}{% if not loop.last %}, {% endif %}
{% endfor %}
|
{% if u.sha256 %}
{{ u.sha256[:12] }}...
{% else %}
unhashed
{% endif %}
|
{{ u.format or "?" }} |
{% for s in u.sources %}
{% if s.kind == "local" %}
{{ s.location }}
{% elif s.kind == "url" %}
{{ s.location }}
{% else %}
{{ s.location }}
{% endif %}
{% if not loop.last %}{% endif %} {% endfor %} |
{% if u.cached %} cached {% else %} available {% endif %} | {% if not u.sha256 %} {# Unhashed dir-scan file: a hash button enqueues via the HashManager (background, single-worker by default). #} {% elif not u.cached %} {# Manifest-only entry not yet in cache: a fetch button enqueues via the DownloadManager. #} {% else %} - {% endif %} {# Operator-added catalog_entries rows are identified by a ``url``-kind source. Show a Delete button to remove via the ``DELETE /catalog/entries?src=...`` API. #} {% set url_src = u.sources|selectattr('kind','equalto','url')|map(attribute='location')|first %} {% if url_src %} {% endif %} |
| Name | Status | Progress | Bytes | Action |
|---|---|---|---|---|
| No downloads yet. | ||||
| Name | Status | Progress | Bytes | Action |
|---|---|---|---|---|
| No hashes yet. | ||||