{% extends "base.html" %} {% block title %}Federation{% endblock %} {% block content %}
Cross-node governance federation and chain synchronization
{% if federation_status and federation_status.nodes %} {# ===== SUMMARY BAR ===== #} {% set total_nodes = federation_status.nodes|length %} {% set reachable_nodes = federation_status.nodes|selectattr('reachable')|list|length %} {% set unreachable_nodes = total_nodes - reachable_nodes %} {% set total_chain_entries = federation_status.nodes|sum(attribute='chain_length', default=0) %} {% set all_chains_intact = federation_status.nodes|rejectattr('chain_intact')|list|length == 0 %}| Status | Alias | Domain | Version | Chain Length | Chain Integrity | Last Checked |
|---|---|---|---|---|---|---|
| {% if node.reachable %} ● {% else %} ● {% endif %} | {{ node.alias }} | {{ node.get('domain', '-') }} | {{ node.get('version', '-') }} | {{ node.chain_length }} | {% if node.chain_intact %} Intact {% else %} Broken {% endif %} | {{ node.get('last_checked', '-') }} |
| Node | Event Type | Timestamp | Data |
|---|---|---|---|
| {{ event.get('node_alias', 'unknown') }} | {% if 'identity' in event.get('event', '') %} {{ event.event }} {% elif 'governance' in event.get('event', '') or 'audit' in event.get('event', '') %} {{ event.event }} {% elif 'detected' in event.get('event', '') or 'daemon' in event.get('event', '') %} {{ event.event }} {% elif 'node' in event.get('event', '') or 'connection' in event.get('event', '') or 'federation' in event.get('event', '') %} {{ event.event }} {% else %} {{ event.get('event', '') }} {% endif %} | {{ event.get('timestamp', '-') }} |
No federated events yet.
Events will appear here as connected nodes sync their chains.
No federation nodes configured.
Federation connects multiple Charter nodes to create a shared governance network with cross-node chain verification.
To get started:
1. Run charter federation add <node-url> to add a remote node.
2. Run charter federation sync to synchronize chains.
3. Run charter federation status to check node health.