{% extends "base.html" %} {% block title %}Federation — FieldWitness{% endblock %} {% block content %}

Federation

Gossip-based attestation sync between FieldWitness instances.

Local Node

Records: {{ node_info.size }}

Root: {{ node_info.root }}

Peers

{{ peers|length }} configured

Last Sync
{% if history %}

{{ history[0].synced_at[:16] }}

{% else %}

Never

{% endif %}
Peers
{% if peers %} {% for p in peers %} {% endfor %}
URLFingerprintRecordsHealthLast Seen
{{ p.url }} {{ p.fingerprint[:16] }}... {{ p.last_size }} {% if p.healthy %}OK{% else %}DOWN{% endif %} {{ p.last_seen.strftime('%Y-%m-%d %H:%M') if p.last_seen else 'Never' }}
{% else %}

No peers configured. Add one below.

{% endif %}
Add Peer
{% if history %}
Sync History
{% for h in history %} {% endfor %}
TimePeerRecordsStatus
{{ h.synced_at[:19] }} {{ h.peer_url[:30] }} +{{ h.records_received }} {% if h.success %}OK{% else %}{{ h.error[:40] if h.error else 'Failed' }}{% endif %}
{% endif %} {% endblock %}