mirror of https://github.com/Aidaho12/haproxy-wi
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.
179 lines
8.6 KiB
179 lines
8.6 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/css/provisioning.css" rel="stylesheet">
|
|
<style>
|
|
p {margin: 0;}
|
|
</style>
|
|
{% if user_status == 0 or user_plan == 'user' %}
|
|
{% include 'include/no_sub.html' %}
|
|
{% elif not is_needed_tool %}
|
|
<div style="text-align: center;">
|
|
<h3>You have not installed Ansible</h3>.
|
|
<img src="/inc/images/no_servers.png" alt="There is no server">
|
|
<h4>
|
|
Read <a href="https://roxy-wi.org/installation#ansible" title="Installing Ansible" target="_blank">here</a> how to install Ansible.
|
|
</h4>
|
|
</div>
|
|
{% else %}
|
|
<table class="overview" style="margin-bottom: 20px;">
|
|
<caption><h3>Create a new HA cluster</h3></caption>
|
|
<tr class="overviewHead">
|
|
<td class="padding10 first-collumn">Current installation</td>
|
|
<td class="padding10 first-collumn">Master</td>
|
|
<td class="padding10 first-collumn">Current installation</td>
|
|
<td>Slave</td>
|
|
<td><span title="Interface for VRRP address on a Master slave">Master Interface</span></td>
|
|
<td><span title="Interface for VRRP address on a Slave server">Slave Interface</span></td>
|
|
<td>VRRP IP</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="padding10 first-collumn" id="cur_master_ver"></td>
|
|
<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 class="padding10 first-collumn" id="cur_slave_ver"></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 on a Master server') }}</td>
|
|
<td>{{ input('slave_interface', size='7', title='Interface for VRRP address a Slave server') }}</td>
|
|
<td>{{ input('vrrp-ip', size='14') }}</td>
|
|
</tr>
|
|
<tr class="overviewHead">
|
|
<td class="padding10 first-collumn"></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 help_cursor" style="padding-left: 20px;" title="If checked, the Keepalived master will not release VRRP if the service is down">Stay as Master</td>
|
|
<td class="checkbox-head">SYN-flood protection</td>
|
|
<td class="checkbox-head help_cursor" style="padding: 10px 10px 10px 0;"><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></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="padding10 first-collumn"></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 help_cursor">{{ checkbox('return_to_master', title='If checked, the Keepalived master will not release VRRP if the service is down') }}</td>
|
|
<td class="syn-flood-protection-field">{{ checkbox('syn_flood') }}</td>
|
|
<td class="checkbox help_cursor" style="padding: 10px 10px 10px 15px;">{{ 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 a 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 a Docker container') }}</td>
|
|
<td>
|
|
<button id="create" title="Create HA cluster">Create</button>
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table class="overview">
|
|
<caption><h3>Add VRRP to an existing cluster</h3></caption>
|
|
<tr class="overviewHead">
|
|
<td class="padding10 first-collumn">Current installation</td>
|
|
<td class="padding10 first-collumn">Master</td>
|
|
<td class="padding10 first-collumn">Current installation</td>
|
|
<td>Slave</td>
|
|
<td><span title="Interface for VRRP address on a Master Server">Master Interface</span></td>
|
|
<td><span title="Interface for VRRP address on a Slave Server">Slave Interface</span></td>
|
|
<td>VRRP IP</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="padding10 first-collumn" id="cur_master_ver-add"></td>
|
|
<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 class="padding10 first-collumn" id="cur_slave_ver-add"></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('slave_interface-add', size='7', title='Interface for VRRP address') }}</td>
|
|
<td>{{ input('vrrp-ip-add', size='14') }}</td>
|
|
</tr>
|
|
<tr class="overviewHead">
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td class="padding10 first-collumn checkbox-head"><span title="If checked Roxy-WI will restart Keepalived">Restart</span></td>
|
|
<td class="checkbox-head help_cursor" title="If checked, Keepalived master will reclaim VRRP after recovered">Return to Master state</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td class="padding10 first-collumn checkbox help_cursor">{{ checkbox('kp', title='If checked Roxy-WI will restart Keepalived') }}</td>
|
|
<td class="syn-flood-protection-field">{{ checkbox('add_return_to_master', checked='checked') }}</td>
|
|
<td>
|
|
<button id="add-vrrp" title="Add a HA configuration" style="width: 70px;">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/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>
|
|
{% endif %}
|
|
{% endblock %}
|