{% extends "base.html" %} {% import "repo_tabs.html" as m %} {% block title %}Trust · {{ repo.owner }}/{{ repo.name }}{% endblock %} {% block bodyattrs %} data-repo="{{ repo.url }}"{% endblock %} {% block tabs %}{% call m::tabs(repo, "trust") %}{% endblock %} {% block content %}

Trust who may update what, and what has been verified

{% if let Some(p) = t.policy %}

Policy serial {{ p.serial }} {% if p.expired %}expired {{ p.expires_ms|when }}{% else if p.expires_ms > 0 %}expires {{ p.expires_ms|when }}{% endif %} {{ p.signatures|plural("signature", "signatures") }}, {{ p.history|plural("version", "versions") }}

Roots threshold {{ p.root_threshold }}

Rules

{% for r in p.rules %}{% endfor %}
PatternKeysThresholdRequireConflicts
{{ r.pattern }}{% for k in r.keys %}{% if k.name.is_empty() %}{{ k.short }}{% else %}{{ k.name }}{% endif %}{% if !loop.last %}, {% endif %}{% endfor %}{{ r.threshold }}{{ r.require }}{% if r.allow_conflicts %}allowed{% else %}refused{% endif %}
{% if !p.revoked.is_empty() %}

Revoked

{% endif %}
{% else %}
No trust policy: every reference update from anyone who may push is accepted. Create one from a client with oxy policy init and push.
{% endif %}

Verification {{ t.verification.total|plural("change", "changes") }}

✔ {{ t.verification.signed }} signed · ◈ {{ t.verification.sealed }} sealed · ○ {{ t.verification.unsigned }} unsigned {% if t.verification.revoked > 0 %} · ⊘ {{ t.verification.revoked }} by revoked keys{% endif %} {% if !t.verification.invalid.is_empty() %} · ✘ {{ t.verification.invalid.len() }} INVALID{% endif %}

{% if !t.verification.invalid.is_empty() %}{% endif %}

Connecting

Clone with oxy clone {{ repo.clone_url }}. If this hub uses a self-signed certificate, save its certificate and point oxy at it with oxy config remote.<name>.ca <file> or OXY_CA.

Hub delegate key

Changes the hub makes for you in the browser (later milestones) are signed with this key on your behalf, once you have run oxy identity delegate add hub.identity with the file from /.well-known/oxyhub-key.

{{ t.hub_key }}

{% if t.hub_delegated_by.is_empty() %}

Nobody in this repository's policy has delegated to it.

{% else %}

Delegated by: {% for k in t.hub_delegated_by %}{{ k.name }}{% if !loop.last %}, {% endif %}{% endfor %}

{% endif %}
{% endblock %}