Files
MermsProvision/app/Controllers/Home.php
T
CHIEFSOFT\ameye 8faaa2e721 Provison hanging
2025-09-22 17:55:01 -04:00

104 lines
4.7 KiB
PHP

<?php
namespace App\Controllers;
use function MongoDB\BSON\toJSON;
class Home extends BaseController
{
public function index(): string
{
$data['label_env'] = $this->what_env();
$data["hanging_list"] = $this->getProvisionList(15, 6);
$data["completed_list"] = $this->getProvisionList(15, 7);
$data["starting_list"] = $this->getProvisionList(15, 1);
return view('welcome_message',$data);
}
public function what_env(): string
{
$curr_env = env('CONFIG_NAME','undefined?');
// echo env('CI_ENVIRONMENT');
return $curr_env;
}
private function getProvisionList($limit,$status){
$mysql ="SELECT * FROM members_products WHERE status = $status ORDER BY id DESC LIMIT $limit";
$query = $this->db->query($mysql);
return $query->getResult();
}
// public function provision(): string
// {
// $public_path = FCPATH;
// $ansible_folder = str_replace("public/", "ANSIBLE", $public_path);
// $partMachineLocal = "/home/chiefsoft/MermsProvision/ANSIBLE/parts/";
// if (!is_dir($ansible_folder."/parts") ){
// mkdir($ansible_folder."/parts", 0700);
// }
//
// $mysql = "SELECT id, uid, internal_url,product_id,status,provision_port FROM members_products WHERE provision_port = 0 ";
// $query = $this->db->query($mysql);
// // $num = $query->num_rows();
// $provision_list= $query->getResult();
// //$provision_list =[];
// foreach ($provision_list as $pr){
// $provisionPort = $pr->provision_port;
// $productId = $pr->product_id;
// $provisionUID = $pr->uid;
// $ContainerName= $productId.str_pad( $pr->id, 10, "0", STR_PAD_LEFT);
// $partFolder = $ansible_folder."/parts/".$provisionUID;
//
// $allocatedPort = 8011;
//
// if (!is_dir($partFolder) ){
// mkdir($partFolder, 0700);
// }
//
//
// // THIS PROVISONING COMPOSERS
// $composer_template_path = $ansible_folder."/templates/composers/".$productId."/docker-compose.yml";
// $composer_template_path_local = $partMachineLocal.$provisionUID;
//
// $prov_name = str_replace(".", "_", $pr->internal_url).".yml";
// $template_file = $ansible_folder ."/templates/".$pr->product_id.".yml";
// //Get the domposer template file
// $composer_template_contents = file_get_contents($composer_template_path);
// // Do the processing
// $composer_template_contents = str_replace("WHAT_CONTAINER_NAME", $ContainerName, $composer_template_contents);
// $destinationHomeFolder = "/home/chiefsoft/SITES/".$ContainerName;
// $composer_template_contents = str_replace("DESTINATION_FOLDER", $destinationHomeFolder, $composer_template_contents);
// $composer_template_contents = str_replace("ALLOCATED_PORT", $allocatedPort, $composer_template_contents);
// $composer_template_contents = str_replace("CNT_DB_NAME", $ContainerName, $composer_template_contents);
// $composer_template_contents = str_replace("CNT_DB_PASS", $provisionUID, $composer_template_contents);
// $composer_template_contents = str_replace("PROVISION_UID_REPLACE", $provisionUID, $composer_template_contents);
// //Save to the specific path
// $destination_composer_path = $ansible_folder."/parts/".$provisionUID."/docker-compose.yml";
// $composerFile = fopen( $destination_composer_path, "w") or die("Unable to open file!");
// fwrite($composerFile, $composer_template_contents);
// fclose($composerFile);
//
// // GET THE TEMPLATE FOR THIS PROVISIONING
// $template_content = file_get_contents($template_file);
// $template_content_processed = str_replace("WHAT_HOST_IN_USE", $productId."_SERVER", $template_content);
// $template_content_processed = str_replace("WHAT_PART_FOLDER", $partFolder, $template_content_processed);
// $template_content_processed = str_replace("DESTINATION_FOLDER", $destinationHomeFolder, $template_content_processed);
// $template_content_processed = str_replace("WHAT_PART_LOCAL", $composer_template_path_local, $template_content_processed); // depends on the local machine
// // CREATE PROVISOINING FILE
// $myfile = fopen( $ansible_folder ."/".$prov_name, "w") or die("Unable to open file!");
// fwrite($myfile, $template_content_processed);
// fclose($myfile);
// }
//
// // echo (__dir__);
//
//
//
// $data['label_env'] = "Olusesan";
//
// return view('welcome_message',$data);
// }
}