You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
haproxy-wi/app/templates/ha.html

137 lines
6.3 KiB

{% extends "base.html" %}
{% block content %}
{% from 'include/input_macros.html' import input, checkbox %}
<script src="/inc/users.js"></script>
<script src="/inc/ha.js"></script>
<link href="/inc/provisioning.css" rel="stylesheet">
<style>
p {margin: 0;}
</style>
<table class="overview">
<caption><h3>Create a new HA cluster</h3></caption>
<tr class="overviewHead">
<td class="padding10 first-collumn">Master</td>
<td>Slave</td>
<td><span title="Interface for VRRP address">Interface</span></td>
<td>VRRP IP</td>
<td class="checkbox-head help_cursor"><span title="Roxy-WI will try to install HAProxy">HAProxy</span></td>
<td class="checkbox-head help_cursor" style="display: none" id="haproxy_docker_td_header"><span title="Roxy-WI will install HAProxy as Docker container">Docker</span></td>
<td class="checkbox-head help_cursor"><span title="Roxy-WI will try to install Nginx">Nginx</span></td>
<td class="checkbox-head help_cursor" style="display: none" id="nginx_docker_td_header"><span title="Roxy-WI will install Nginx as Docker container">Docker</span></td>
<td class="checkbox-head help_cursor"><span title="Roxy-WI will add VRRP address as a separated server">Add VIRT</span></td>
<td class="checkbox-head">SYN-flood protection</td>
<td></td>
</tr>
<tr>
<td class="padding10 first-collumn">
<select id="master">
<option disabled selected>------</option>
{% for select in selects %}
<option value="{{ select.2 }}">{{ select.1 }}</option>
{% endfor %}
</select>
</td>
<td>
<select id="slave">
<option disabled selected>------</option>
{% for select in selects %}
<option value="{{ select.2 }}">{{ select.1 }}</option>
{% endfor %}
</select>
</td>
<td>{{ input('interface', size='7', title='Interface for VRRP address') }}</td>
<td>{{ input('vrrp-ip', size='14') }}</td>
<td class="checkbox help_cursor">{{ checkbox('hap', title='Roxy-WI will try to install HAProxy') }}</td>
<td class="checkbox help_cursor" style="display: none" id="haproxy_docker_td">{{ checkbox('hap_docker', title='Roxy-WI will install HAProxy as Docker container') }}</td>
<td class="checkbox help_cursor">{{ checkbox('nginx', title='Roxy-WI will try to install Nginx') }}</td>
<td class="checkbox help_cursor" style="display: none" id="nginx_docker_td">{{ checkbox('nginx_docker', title='Roxy-WI will install Nginx as Docker container') }}</td>
<td class="checkbox help_cursor">{{ checkbox('virt_server', title='Roxy-WI will add VRRP address as a separated server', checked='checked') }}</td>
<td class="syn-flood-protection-field">{{ checkbox('syn_flood') }}</td>
<td>
<button id="create" title="Create HA configuration">Create</button>
</td>
</tr>
</table>
<table class="overview">
<caption><h3>Add VRRP to an existing cluster</h3></caption>
<tr class="overviewHead">
<td class="padding10 first-collumn">Master</td>
<td>Slave</td>
<td><span title="Interface for VRRP address">Interface</span></td>
<td>VRRP IP</td>
<td class="checkbox-head"><span title="If checked Roxy-WI will restart Keepalived">Restart</span></td>
<td style="width: 23%;"></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td class="padding10 first-collumn">
<select id="master-add">
<option disabled selected>------</option>
{% for select in selects %}
<option value="{{ select.2 }}">{{ select.1 }}</option>
{% endfor %}
</select>
</td>
<td>
<select id="slave-add">
<option disabled selected>------</option>
{% for select in selects %}
<option value="{{ select.2 }}">{{ select.1 }}</option>
{% endfor %}
</select>
</td>
<td>{{ input('interface-add', size='7', title='Interface for VRRP address') }}</td>
<td>{{ input('vrrp-ip-add', size='14') }}</td>
<td class="checkbox">{{ checkbox('kp', title='If checked Roxy-WI will restart Keepalived') }}</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>
<button id="add-vrrp" title="Add HA configuration">Add</button>
</td>
</tr>
</table>
<div id="ajax"></div>
<div class="add-note alert addName alert-info" style="width: inherit; margin-right: 15px;">
Read <a href="https://roxy-wi.org/howto.py?howto=ha_cluster" title="How to create high available cluster" target="_blank">How to create high available cluster</a>
</div>
<div id="server_creating" style="display: none;">
<ul style="padding: 20px 20px 0px 20px;font-size: 15px;">
<li id="creating-master" class="server-creating proccessing">Installing Master Keepalived...</li>
<li id="creating-slave" class="server-creating proccessing">Installing Slave Keepalived...</li>
<div id="haproxy_installing_div" style="display: none">
<li id="creating-haproxy-master" class="server-creating">Installing Master Haproxy...</li>
<li id="creating-haproxy-slave" class="server-creating">Installing Slave Haproxy...</li>
</div>
<div id="nginx_installing_div" style="display: none">
<li id="creating-nginx-master" class="server-creating">Installing Master Nginx...</li>
<li id="creating-nginx-slave" class="server-creating">Installing Slave Nginx...</li>
</div>
</ul>
<div id="wait-mess"></div>
<div id="created-mess" class="alert alert-success" style="display:none;"></div>
<div id="creating-error" class="alert alert-danger" style="display:none;"></div>
<div id="creating-warning" class="alert alert-warning" style="display:none;"></div>
<div class="progress-bar-striped">
<div id="creating-progress" style="width: 0%;"></div>
</div>
</div>
<div id="address_creating" style="display: none;">
<ul style="padding: 20px 20px 0px 20px;font-size: 15px;">
<li id="creating-master-add" class="server-creating proccessing">Creating a new address on Master Keepalived...</li>
<li id="creating-slave-add" class="server-creating proccessing">Creating a new address on Slave Keepalived...</li>
</ul>
<div id="wait-mess-add"></div>
<div id="created-mess-add" class="alert alert-success" style="display:none;"></div>
<div id="creating-error-add" class="alert alert-danger" style="display:none;"></div>
<div id="creating-warning-add" class="alert alert-warning" style="display:none;"></div>
<div class="progress-bar-striped">
<div id="creating-progress-add" style="width: 0%;"></div>
</div>
</div>
{% endblock %}