mirror of https://github.com/Aidaho12/haproxy-wi
300 lines
9.8 KiB
HTML
300 lines
9.8 KiB
HTML
{% extends "base.html" %}
|
|
{% block content %}
|
|
{% from 'include/input_macros.html' import input, select %}
|
|
<style>
|
|
.container {
|
|
margin-right: 0;
|
|
}
|
|
</style>
|
|
<script src="/inc/users.js"></script>
|
|
<script src="/inc/fontawesome.min.js"></script>
|
|
{% include 'include/del_confirm.html' %}
|
|
<div id="tabs">
|
|
<ul>
|
|
<li><a href="#users" title="Admin area: Manage users - HAProxy-WI">Users</a></li>
|
|
<li><a href="#groups" title="Admin area: Manage groups - HAProxy-WI">Groups</a></li>
|
|
<li><a href="#servers" title="Admin area: Manage servers - HAProxy-WI">Servers</a></li>
|
|
<li><a href="#ssh" title="Admin area: Manage SSH credentials - HAProxy-WI">SSH credentials</a></li>
|
|
<li><a href="#checker" title="Admin area: Manage checker - HAProxy-WI">Checker</a></li>
|
|
<li><a href="#settings" title="Admin area: Manage HAProxy-WI settings - HAProxy-WI">Settings</a></li>
|
|
<li><a href="#services" title="Admin area: Manage HAProxy-WI services - HAProxy-WI">Services</a></li>
|
|
<li><a href="#updatehapwi" title="Admin area: Update HAProxy-WI - HAProxy-WI">Update</a></li>
|
|
<li><a href="#backup" title="Admin area: Backup configs - HAProxy-WI">Backup</a></li>
|
|
<li><a href="#installmon" title="Servers: Monitoring service installation - HAProxy-WI">Monitoring installation</a></li>
|
|
{% include 'include/login.html' %}
|
|
</ul>
|
|
<ul id='browse_histroy'></ul>
|
|
|
|
<div id="users">
|
|
{% include 'include/admin_users.html' %}
|
|
</div>
|
|
|
|
<div id="groups">
|
|
<table class="overview" id="ajax-group">
|
|
<thead>
|
|
<tr class="overviewHead">
|
|
<th class="padding10 first-collumn">Name</th>
|
|
<th style="width: 100%;">Description</th>
|
|
<th></th>
|
|
</tr>
|
|
<tbody>
|
|
{% for group in groups %}
|
|
<tr id="group-{{ group.0 }}" class="{{ loop.cycle('odd', 'even') }}">
|
|
{% if group.1 == "All" %}
|
|
<td class="padding10 first-collumn">{{ group.1 }}</td>
|
|
<td>{{ group.2 }}</td>
|
|
<td></td>
|
|
{% else %}
|
|
<td class="padding10 first-collumn">
|
|
{% set id = 'name-' + group.0|string() %}
|
|
{{ input(id, value=group.1) }}
|
|
</td>
|
|
<td>
|
|
{% set id = 'descript-' + group.0|string() %}
|
|
{% if group.2 != "None" %}
|
|
{{ input(id, value=group.2, size='60') }}
|
|
{% else %}
|
|
{{ input(id, value='', size='60') }}
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
<a class="delete" onclick="confirmDeleteGroup({{ group.0 }})" title="Delete group {{group.1}}" style="cursor: pointer;"></a>
|
|
</td>
|
|
{% endif %}
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
<br /><span class="add-button" title="Add group" id="add-group-button">+ Add</span>
|
|
<br /><br />
|
|
<div class="add-note addName alert-info" style="width: inherit; margin-right: 15px;">
|
|
How to setup groups you can watch in this video <a href="https://haproxy-wi.org/description.py?description=setup" title="How to setup servers, group and SSH credentials" target="_blank">here</a>
|
|
</div>
|
|
</div>
|
|
<div id="servers">
|
|
{% include 'include/admin_servers.html' %}
|
|
</div>
|
|
|
|
<div id="ssh">
|
|
{% include 'include/admin_ssh.html' %}
|
|
</div>
|
|
|
|
<div id="checker">
|
|
{% include 'include/admin_telegram.html' %}
|
|
</div>
|
|
|
|
<div id="settings">
|
|
{% include 'include/admin_settings.html' %}
|
|
</div>
|
|
|
|
<div id="services">
|
|
<table id="services_table" class="overview">
|
|
<tr class="overviewHead">
|
|
<td class="padding10 first-collumn" style="width: 25%;">
|
|
Service
|
|
</td>
|
|
<td class="padding10 first-collumn" style="width: 35%;">
|
|
Actions
|
|
</td>
|
|
<td>Description</td>
|
|
</tr>
|
|
{% for s in services %}
|
|
<tr class="{{ loop.cycle('odd', 'even') }}" id="{{s.0}}">
|
|
<td class="padding10 first-collumn">
|
|
{% if s.1.0 == 'active' %}
|
|
<span title="{{s.0}} is started"><span class="serverUp server-status"></span></span>
|
|
{% else %}
|
|
{% if s.1.0 == 'inactive' or s.1.0 == 'failed' %}
|
|
<span title="{{s.0}} is stoped"><span class="serverDown server-status"></span></span>
|
|
{% else %}
|
|
<span title="{{s.0}} is not installed"><span class="serverNone server-status"></span></span>
|
|
{% endif %}
|
|
{% endif %}
|
|
{{s.0}}
|
|
</td>
|
|
<td class="padding10 first-collumn">
|
|
<a id="start-{{ s.0 }}" class="start" title="Start and enable {{s.0}} service">
|
|
<span class="service-start" onclick="confirmAjaxServiceAction('start', '{{s.0}}')"></span>
|
|
</a>
|
|
<a id="restart-{{ s.2 }}" class="restart" title="Restart {{s.0}} service">
|
|
<span class="service-reload service-restart" onclick="confirmAjaxServiceAction('restart', '{{s.0}}')"></span>
|
|
</a>
|
|
<a id="stop-{{ s.0 }}" class="stop" title="Stop and disable {{s.0}} service">
|
|
<span class="service-stop" onclick="confirmAjaxServiceAction('stop', '{{s.0}}')"></span>
|
|
</a>
|
|
</td>
|
|
<td>
|
|
{{ s.2 }}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
<div class="add-note addName alert-info" style="width: inherit; margin-right: 15px;">
|
|
You can read about services <a href="https://haproxy-wi.org/services.py" title="HAProxy-WI services" target="_blank">here</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="updatehapwi">
|
|
{% set current_ver = versions.0 %}
|
|
{% set new_ver = versions.1 %}
|
|
{% set current_ver_without_dots = versions.2 %}
|
|
{% set new_ver_without_dots = versions.3 %}
|
|
<table class="overview">
|
|
<tr class="overviewHead">
|
|
<td class="padding10 first-collumn" style="width: 25%;">Service</td>
|
|
<td>Currnet version</td>
|
|
<td class="padding10">Last version</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="padding10 first-collumn">
|
|
HAProxy-WI
|
|
</td>
|
|
<td>
|
|
<b>{{current_ver}}</b>
|
|
</td>
|
|
<td class="padding10">
|
|
<b>{{new_ver}}</b>
|
|
</td>
|
|
<td>
|
|
{% if new_ver_without_dots > current_ver_without_dots and new_ver != "Sorry cannot get current version" %}
|
|
<a class="ui-button ui-widget ui-corner-all" onclick="updateService('haproxy-wi')" title="Update HAProxy-WI">Update</a>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% for s in services %}
|
|
{% if s.0 == 'smon' or s.0 == 'checker_haproxy' or s.0 == 'keep_alive' or s.0 == 'metrics_haproxy' %}
|
|
<tr>
|
|
{% set is_need_update = 0 %}
|
|
{% if s.0 == 'smon' %}
|
|
{% set service_name = 'SMON' %}
|
|
{% set service_link = 'smon' %}
|
|
{% if s.3|int() < smon_ver|int() %}
|
|
{% set is_need_update = 1 %}
|
|
{% endif %}
|
|
{% elif s.0 == 'checker_haproxy' %}
|
|
{% set service_name = 'Checker' %}
|
|
{% set service_link = 'checker' %}
|
|
{% if s.3|int() < checker_ver|int() %}
|
|
{% set is_need_update = 1 %}
|
|
{% endif %}
|
|
{% elif s.0 == 'keep_alive' %}
|
|
{% set service_name = 'Auto start' %}
|
|
{% set service_link = 'auto_start' %}
|
|
{% if s.3|int() < keep_ver|int() %}
|
|
{% set is_need_update = 1 %}
|
|
{% endif %}
|
|
{% elif s.0 == 'metrics_haproxy' %}
|
|
{% set service_name = 'Metrics' %}
|
|
{% set service_link = 'metrics' %}
|
|
{% if s.3|int() < metrics_ver|int() %}
|
|
{% set is_need_update = 1 %}
|
|
{% endif %}
|
|
{% endif %}
|
|
<td class="padding10 first-collumn">
|
|
{{service_name}}
|
|
</td>
|
|
<td>
|
|
{% if s.3 != '* is not installed' %}
|
|
<b>{{s.3}}</b>
|
|
{% endif %}
|
|
</td>
|
|
<td class="padding10">
|
|
<b>
|
|
{% if s.0 == 'smon' %}
|
|
{{smon_ver}}
|
|
{% elif s.0 == 'checker_haproxy' %}
|
|
{{checker_ver}}
|
|
{% elif s.0 == 'keep_alive' %}
|
|
{{keep_ver}}
|
|
{% elif s.0 == 'metrics_haproxy' %}
|
|
{{metrics_ver}}
|
|
{% endif %}
|
|
</b>
|
|
</td>
|
|
<td>
|
|
{% if s.3 != '* is not installed' %}
|
|
{% if is_need_update %}
|
|
<a class="ui-button ui-widget ui-corner-all" onclick="updateService('{{s.0}}')" title="Update {{service_name}}">Update</a>
|
|
{% endif %}
|
|
{% else %}
|
|
{{service_name}} service is not installed
|
|
<a href="https://haproxy-wi.org/services.py?service={{service_link}}#installation" title="{{service_name}} installtion" target="_blank" style="color: #5d9ceb;">Read about installation</a>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</table>
|
|
<div class="add-note addName alert-info" style="width: inherit; margin-right: 15px;">
|
|
<b style="font-size: 20px; display: block; padding-bottom: 10px;">Note:</b>
|
|
For update you have to use HAProxy-WI repository. How start use repository read <a href="https://haproxy-wi.org/installation.py" title="HAProxy-WI installation" target="_blank">here</a>
|
|
<br /><br />
|
|
If server uses proxy to connection Internet add proxy settings in yum.conf
|
|
<br /><br />
|
|
Read more about update in <a href="https://haproxy-wi.org/updates.py" title="Doc" target="_blank">docs</a>
|
|
and <a href="https://haproxy-wi.org/changelog.py" title="Changelog" target="_blank">changelog</a>
|
|
</div>
|
|
<div id="ajax-update"></div>
|
|
</div>
|
|
|
|
<div id="backup">
|
|
{% include 'include/admin_backup.html' %}
|
|
</div>
|
|
|
|
<div id="installmon">
|
|
{% include 'include/mon_installation.html' %}
|
|
</div>
|
|
</div>
|
|
{% include 'include/admins_dialogs.html' %}
|
|
{% include 'include/change_pass_form.html' %}
|
|
<div id="change-user-groups-dialog" style="display: none;">
|
|
<div id="change-user-groups-form"></div>
|
|
</div>
|
|
<style>
|
|
.ui-selectmenu-button.ui-button {
|
|
width: 10em;
|
|
}
|
|
.first-collumn {
|
|
width: 10%;
|
|
}
|
|
</style>
|
|
<script>
|
|
$( function() {
|
|
{% for user in users %}
|
|
$("#role-{{user.0}}" ).selectmenu({
|
|
width: 100
|
|
});
|
|
{% endfor %}
|
|
{% for server in servers %}
|
|
$("#servergroup-{{ server.0}}" ).selectmenu({
|
|
width: 100
|
|
});
|
|
$("#slavefor-{{server.0}}" ).selectmenu({
|
|
width: 130
|
|
});
|
|
$("#credentials-{{server.0}}" ).selectmenu({
|
|
width: 150
|
|
});
|
|
{% endfor %}
|
|
{% for ssh in sshs %}
|
|
if (window.matchMedia('(max-width: 1280px)').matches) {
|
|
$("#sshgroup-{{ ssh.0}}" ).selectmenu({
|
|
width: 100
|
|
});
|
|
}
|
|
{% endfor %}
|
|
{% for server in backups %}
|
|
$("#backup-time-{{ server.0}}" ).selectmenu({
|
|
width: 100
|
|
});
|
|
$("#backup-type-{{server.0}}" ).selectmenu({
|
|
width: 130
|
|
});
|
|
$("#backup-credentials-{{server.0}}" ).selectmenu({
|
|
width: 150
|
|
});
|
|
{% endfor %}
|
|
});
|
|
</script>
|
|
{% endblock %} |