hsman/app/templates/policy.html

87 lines
2.6 KiB
HTML

{% extends "base.html" %}
{% block content %}
<h3>policy</h3>
<footer class="blockquote-footer">
for more info see <a href="https://tailscale.com/kb/1337/acl-syntax" target="_blank">tailscale docs</a>
</footer>
<hr>
<div class="row">
<div class="col col-6">
<div class="row">
<div class="col col-4"><h5>source</h5></div>
<div class="col col-8"><h5>destination</h5></div>
</div>
{% for acl in policy.policy['acls'] %}
<div class="row data">
<div class="col col-4">
{{ ','.join(acl['src']) }}</div>
<div class="col col-8">{{ ',<br />'.join(acl['dst']) | safe }}</div>
</div>
{% endfor %}
</div>
<div class="col col-6">
<!-- groups -->
<div id="groups">
<div class="card">
<div class="card-header" id="groupsHeading">
<h5 class="mb-0">
<button class="btn btn-link" data-toggle="collapse" data-target="#groupsContent" aria-expanded="true" aria-controls="groupsContent">
groups
</button>
</h5>
</div>
<div id="groupsContent" class="collapse show" aria-labelledby="groupsHeading" data-parent="#groups">
<div class="card-body">
{% for group,users in policy.policy['groups'].items() %}
<div class="row data">
<div class="col col-6">
{{ group }}
</div>
<div class="col col-6">
{{ ", ".join(users) }}
</div>
</div>
{% endfor %}
</div>
</div>
</div>
</div>
<!-- hosts -->
<div class="hosts">
<div class="card">
<div class="card-header" id="hostsHeading">
<h5 class="mb-0">
<button class="btn btn-link" data-toggle="collapse" data-target="#hostsContent" aria-expanded="true" aria-controls="hostsContent">
hosts
</button>
</h5>
</div>
<div id="hostsContent" class="collapse" aria-labelledby="hostsHeading" data-parent="#hosts">
<div class="card-body">
{% for host, value in policy.policy['hosts'].items() %}
<div class="row data">
<div class="col col3">
{{ host }}
</div>
<div class="col col3">
{{ value }}
</div>
</div>
{% endfor %}
</div>
</div>
</div>
</div>
</div>
</div>
<!-- <textarea readonly rows="30" style="width: 80%; height: 80%;">
{{ policy.json }}
</textarea> -->
{% endblock %}