189 lines
4.6 KiB
PHP
189 lines
4.6 KiB
PHP
<?php
|
|
include "functions.php";
|
|
sleep(1);
|
|
switch ($_GET["op"]) {
|
|
case "redis":
|
|
try {
|
|
$ret = ping_redis();
|
|
if ($ret===false) {
|
|
echo "Can't ping redis-server";
|
|
}
|
|
else echo "OK";
|
|
} catch (RedisException $e) {
|
|
echo "RedisException caught: " . $e->getMessage();
|
|
}
|
|
break;
|
|
case "check_install":
|
|
$arr = check_redis("web_out",$_GET["key"]);
|
|
if (!empty($arr)) {
|
|
foreach ($arr as $key=>$data) {
|
|
//echo $key."-".$_GET["key"];
|
|
if ($key==$_GET["key"]) { // if install key moved to web_out
|
|
if ($data["INSTALL_STATUS"]>0) {
|
|
redis_remove("$key");
|
|
echo "INSTALLED";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else echo "NOT EXISTS";
|
|
break;
|
|
case "system":
|
|
$arr = array("STATUS" => 0);
|
|
$json = json_encode($arr, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
|
|
|
$op = "system"; //"init:".date("YmdHis");
|
|
redis_set($op,$json);
|
|
echo "OK"; // TODO?
|
|
break;
|
|
case "check_system":
|
|
$arr = check_redis("web_out","system");
|
|
if (!empty($arr)) {
|
|
foreach ($arr as $key=>$data) {
|
|
if ($key=="system") {
|
|
if ($data["INSTALL_STATUS"]==2) echo "NEW";
|
|
elseif ($data["INSTALL_STATUS"]==1) {
|
|
if ($_GET["services"]==1) {
|
|
foreach ($data["INSTALLED_SERVICES"] as $service_name => $content) {
|
|
//echo base64_decode($content);
|
|
echo $service_name."<br>";
|
|
}
|
|
echo "<br>";
|
|
}
|
|
else echo "EXISTS";
|
|
}
|
|
redis_remove("$key");
|
|
}
|
|
}
|
|
}
|
|
else echo "WAIT";
|
|
break;
|
|
case "deployments":
|
|
$arr = array("STATUS" => 0);
|
|
$json = json_encode($arr, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
|
|
|
$op = "deployments";
|
|
redis_set($op,$json);
|
|
echo "OK"; // TODO?
|
|
break;
|
|
case "check_deployments":
|
|
$arr = check_redis("web_out","deployments");
|
|
if (!empty($arr)) {
|
|
foreach ($arr as $key=>$data) {
|
|
if ($key=="deployments") {
|
|
if (count($data["DEPLOYMENTS"])) {
|
|
if ($data["DEPLOYMENTS"]["deployments"]=="NONE") echo "There are no deployments.<br>";
|
|
else {
|
|
foreach ($data["DEPLOYMENTS"] as $service_name => $content) {
|
|
//echo base64_decode($content);
|
|
echo $service_name."<br>";
|
|
}
|
|
}
|
|
}
|
|
else echo "There are no deployments.<br>";
|
|
|
|
if (count($data["INSTALLED_SERVICES"])) {
|
|
if ($data["INSTALLED_SERVICES"]["services"]=="NONE") echo "There are no installed services.<br>";
|
|
else {
|
|
foreach ($data["INSTALLED_SERVICES"] as $service_name => $content) {
|
|
//echo base64_decode($content);
|
|
echo $service_name."<br>";
|
|
}
|
|
echo "<br>";
|
|
}
|
|
}
|
|
else echo "There are no installed services.<br>";
|
|
redis_remove("$key");
|
|
}
|
|
}
|
|
}
|
|
else echo "";
|
|
break;
|
|
case "deploy":
|
|
if ($key=check_deploy()) {
|
|
$header_text="A deployment has already started.<br>Please wait and do not start a new one...";
|
|
}
|
|
else {
|
|
$header_text="Installing in progress... Please wait...";
|
|
$key = "deploy:".date("YmdHis");
|
|
redis_set($key,$json);
|
|
//$key = "deploy:20240816101849"; // DEBUG
|
|
}
|
|
break;
|
|
case "check_deploy":
|
|
$arr = check_redis("web_out",$_GET["key"]);
|
|
if (!empty($arr)) {
|
|
foreach ($arr as $key=>$data) {
|
|
//echo $key."-".$_GET["key"];
|
|
if ($key==$_GET["key"]) { // if install key moved to web_out
|
|
if ($data["INSTALL_STATUS"]>0) {
|
|
redis_remove("$key");
|
|
echo "INSTALLED";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else echo "NOT EXISTS";
|
|
break;
|
|
case "repositories":
|
|
$arr = array("STATUS" => 0);
|
|
$json = json_encode($arr, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
|
|
|
$op = "repositories";
|
|
redis_set($op,$json);
|
|
echo "OK"; // TODO?
|
|
break;
|
|
case "check_repositories":
|
|
$arr = check_redis("web_out","repositories");
|
|
if (!empty($arr)) {
|
|
foreach ($arr as $key=>$data) {
|
|
if ($key=="repositories") {
|
|
$repos = json_decode(base64_decode($data["REPOSITORIES"]));
|
|
foreach ($repos->repositories as $repo) {
|
|
echo $repo."<br>";
|
|
}
|
|
redis_remove("$key");
|
|
}
|
|
}
|
|
redis_remove("add_repository");
|
|
}
|
|
else echo "";
|
|
break;
|
|
case "add_repository":
|
|
redis_remove("add_repository");
|
|
|
|
$arr = array("NEW_REPO" => $_GET["repo"]);
|
|
$json = json_encode($arr, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
|
|
|
$op = "add_repository";
|
|
redis_set($op,$json);
|
|
echo "OK"; // TODO?
|
|
break;
|
|
case "containers":
|
|
$arr = array("STATUS" => 0);
|
|
$json = json_encode($arr, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
|
|
|
$op = "containers";
|
|
redis_set($op,$json);
|
|
echo "OK"; // TODO?
|
|
break;
|
|
case "check_containers":
|
|
$arr = check_redis("web_out","containers");
|
|
if (!empty($arr)) {
|
|
foreach ($arr as $key=>$data) {
|
|
if ($key=="containers") {
|
|
echo base64_decode($data["RESULT"]);
|
|
redis_remove("$key");
|
|
}
|
|
}
|
|
}
|
|
else echo "";
|
|
break;
|
|
case "docker":
|
|
echo true;
|
|
break;
|
|
|
|
}
|
|
|
|
?>
|