mirror of https://github.com/Aidaho12/haproxy-wi
parent
769df0f6c4
commit
676430c8a0
|
@ -733,7 +733,7 @@ def upload_and_restart(serv, cfg, **kwargs):
|
|||
commands = ["sudo "+haproxy_service_name+" -q -c -f " + tmp_file + " && sudo mv -f " + tmp_file + " " + config_path + " && sudo systemctl reload "+haproxy_service_name+""]
|
||||
else:
|
||||
commands = ["sudo "+haproxy_service_name+" -q -c -f " + tmp_file + " && sudo mv -f " + tmp_file + " " + config_path + " && sudo systemctl restart "+haproxy_service_name+""]
|
||||
if sql.get_setting('firewall_enable') == "1":
|
||||
if sql.return_firewall(serv):
|
||||
commands[0] += open_port_firewalld(cfg, serv=serv)
|
||||
error += str(upload(serv, tmp_file, cfg, dir='fullpath'))
|
||||
|
||||
|
|
|
@ -1648,6 +1648,7 @@ if form.getvalue('newserver') is not None:
|
|||
typeip = form.getvalue('typeip')
|
||||
haproxy = form.getvalue('haproxy')
|
||||
nginx = form.getvalue('nginx')
|
||||
firewall = form.getvalue('firewall')
|
||||
enable = form.getvalue('enable')
|
||||
master = form.getvalue('slave')
|
||||
cred = form.getvalue('cred')
|
||||
|
@ -1656,7 +1657,7 @@ if form.getvalue('newserver') is not None:
|
|||
port = form.getvalue('newport')
|
||||
desc = form.getvalue('desc')
|
||||
|
||||
if sql.add_server(hostname, ip, group, typeip, enable, master, cred, port, desc, haproxy, nginx):
|
||||
if sql.add_server(hostname, ip, group, typeip, enable, master, cred, port, desc, haproxy, nginx, firewall):
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
|
||||
env = Environment(loader=FileSystemLoader('templates/'), autoescape=True)
|
||||
|
@ -1688,6 +1689,7 @@ if form.getvalue('updateserver') is not None:
|
|||
typeip = form.getvalue('typeip')
|
||||
haproxy = form.getvalue('haproxy')
|
||||
nginx = form.getvalue('nginx')
|
||||
firewall = form.getvalue('firewall')
|
||||
enable = form.getvalue('enable')
|
||||
master = form.getvalue('slave')
|
||||
serv_id = form.getvalue('id')
|
||||
|
@ -1698,7 +1700,7 @@ if form.getvalue('updateserver') is not None:
|
|||
if name is None or port is None:
|
||||
print(error_mess)
|
||||
else:
|
||||
sql.update_server(name, group, typeip, enable, master, serv_id, cred, port, desc, haproxy, nginx)
|
||||
sql.update_server(name, group, typeip, enable, master, serv_id, cred, port, desc, haproxy, nginx, firewall)
|
||||
funct.logging('the server ' + name, ' has updated ', haproxywi=1, login=1)
|
||||
|
||||
if form.getvalue('serverdel') is not None:
|
||||
|
|
34
app/sql.py
34
app/sql.py
|
@ -291,11 +291,11 @@ def update_group(name, descript, id):
|
|||
return True
|
||||
|
||||
|
||||
def add_server(hostname, ip, group, typeip, enable, master, cred, port, desc, haproxy, nginx):
|
||||
def add_server(hostname, ip, group, typeip, enable, master, cred, port, desc, haproxy, nginx, firewall):
|
||||
con, cur = get_cur()
|
||||
sql = """ INSERT INTO servers (hostname, ip, groups, type_ip, enable, master, cred, port, `desc`, haproxy, nginx)
|
||||
VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')
|
||||
""" % (hostname, ip, group, typeip, enable, master, cred, port, desc, haproxy, nginx)
|
||||
sql = """ INSERT INTO servers (hostname, ip, groups, type_ip, enable, master, cred, port, `desc`, haproxy, nginx, firewall_enable)
|
||||
VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')
|
||||
""" % (hostname, ip, group, typeip, enable, master, cred, port, desc, haproxy, nginx, firewall)
|
||||
try:
|
||||
cur.execute(sql)
|
||||
con.commit()
|
||||
|
@ -336,6 +336,7 @@ def update_hapwi_server(server_id, alert, metrics, active, service_name):
|
|||
metrics = '%s',
|
||||
'%s' = '%s'
|
||||
where id = '%s'""" % (alert, metrics, updated_service, active, server_id)
|
||||
|
||||
try:
|
||||
cur.execute(sql)
|
||||
con.commit()
|
||||
|
@ -346,7 +347,7 @@ def update_hapwi_server(server_id, alert, metrics, active, service_name):
|
|||
con.close()
|
||||
|
||||
|
||||
def update_server(hostname, group, typeip, enable, master, id, cred, port, desc, haproxy, nginx):
|
||||
def update_server(hostname, group, typeip, enable, master, id, cred, port, desc, haproxy, nginx, firewall):
|
||||
con, cur = get_cur()
|
||||
sql = """ update servers set
|
||||
hostname = '%s',
|
||||
|
@ -358,8 +359,9 @@ def update_server(hostname, group, typeip, enable, master, id, cred, port, desc,
|
|||
port = '%s',
|
||||
`desc` = '%s',
|
||||
haproxy = '%s',
|
||||
nginx = '%s'
|
||||
where id = '%s'""" % (hostname, group, typeip, enable, master, cred, port, desc, haproxy, nginx, id)
|
||||
nginx = '%s',
|
||||
firewall_enable = '%s'
|
||||
where id = '%s'""" % (hostname, group, typeip, enable, master, cred, port, desc, haproxy, nginx, firewall, id)
|
||||
try:
|
||||
cur.execute(sql)
|
||||
con.commit()
|
||||
|
@ -2304,6 +2306,24 @@ def is_cloud():
|
|||
return cloud_uuid
|
||||
|
||||
|
||||
def return_firewall(serv):
|
||||
con, cur = get_cur()
|
||||
sql = """ select firewall_enable from servers where ip = '%s' """ % serv
|
||||
try:
|
||||
cur.execute(sql)
|
||||
except sqltool.Error as e:
|
||||
cur.close()
|
||||
con.close()
|
||||
return False
|
||||
else:
|
||||
for server in cur.fetchall():
|
||||
firewall = server[0]
|
||||
|
||||
cur.close()
|
||||
con.close()
|
||||
return True if firewall == '1' else False
|
||||
|
||||
|
||||
form = funct.form
|
||||
error_mess = 'error: All fields must be completed'
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
Port
|
||||
<span class="need-field">*</span>
|
||||
</td>
|
||||
<td>{{ input('new-port', value='22', size='1') }}</td>
|
||||
<td>{{ input('new-port', value='22', size='3') }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding20">Enable</td>
|
||||
|
@ -34,6 +34,10 @@
|
|||
<td class="padding20" title="Is there Nginx?">Nginx</td>
|
||||
<td>{{ checkbox('nginx') }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding20" title="Is there Firewall?">Firewall</td>
|
||||
<td>{{ checkbox('firewall') }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding20" title="Actions with master config will automatically apply on slave">Slave for</td>
|
||||
<td>
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
</th>
|
||||
<th class="checkbox-head" style="width: 5%">HAProxy</th>
|
||||
<th class="checkbox-head" style="width: 5%">Nginx</th>
|
||||
<th class="checkbox-head" style="width: 5%">
|
||||
<span title="If the server has a firewall enabled, enable this option">Firewall</span>
|
||||
</th>
|
||||
<th class="slave-field" style="width: 10%">
|
||||
<span title="Actions with the master config will automatically apply on the slave">Slave for</span>
|
||||
</th>
|
||||
|
@ -88,6 +91,14 @@
|
|||
{{ checkbox(id) }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="checkbox">
|
||||
{% set id = 'firewall-' + server.0|string() %}
|
||||
{% if server.18 == 1 %}
|
||||
{{ checkbox(id, checked='checked') }}
|
||||
{% else %}
|
||||
{{ checkbox(id) }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<select id="slavefor-{{server.0}}">
|
||||
<option value="0" selected>Not slave</option>
|
||||
|
|
|
@ -47,7 +47,7 @@ try:
|
|||
cmd = "sudo openvpn3 configs-list |grep -E 'ovpn|(^|[^0-9])[0-9]{4}($|[^0-9])' |grep -v net|awk -F\" \" '{print $1}'|awk 'ORS=NR%2?\" \":\"\\n\"'"
|
||||
openvpn_configs, stderr = funct.subprocess_execute(cmd)
|
||||
cmd = "sudo openvpn3 sessions-list|grep -E 'Config|Status'|awk -F\":\" '{print $2}'|awk 'ORS=NR%2?\" \":\"\\n\"'| sed 's/^ //g'"
|
||||
# cmd = 'echo "client.ovpn Connection, Client connected"'
|
||||
cmd = 'echo "client.ovpn Connection, Client connected"'
|
||||
openvpn_sess, stderr = funct.subprocess_execute(cmd)
|
||||
openvpn = stdout[0]
|
||||
|
||||
|
|
|
@ -405,6 +405,7 @@ function showLog() {
|
|||
}
|
||||
function showMap() {
|
||||
$("#ajax").empty();
|
||||
$('.alert').remove();
|
||||
try {
|
||||
myCodeMirror.toTextArea();
|
||||
} catch (e) {
|
||||
|
@ -414,7 +415,6 @@ function showMap() {
|
|||
$("h4").remove();
|
||||
$("#ajax-compare").empty();
|
||||
$("#config").empty();
|
||||
$(".alert-info").empty();
|
||||
var unique = $.now();
|
||||
$.ajax( {
|
||||
url: "options.py",
|
||||
|
@ -458,6 +458,7 @@ function showCompare() {
|
|||
}
|
||||
function showCompareConfigs() {
|
||||
$("#ajax").empty();
|
||||
$('.alert').remove();
|
||||
try {
|
||||
myCodeMirror.toTextArea();
|
||||
} catch (e) {
|
||||
|
@ -465,7 +466,6 @@ function showCompareConfigs() {
|
|||
}
|
||||
$("#saveconfig").remove();
|
||||
$("h4").remove();
|
||||
$(".alert-info").empty();
|
||||
$.ajax( {
|
||||
url: "options.py",
|
||||
data: {
|
||||
|
@ -492,6 +492,7 @@ function showCompareConfigs() {
|
|||
function showConfig() {
|
||||
var service = $('#service').val();
|
||||
$("#ajax").empty();
|
||||
$('.alert').remove();
|
||||
try {
|
||||
myCodeMirror.toTextArea();
|
||||
} catch (e) {
|
||||
|
@ -501,7 +502,6 @@ function showConfig() {
|
|||
$("h4").remove();
|
||||
$("#ajax-compare").empty();
|
||||
$("#config").empty();
|
||||
$(".alert").empty();
|
||||
$.ajax( {
|
||||
url: "options.py",
|
||||
data: {
|
||||
|
|
10
inc/users.js
10
inc/users.js
|
@ -860,6 +860,7 @@ function addServer(dialog_id) {
|
|||
var enable = 0;
|
||||
var haproxy = 0;
|
||||
var nginx = 0;
|
||||
var firewall = 0;
|
||||
if ($('#typeip').is(':checked')) {
|
||||
typeip = '1';
|
||||
}
|
||||
|
@ -872,6 +873,9 @@ function addServer(dialog_id) {
|
|||
if ($('#nginx').is(':checked')) {
|
||||
nginx = '1';
|
||||
}
|
||||
if ($('#firewall').is(':checked')) {
|
||||
firewall = '1';
|
||||
}
|
||||
allFields = $( [] ).add( $('#new-server-add') ).add( $('#new-ip') ).add( $('#new-port') )
|
||||
allFields.removeClass( "ui-state-error" );
|
||||
valid = valid && checkLength( $('#new-server-add'), "Hostname", 1 );
|
||||
|
@ -889,6 +893,7 @@ function addServer(dialog_id) {
|
|||
typeip: typeip,
|
||||
haproxy: haproxy,
|
||||
nginx: nginx,
|
||||
firewall: firewall,
|
||||
enable: enable,
|
||||
slave: $('#slavefor' ).val(),
|
||||
cred: cred,
|
||||
|
@ -1476,6 +1481,7 @@ function updateServer(id) {
|
|||
var enable = 0;
|
||||
var haproxy = 0;
|
||||
var nginx = 0;
|
||||
var firewall = 0;
|
||||
if ($('#typeip-'+id).is(':checked')) {
|
||||
typeip = '1';
|
||||
}
|
||||
|
@ -1488,6 +1494,9 @@ function updateServer(id) {
|
|||
if ($('#enable-'+id).is(':checked')) {
|
||||
enable = '1';
|
||||
}
|
||||
if ($('#firewall-'+id).is(':checked')) {
|
||||
firewall = '1';
|
||||
}
|
||||
var servergroup = $('#servergroup-'+id+' option:selected' ).val();
|
||||
if (cur_url[0].split('#')[0] == "servers.py") {
|
||||
servergroup = $('#new-server-group-add').val();
|
||||
|
@ -1501,6 +1510,7 @@ function updateServer(id) {
|
|||
typeip: typeip,
|
||||
haproxy: haproxy,
|
||||
nginx: nginx,
|
||||
firewall: firewall,
|
||||
enable: enable,
|
||||
slave: $('#slavefor-'+id+' option:selected' ).val(),
|
||||
cred: $('#credentials-'+id+' option:selected').val(),
|
||||
|
|
Loading…
Reference in New Issue