mirror of https://github.com/Aidaho12/haproxy-wi
parent
e59f47eed9
commit
7c285fd892
|
@ -130,7 +130,7 @@ print('<div id="tabs">'
|
||||||
'<li><a href="#listen">Listen</a></li>'
|
'<li><a href="#listen">Listen</a></li>'
|
||||||
'<li><a href="#frontend">Frontend</a></li>'
|
'<li><a href="#frontend">Frontend</a></li>'
|
||||||
'<li><a href="#backend">Backend</a></li>'
|
'<li><a href="#backend">Backend</a></li>'
|
||||||
'<li><a href="#ssl">Upload certs</a></li>'
|
'<li><a href="#ssl">SSL certificates</a></li>'
|
||||||
'</ul>'
|
'</ul>'
|
||||||
'<div id="listen">'
|
'<div id="listen">'
|
||||||
'<form name="add-listner" action="add.py">'
|
'<form name="add-listner" action="add.py">'
|
||||||
|
@ -448,12 +448,12 @@ print('</td>'
|
||||||
'<div id="ssl">'
|
'<div id="ssl">'
|
||||||
'<table>'
|
'<table>'
|
||||||
'<tr class="overviewHead">'
|
'<tr class="overviewHead">'
|
||||||
'<td class="padding10 first-collumn">Upload ssl pem certs</td>'
|
'<td class="padding10 first-collumn">Upload SSL certificates</td>'
|
||||||
'<td>'
|
'<td>'
|
||||||
'Name pem file'
|
'Certificate name'
|
||||||
'</td>'
|
'</td>'
|
||||||
'<td>'
|
'<td>'
|
||||||
'<span title="This pem key will be used to create https connection with haproxy">Key(?)</span>'
|
'<span title="This pem file will be used to create https connection with haproxy">Paste certificate content here(?)</span>'
|
||||||
'</td>'
|
'</td>'
|
||||||
'</tr>'
|
'</tr>'
|
||||||
'<tr style="width: 50%;">'
|
'<tr style="width: 50%;">'
|
||||||
|
@ -464,14 +464,16 @@ print('</td>'
|
||||||
for i in listhap:
|
for i in listhap:
|
||||||
print('<option value="%s">%s</option>' % (i[2], i[1]))
|
print('<option value="%s">%s</option>' % (i[2], i[1]))
|
||||||
|
|
||||||
print('</select></td>'
|
print('</select>'
|
||||||
'<td valign="top" style="padding-top: 27px;">'
|
'</td>'
|
||||||
|
'<td valign="top" style="padding-top: 27px;">'
|
||||||
'<input type="text" id="ssl_name" class="form-control">'
|
'<input type="text" id="ssl_name" class="form-control">'
|
||||||
'</td>'
|
'</td>'
|
||||||
'<td style="padding-top: 15px; padding-bottom: 15px;">'
|
'<td style="padding-top: 15px; padding-bottom: 15px;">'
|
||||||
'<textarea id="ssl_cert" cols="50" rows="5"></textarea><br /><br />'
|
'<textarea id="ssl_cert" cols="50" rows="5"></textarea><br /><br />'
|
||||||
'<a class="ui-button ui-widget ui-corner-all" id="ssl_key_upload" title="Upload ssl cert">Upload</a>'
|
'<a class="ui-button ui-widget ui-corner-all" id="ssl_key_upload" title="Upload ssl certificates">Upload</a>'
|
||||||
'</td>'
|
'</td>'
|
||||||
|
'</tr>'
|
||||||
'</table>'
|
'</table>'
|
||||||
'<div id="ajax-ssl"></div>'
|
'<div id="ajax-ssl"></div>'
|
||||||
'</div>')
|
'</div>')
|
||||||
|
|
|
@ -199,7 +199,7 @@ def links():
|
||||||
'</li>')
|
'</li>')
|
||||||
print('</ul>'
|
print('</ul>'
|
||||||
'</nav>'
|
'</nav>'
|
||||||
'<div class="copyright-menu">HAproxy-WI v2.0.6</div>'
|
'<div class="copyright-menu">HAproxy-WI v2.0.7</div>'
|
||||||
'</div>')
|
'</div>')
|
||||||
|
|
||||||
def show_login_links():
|
def show_login_links():
|
||||||
|
@ -213,7 +213,7 @@ def show_login_links():
|
||||||
|
|
||||||
def footer():
|
def footer():
|
||||||
print('</center></div>'
|
print('</center></div>'
|
||||||
'<center style="margin-left: 8%;">'
|
'<center>'
|
||||||
'<h3>'
|
'<h3>'
|
||||||
'<a class="ui-button ui-widget ui-corner-all" href="#top" title="Move up">UP</a>'
|
'<a class="ui-button ui-widget ui-corner-all" href="#top" title="Move up">UP</a>'
|
||||||
'</h3><br />'
|
'</h3><br />'
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
[main]
|
[main]
|
||||||
#Path to files destination
|
#Path to files destination
|
||||||
fullpath = /var/www/haproxy-wi/
|
fullpath = /var/www/haproxy-wi
|
||||||
cgi_path = %(fullpath)s/cgi-bin/
|
cgi_path = ${fullpath}/cgi-bin/
|
||||||
log_path = %(fullpath)s/log/
|
log_path = ${fullpath}/log/
|
||||||
|
cert_local_dir = ${cgi_path}/certs/
|
||||||
time_zone = UTC
|
time_zone = UTC
|
||||||
|
|
||||||
[configs]
|
[configs]
|
||||||
#Server for save configs from HAproxy servers
|
#Server for save configs from HAproxy servers
|
||||||
haproxy_configs_server = localhost
|
haproxy_configs_server = localhost
|
||||||
#Dir where configs will be save
|
#Dir where configs will be save
|
||||||
haproxy_save_configs_dir = /var/www/haproxy-wi/cgi-bin/hap_config/
|
haproxy_save_configs_dir = ${main:fullpath}/cgi-bin/hap_config/
|
||||||
|
|
||||||
[mysql]
|
[mysql]
|
||||||
#Enable MySQL DB. If default will be used Sqlite DB. Default disable
|
#Enable MySQL DB. If default will be used Sqlite DB. Default disable
|
||||||
|
@ -40,7 +41,7 @@ syslog_server =
|
||||||
#Default bot send message disable
|
#Default bot send message disable
|
||||||
enable = 0
|
enable = 0
|
||||||
token =
|
token =
|
||||||
channel_name =
|
channel_name =
|
||||||
proxy =
|
proxy =
|
||||||
|
|
||||||
[haproxy]
|
[haproxy]
|
||||||
|
|
|
@ -35,28 +35,35 @@ if form.getvalue('ssh_cert'):
|
||||||
print('<div class="alert alert-danger">Can\'t save ssh keys file. Check ssh keys path in config</div>')
|
print('<div class="alert alert-danger">Can\'t save ssh keys file. Check ssh keys path in config</div>')
|
||||||
else:
|
else:
|
||||||
print('<div class="alert alert-success">Ssh key was save into: %s </div>' % ssh_keys)
|
print('<div class="alert alert-success">Ssh key was save into: %s </div>' % ssh_keys)
|
||||||
|
|
||||||
|
funct.logging("local", "users.py#ssh upload new ssl cert %s" % ssh_keys)
|
||||||
|
|
||||||
if serv and form.getvalue('ssl_cert'):
|
if serv and form.getvalue('ssl_cert'):
|
||||||
|
cert_local_dir = config.get('main', 'cert_local_dir')
|
||||||
|
cert_path = config.get('haproxy', 'cert_path')
|
||||||
|
|
||||||
if form.getvalue('ssl_name') is None:
|
if form.getvalue('ssl_name') is None:
|
||||||
print('<div class="alert alert-danger">Please enter name pem file</div>')
|
print('<div class="alert alert-danger">Please enter desired name</div>')
|
||||||
else:
|
else:
|
||||||
name = form.getvalue('ssl_name') + '.pem'
|
name = form.getvalue('ssl_name') + '.pem'
|
||||||
cert_path = config.get('haproxy', 'cert_path')
|
|
||||||
try:
|
try:
|
||||||
with open(name, "w") as ssl_cert:
|
with open(name, "w") as ssl_cert:
|
||||||
ssl_cert.write(form.getvalue('ssl_cert'))
|
ssl_cert.write(form.getvalue('ssl_cert'))
|
||||||
except IOError:
|
except IOError:
|
||||||
print('<div class="alert alert-danger">Can\'t save ssh keys file. Check ssh keys path in config</div>')
|
print('<div class="alert alert-danger">Can\'t save ssl keys file. Check ssh keys path in config</div>')
|
||||||
else:
|
else:
|
||||||
print("Save ok")
|
print('<div class="alert alert-success">SSL file was upload to %s into: %s </div>' % (serv, cert_path))
|
||||||
|
|
||||||
MASTERS = sql.is_master(serv)
|
MASTERS = sql.is_master(serv)
|
||||||
for master in MASTERS:
|
for master in MASTERS:
|
||||||
if master[0] != None:
|
if master[0] != None:
|
||||||
funct.upload(master[0], cert_path, name)
|
funct.upload(master[0], cert_path, name)
|
||||||
funct.upload(serv, cert_path, name)
|
funct.upload(serv, cert_path, name)
|
||||||
os.system("rm -f %s" % name)
|
|
||||||
|
os.system("mv %s %s" % (name, cert_local_dir))
|
||||||
|
funct.logging(serv, "add.py#ssl upload new ssl cert %s" % name)
|
||||||
|
|
||||||
if backend is not None:
|
if backend is not None:
|
||||||
|
|
||||||
cmd='echo "show backend" |nc %s 1999' % serv
|
cmd='echo "show backend" |nc %s 1999' % serv
|
||||||
|
|
|
@ -25,7 +25,7 @@ print('<script src="/inc/users.js"></script>'
|
||||||
'<li><a href="#groups">Groups</a></li>'
|
'<li><a href="#groups">Groups</a></li>'
|
||||||
'<li><a href="#servers">Servers</a></li>'
|
'<li><a href="#servers">Servers</a></li>'
|
||||||
'<li><a href="#roles">Roles</a></li>'
|
'<li><a href="#roles">Roles</a></li>'
|
||||||
'<li><a href="#cert">Ssh certs</a></li>'
|
'<li><a href="#cert">Ssh key</a></li>'
|
||||||
'</ul>'
|
'</ul>'
|
||||||
'<div id="users">'
|
'<div id="users">'
|
||||||
'<table class="overview" id="ajax-users">'
|
'<table class="overview" id="ajax-users">'
|
||||||
|
@ -200,7 +200,7 @@ print('</table>'
|
||||||
'<div id="cert">'
|
'<div id="cert">'
|
||||||
'<table id="ssh">'
|
'<table id="ssh">'
|
||||||
'<tr class="overviewHead" style="width: 50%;">'
|
'<tr class="overviewHead" style="width: 50%;">'
|
||||||
'<td class="padding10 first-collumn">Upload ssh pem certs</td>'
|
'<td class="padding10 first-collumn">Upload SSH Key</td>'
|
||||||
'<td>'
|
'<td>'
|
||||||
'<span title="Private key. Note: The public key must be pre-installed on all servers to which you plan to connect">Key(?)</span>'
|
'<span title="Private key. Note: The public key must be pre-installed on all servers to which you plan to connect">Key(?)</span>'
|
||||||
'</td>'
|
'</td>'
|
||||||
|
@ -208,7 +208,7 @@ print('</table>'
|
||||||
'</tr>'
|
'</tr>'
|
||||||
'<tr style="width: 50%;">'
|
'<tr style="width: 50%;">'
|
||||||
'<td class="first-collumn" valign="top" style="padding-top: 15px;">'
|
'<td class="first-collumn" valign="top" style="padding-top: 15px;">'
|
||||||
'<b>Note:</b> Somthing about ssh keys'
|
'<b>Note:</b> Paste pem file content here'
|
||||||
'</td>'
|
'</td>'
|
||||||
'<td style="padding-top: 15px;">'
|
'<td style="padding-top: 15px;">'
|
||||||
'<textarea id="ssh_cert" cols="50" rows="5"></textarea><br /><br />'
|
'<textarea id="ssh_cert" cols="50" rows="5"></textarea><br /><br />'
|
||||||
|
|
|
@ -667,16 +667,17 @@ $( function() {
|
||||||
type: "GET",
|
type: "GET",
|
||||||
success: function( data ) {
|
success: function( data ) {
|
||||||
data = data.replace(/\s+/g,' ');
|
data = data.replace(/\s+/g,' ');
|
||||||
if (data.indexOf('alert') != '-1') {
|
if (data.indexOf('danger') != '-1') {
|
||||||
$("#ajax-ssl").append(data);
|
$("#ajax-ssl").html(data);
|
||||||
} else if (data == "Save ok ") {
|
} else if (data.indexOf('success') != '-1') {
|
||||||
$('.alert-danger').remove();
|
$('.alert-danger').remove();
|
||||||
$("#ssl").addClass( "update", 1000 );
|
$("#ssl").addClass( "update", 1000 );
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
$( "#ssl").removeClass( "update" );
|
$( "#ssl").removeClass( "update" );
|
||||||
}, 2500 );
|
}, 2500 );
|
||||||
|
$("#ajax-ssl").html(data);
|
||||||
} else {
|
} else {
|
||||||
$("#ajax-ssl").append('<div class="alert alert-danger">Something wrong, check and try again</div>');
|
$("#ajax-ssl").html('<div class="alert alert-danger">Something wrong, check and try again</div>');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
|
|
|
@ -534,16 +534,18 @@ a:focus {
|
||||||
color: #a94442;
|
color: #a94442;
|
||||||
background-color: #f2dede;
|
background-color: #f2dede;
|
||||||
border-color: #ebccd1;
|
border-color: #ebccd1;
|
||||||
width: 330px;
|
width: 400px;
|
||||||
display: block;
|
display: block;
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
margin-bottom: -50px;
|
margin-bottom: -50px;
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
}
|
}
|
||||||
.alert-success {
|
.alert-success {
|
||||||
color: #3c763d;
|
color: #3c763d;
|
||||||
background-color: #dff0d8;
|
background-color: #dff0d8;
|
||||||
border-color: #d6e9c6;
|
border-color: #d6e9c6;
|
||||||
|
width: 400px;
|
||||||
|
margin-left: 15px;
|
||||||
}
|
}
|
||||||
label {
|
label {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
22
inc/users.js
22
inc/users.js
|
@ -312,16 +312,18 @@ function uploadSsh() {
|
||||||
type: "GET",
|
type: "GET",
|
||||||
success: function( data ) {
|
success: function( data ) {
|
||||||
data = data.replace(/\s+/g,' ');
|
data = data.replace(/\s+/g,' ');
|
||||||
if (data.indexOf('alert-danger') != '-1') {
|
if (data.indexOf('danger') != '-1') {
|
||||||
$("#ajax-ssh").append(data);
|
$("#ajax-ssh").html(data);
|
||||||
} else {
|
} else if (data.indexOf('success') != '-1') {
|
||||||
$('.alert-danger').remove();
|
$('.alert-danger').remove();
|
||||||
$("#ssh").addClass( "update", 1000 );
|
$("#ssh").addClass( "update", 1000 );
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
$( "#ssh").removeClass( "update" );
|
$( "#ssh").removeClass( "update" );
|
||||||
}, 2500 );
|
}, 2500 );
|
||||||
$("#ajax-ssh").append(data);
|
$("#ajax-ssh").html(data);
|
||||||
}
|
} else {
|
||||||
|
$("#ajax-ssh").html('<div class="alert alert-danger">Something wrong, check and try again</div>');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
}
|
}
|
Loading…
Reference in New Issue