Files
web-installer/manage.html
2024-09-16 14:59:48 +02:00

327 lines
8.5 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>INSTALLER TOOL</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.2.1/dist/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
<!-- Custom styles for this template -->
<link href="installer.css?t=3" rel="stylesheet">
</head>
<body id="manage" class="text-center">
<div class="container-fluid">
<div class="col-md-12">
<h1>Found deployed envinronment</h1>
<div style="text-align:right">
<a href="javascript:void()" id="settings_btn">SETTINGS</a>
</div>
<fieldset id="settings" class="hidden">
<fieldset>
<legend>Repositories</legend>
<div id="repositories" style="text-align:left">Loading...</div>
<hr>
<form class="form-install" action="#" method="post" id="add_repo">
<div class="row">
<div class="mb-3" style="text-align:left">
<label for="registry">Please add a new GIT repository URL: </label>
<input type="registry" class="form-control" name="repository" id="repository" size="100" value="" required>
<div class="invalid-feedback">
Please enter a valid repository url.
</div>
</div>
</div>
<div class="row">
<div class="mb-3">
<button class="btn btn-lg btn-primary btn-block" type="submit" id="repo_add_btn"> Add </button>
</div>
</div>
</form>
</fieldset>
<fieldset>
<legend>System services</legend>
<div id="system" style="text-align:left">Loading...</div>
</fieldset>
<fieldset>
<legend>Updates</legend>
<div id="update" style="text-align:left">
<a href="javascript:void()" id="update_btn">Looking for updates</a>
</div>
</fieldset>
</fieldset>
<div id="default">
<fieldset>
<legend>Deployments</legend>
<div id="deployments" style="text-align:left">Loading...</div>
</fieldset>
<fieldset>
<legend>Services</legend>
<pre><div id="services" style="text-align:left">Loading...</div></pre>
</fieldset>
<fieldset>
<legend>Disk management</legend>
</fieldset>
<fieldset>
<legend>Monitor</legend>
</fieldset>
</div>
</div>
</div>
<br>
<br>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.6/dist/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.2.1/dist/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
<script>
function check_repositories() {
var url = 'scan.php?op=check_repositories';
jQuery.get(url, function(data) {
if (data!="") {
jQuery("#repositories").html(data);
}
else setTimeout(check_repositories, 500);
});
}
function get_repositories() {
var url = 'scan.php?op=repositories';
jQuery.get(url, function(data) {
if (data=="OK") {
setTimeout(check_repositories, 500);
}
});
}
function add_repository() {
var url = 'scan.php?op=add_repository&repo='+jQuery('#repository').val();
jQuery.get(url, function(data) {
if (data=="OK") {
}
get_repositories();
});
}
function check_system() {
var url = 'scan.php?op=check_system&services=1';
jQuery.get(url, function(data) {
if (data=="WAIT" || data=="") {
setTimeout(check_system, 1000);
}
else {
jQuery("#system").html(data);
}
});
}
function get_system() {
var url = 'scan.php?op=system';
jQuery.get(url, function(data) {
if (data=="OK") {
setTimeout(check_system, 1000);
}
});
}
function check_updates() {
var url = 'scan.php?op=check_updates';
jQuery.get(url, function(data) {
if (data=="WAIT" || data=="") {
setTimeout(check_updates, 1000);
}
else {
jQuery("#updates").html(data);
}
});
}
function get_updates() {
var url = 'scan.php?op=update';
jQuery.get(url, function(data) {
if (data=="OK") {
setTimeout(check_update, 1000);
}
});
}
function check_deployments() {
var url = 'scan.php?op=check_deployments';
jQuery.get(url, function(data) {
if (data!="") {
jQuery("#deployments").html(data);
}
else setTimeout(check_deployments, 1000);
});
}
function get_deployments() {
var url = 'scan.php?op=deployments';
jQuery.get(url, function(data) {
if (data=="OK") {
setTimeout(check_deployments, 1000);
}
});
}
function load_template(additional) {
var url = 'scan.php?op=deployment&additional='+additional;
jQuery.get(url, function(data) {
if (data=="OK") {
setTimeout(check_deployment, 1000, additional);
}
});
}
function deploy(additional) {
pars = '';
jQuery('input.additional_field').each(function(index) {
console.log('Field ' + $(this).attr('id') + ': ' + $(this).val());
pars += '&'+$(this).attr('id') + '=' + $(this).val();
});
//console.log(pars);
var url = 'scan.php?op=deploy&additional='+additional+pars;
jQuery.get(url, function(data) {
if (data!="") {
jQuery("#"+additional).html(data);
setTimeout(check_deployment, 1000, additional);
}
});
}
function check_deployment(additional) {
var url = 'scan.php?op=check_deployment';
jQuery.get(url, function(data) {
if (data!="") {
jQuery("#"+additional).html(data);
}
else setTimeout(check_deployment, 1000, additional);
});
}
function check_services() {
var url = 'scan.php?op=check_services';
jQuery.get(url, function(data) {
if (data=="WAIT" || data=="") {
setTimeout(check_services, 1000);
}
else {
jQuery("#services").html(data);
}
});
}
function get_services() {
var url = 'scan.php?op=services';
jQuery.get(url, function(data) {
setTimeout(check_services, 1000);
});
}
function check_containers() {
var url = 'scan.php?op=check_containers';
jQuery.get(url, function(data) {
if (data!="") {
jQuery("#containers").html(data);
}
else setTimeout(check_containers, 1000);
});
}
function get_containers() {
var url = 'scan.php?op=containers';
jQuery.get(url, function(data) {
if (data=="OK") {
setTimeout(check_containers, 1000);
}
});
}
jQuery(document).ready(function(){
get_system();
get_repositories();
get_deployments();
get_services();
jQuery('#settings_btn').click(function() {
jQuery('#settings').toggle();
jQuery('#default').toggle();
});
jQuery('#update_btn').click(function() {
get_updates();
});
jQuery('#add_repo').submit(function() {
jQuery('#repositories').html('Loading...');
add_repository();
return false;
});
jQuery('select#smarthost').click(function() {
if (jQuery(this).val()=='yes') jQuery('#div_smarthost').show();
else jQuery('#div_smarthost').hide();
if (jQuery("#smarthost").val()=='no' && jQuery("#localproxy").val()=='yes') {
alert("Warning! Local proxy will not work without smarthost proxy service.");
}
});
jQuery('select#vpn').click(function() {
if (jQuery(this).val()=='yes') jQuery('#div_vpn').show();
else jQuery('#div_vpn').hide();
});
/*
jQuery('select#discovery').click(function() {
if (jQuery(this).val()=='yes') jQuery('#div_discover').show();
else jQuery('#div_discover').hide();
});
jQuery('select#additionals').click(function() {
if (jQuery(this).val()=='yes') jQuery('#div_additionals').show();
else jQuery('#div_additionals').hide();
});
jQuery('select#nextcloud').click(function() {
if (jQuery(this).val()=='Y') jQuery('#div_nextcloud').show();
else jQuery('#div_nextcloud').hide();
});
jQuery('select#bitwarden').click(function() {
if (jQuery(this).val()=='Y') jQuery('#div_bitwarden').show();
else jQuery('#div_bitwarden').hide();
});
jQuery('select#bitwarden_smtp').click(function() {
if (jQuery(this).val()=='3') jQuery('#div_bitwarden_smtp').show();
else jQuery('#div_bitwarden_smtp').hide();
});
jQuery('select#guacamole').click(function() {
if (jQuery(this).val()=='Y') jQuery('#div_guacamole').show();
else jQuery('#div_guacamole').hide();
});
jQuery('select#smtp_server').click(function() {
if (jQuery(this).val()=='Y') jQuery('#div_smtp_server').show();
else jQuery('#div_smtp_server').hide();
});
jQuery('select#roundcube').click(function() {
if (jQuery(this).val()=='Y') jQuery('#div_roundcube').show();
else jQuery('#div_roundcube').hide();
});
*/
});
</script>
</body>
</html>