{% extends "ui/_layout.html" %} {% block title %}Catalog - withcache{% endblock %} {% block subnav %} {% endblock %} {% block intro %}
The image catalog withcache fetched at process start (best-effort; persisted to ``<data-dir>/catalog.toml`` and re-loaded on restart). Refresh + Set URL + Add oras + Delete actions on the subnav / row forms below.
{% endblock %} {% block content %}
Catalog source
Effective URL
{{ catalog_url }}
Env pin
{% if catalog_env_url %} {{ catalog_env_url }} {% else %} (unset) {% endif %}
{% if catalog_fetched_at %}
Last fetched
{{ catalog_fetched_at }}
{% endif %} {% if catalog_last_error %}
{{ catalog_last_error }}
{% endif %} {% if catalog_last_info %}
{{ catalog_last_info }}
{% endif %} {# Set URL: operator override. Empty submit clears the override and falls back to the shipping default (env pin still wins). #}
{% if catalog_env_url %} Env pin is set; override is refused while the env var is present. Unset WITHCACHE_CATALOG_URL to allow overrides. {% else %} Empty submit clears the override and reverts to the shipping default. {% endif %}
{# Add oras: append a fresh oras:// entry to the in-memory catalog. Useful for one-off pulls that aren't in the upstream manifest. #}
Catalog entries ({{ catalog_entries|length }})
{% for e in catalog_entries %} {% endfor %} {% if not catalog_entries %} {% endif %}
Name Source Format SHA-256 Action
{{ e.get('name', '') }} {{ e.get('src') or e.get('url') or '' }} {% if e.get('format') %} {{ e.format }} {% else %} - {% endif %} {% if e.get('sha256') %}{{ e.sha256[:12] }}...{% else %}-{% endif %}
No catalog entries yet. The startup fetch will populate this list; failures land in the source card above.
{% endblock %}