Add node status page
This commit is contained in:
parent
4ef3efbc68
commit
6b72316076
|
@ -86,4 +86,18 @@ def create_app(test_config=None):
|
||||||
def home():
|
def home():
|
||||||
return flask.render_template('index.html')
|
return flask.render_template('index.html')
|
||||||
|
|
||||||
|
@app.route('/nodes')
|
||||||
|
@flask_login.login_required
|
||||||
|
def nodes():
|
||||||
|
try:
|
||||||
|
if not flask_login.current_user.is_admin:
|
||||||
|
return flask.Response('forbidden', status=403, mimetype='text/plain')
|
||||||
|
with db.locked('nodes'):
|
||||||
|
version = db.load('settings').get('version')
|
||||||
|
nodes = db.read('nodes')
|
||||||
|
return flask.render_template('nodes.html', version=version, nodes=nodes)
|
||||||
|
except Exception as e:
|
||||||
|
return flask.Response(f'something went catastrophically wrong: {e}',
|
||||||
|
status=400, mimetype='text/plain')
|
||||||
|
|
||||||
return app
|
return app
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<dl>
|
|
||||||
{% if current_user.is_admin %}
|
{% if current_user.is_admin %}
|
||||||
<section>
|
<section>
|
||||||
|
<dl>
|
||||||
|
<dt><a href="{{ url_for('nodes') }}">Status</a>
|
||||||
|
<dd>status opek v požarnem zidu
|
||||||
<dt><a href="{{ url_for('config.index') }}">Nastavitve</a>
|
<dt><a href="{{ url_for('config.index') }}">Nastavitve</a>
|
||||||
<dd>nastavitve aplikacije FRIwall
|
<dd>nastavitve aplikacije FRIwall
|
||||||
<dt><a href="{{ url_for('config.edit', name='ipsets') }}">Obsegi IP</a>
|
<dt><a href="{{ url_for('config.edit', name='ipsets') }}">Obsegi IP</a>
|
||||||
|
@ -16,10 +18,12 @@
|
||||||
<dd>statične 1:1 preslikave naslovov za strežniška omrežja
|
<dd>statične 1:1 preslikave naslovov za strežniška omrežja
|
||||||
<dt><a href="{{ url_for('config.edit', name='groups') }}">Skupine</a>
|
<dt><a href="{{ url_for('config.edit', name='groups') }}">Skupine</a>
|
||||||
<dd>preslikave uporabnikov LDAP v pisarniška omrežja
|
<dd>preslikave uporabnikov LDAP v pisarniška omrežja
|
||||||
|
</dl>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<section>
|
<section>
|
||||||
|
<dl>
|
||||||
<dt><a href="{{ url_for('vpn.index') }}">VPN</a>
|
<dt><a href="{{ url_for('vpn.index') }}">VPN</a>
|
||||||
<dd>urejanje ključev za WireGuard VPN
|
<dd>urejanje ključev za WireGuard VPN
|
||||||
<dt><a href="{{ url_for('rules.manage') }}">Pravila</a>
|
<dt><a href="{{ url_for('rules.manage') }}">Pravila</a>
|
||||||
|
|
11
web/templates/nodes.html
Normal file
11
web/templates/nodes.html
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<p>
|
||||||
|
Trenutna različica nastavitev: {{ version }}
|
||||||
|
<ul>
|
||||||
|
{% for node, node_version in nodes.items() %}
|
||||||
|
<li>{{ node }}: <span style="color: {% if node_version|string == version|string %}green{% else %}red{% endif %};">{{ node_version }}</span>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endblock %}
|
Loading…
Reference in a new issue