<pclass="small mute">{{ what }} A job gets only the secrets its pipeline declares, as <code>secret "name" { mount-path "/run/secrets/name" }</code>, written there as a file before it starts; never in the environment, and masked in its log. Values are kept sealed and never shown again.</p>
5
{% if !s.inherited.is_empty() %}
6
<h3>Inherited</h3>
7
<divclass="table"><table>
8
<tr><th>Name</th><th>Set</th><th>From</th></tr>
9
{% for i in s.inherited %}<tr{% ifi.overridden %} class="mute"{% endif %}><td><code>{{ i.secret.name }}</code></td><tdclass="small">{{ i.secret.updated_ms|ago_i }}</td><tdclass="small">{{ i.from }}{% if i.overridden %} · <spantitle="A level below sets the same name">overridden</span>{% endif %}</td></tr>{% endfor %}
10
</table></div>
11
{% endif %}
12
{% if s.own.is_empty() %}<pclass="mute small">{% if s.inherited.is_empty() %}None.{% else %}None of its own.{% endif %}</p>{% else %}
13
<divclass="table"><table>
14
<tr><th>Name</th><th>Set</th><th></th></tr>
15
{% for o in s.own %}<tr><td><code>{{ o.secret.name }}</code></td><tdclass="small">{{ o.secret.updated_ms|ago_i }}</td>
16
<td><formclass="tiny"method="post"action="{{ base }}/secrets"><inputtype="hidden"name="_csrf"value="{{ csrf }}"><inputtype="hidden"name="name"value="{{ o.secret.name }}"><buttonname="action"value="delete"class="danger-btn">remove</button></form></td></tr>{% endfor %}
17
</table></div>{% endif %}
18
<formclass="card"method="post"action="{{ base }}/secrets">