From f362c1699b69db3f7ac95e7571f4a32e4fd4cd40 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 17 May 2025 12:33:35 +1200 Subject: [PATCH] variables now correctly passed through to commands run from _allservicestatus.sh --- source/agent/_allservicesstatus.sh | 16 ++---- source/src/autogen/_agent.cpp | 80 ++++++++++++++---------------- source/src/service_runner.cpp | 6 ++- 3 files changed, 46 insertions(+), 56 deletions(-) diff --git a/source/agent/_allservicesstatus.sh b/source/agent/_allservicesstatus.sh index 99bdc1b..0c96da2 100755 --- a/source/agent/_allservicesstatus.sh +++ b/source/agent/_allservicesstatus.sh @@ -65,22 +65,16 @@ function run_command() { # run the command in a subshell to prevent environment changes CURRENT_OUTPUT=$( set -a + load_dotenv "${service_path}/template/_default.env" load_dotenv "${service_path}/config/service.env" load_dotenv "${service_path}/config/.template_info.env" - set +a - # all_env_vars["CONFIG_PATH"] = remotepath::service_config(server_name,service_name); - # all_env_vars["SERVER"] = server_name; - # all_env_vars["SERVICE"] = service_name; - # all_env_vars["AGENT_PATH"] = remotepath::agent(server_name); - # all_env_vars["HOST_NAME"] = server_info.ssh_host; # update the main variables. - export CONFIG_PATH="${service_path}/config" - # SERVER is already set - export SERVICE="${SERVICE_NAME}" - export AGENT_PATH="${SCRIPT_DIR}" - # HOST_NAME is already set + CONFIG_PATH="${service_path}/config" + SERVICE="${SERVICE_NAME}" + + set +a _check_required_env_vars_allservicesstatus "CONFIG_PATH" "SERVER" "SERVICE" "AGENT_PATH" "HOST_NAME" "TEMPLATE" diff --git a/source/src/autogen/_agent.cpp b/source/src/autogen/_agent.cpp index 05efcda..b87efb9 100644 --- a/source/src/autogen/_agent.cpp +++ b/source/src/autogen/_agent.cpp @@ -283,49 +283,41 @@ bool recreate_tree(std::string destination_folder) { "CiAgICBpZiBbICEgLWYgIiR7c2VydmljZV9wYXRofS90ZW1wbGF0ZS8ke2NvbW1hbmR9LnNoIiBd"\ "OyB0aGVuCiAgICAgICAgcmV0dXJuOwogICAgZmkKCiAgICAjIHJ1biB0aGUgY29tbWFuZCBpbiBh"\ "IHN1YnNoZWxsIHRvIHByZXZlbnQgZW52aXJvbm1lbnQgY2hhbmdlcwogICAgQ1VSUkVOVF9PVVRQ"\ - "VVQ9JCgKICAgICAgICBzZXQgLWEKICAgICAgICBsb2FkX2RvdGVudiAiJHtzZXJ2aWNlX3BhdGh9"\ - "L3RlbXBsYXRlL19kZWZhdWx0LmVudiIKICAgICAgICBsb2FkX2RvdGVudiAiJHtzZXJ2aWNlX3Bh"\ - "dGh9L2NvbmZpZy9zZXJ2aWNlLmVudiIKICAgICAgICBsb2FkX2RvdGVudiAiJHtzZXJ2aWNlX3Bh"\ - "dGh9L2NvbmZpZy8udGVtcGxhdGVfaW5mby5lbnYiCiAgICAgICAgc2V0ICthCgogICAgICAgICMg"\ - "YWxsX2Vudl92YXJzWyJDT05GSUdfUEFUSCJdID0gcmVtb3RlcGF0aDo6c2VydmljZV9jb25maWco"\ - "c2VydmVyX25hbWUsc2VydmljZV9uYW1lKTsKICAgICAgICAjIGFsbF9lbnZfdmFyc1siU0VSVkVS"\ - "Il0gPSBzZXJ2ZXJfbmFtZTsKICAgICAgICAjIGFsbF9lbnZfdmFyc1siU0VSVklDRSJdID0gc2Vy"\ - "dmljZV9uYW1lOwogICAgICAgICMgYWxsX2Vudl92YXJzWyJBR0VOVF9QQVRIIl0gPSByZW1vdGVw"\ - "YXRoOjphZ2VudChzZXJ2ZXJfbmFtZSk7CiAgICAgICAgIyBhbGxfZW52X3ZhcnNbIkhPU1RfTkFN"\ - "RSJdID0gc2VydmVyX2luZm8uc3NoX2hvc3Q7CiAgICAgICAgIyB1cGRhdGUgdGhlIG1haW4gdmFy"\ - "aWFibGVzLgogICAgICAgIGV4cG9ydCBDT05GSUdfUEFUSD0iJHtzZXJ2aWNlX3BhdGh9L2NvbmZp"\ - "ZyIKICAgICAgICAjIFNFUlZFUiBpcyBhbHJlYWR5IHNldAogICAgICAgIGV4cG9ydCBTRVJWSUNF"\ - "PSIke1NFUlZJQ0VfTkFNRX0iCiAgICAgICAgZXhwb3J0IEFHRU5UX1BBVEg9IiR7U0NSSVBUX0RJ"\ - "Un0iCiAgICAgICAgIyBIT1NUX05BTUUgaXMgYWxyZWFkeSBzZXQKCiAgICAgICAgX2NoZWNrX3Jl"\ - "cXVpcmVkX2Vudl92YXJzX2FsbHNlcnZpY2Vzc3RhdHVzICJDT05GSUdfUEFUSCIgIlNFUlZFUiIg"\ - "IlNFUlZJQ0UiICJBR0VOVF9QQVRIIiAiSE9TVF9OQU1FIiAiVEVNUExBVEUiCgogICAgICAgIGlm"\ - "IFsgIiRjYXB0dXJlX291dHB1dCIgPSAidHJ1ZSIgXTsgdGhlbgogICAgICAgICAgICAjIENhcHR1"\ - "cmUgYW5kIHJldHVybiBvdXRwdXQKICAgICAgICAgICAgYmFzaCAiJHtzZXJ2aWNlX3BhdGh9L3Rl"\ - "bXBsYXRlLyR7Y29tbWFuZH0uc2giIDI+JjEKICAgICAgICBlbHNlCiAgICAgICAgICAgICMgUnVu"\ - "IHNpbGVudGx5IGFuZCByZXR1cm4gZXhpdCBjb2RlCiAgICAgICAgICAgIGJhc2ggIiR7c2Vydmlj"\ - "ZV9wYXRofS90ZW1wbGF0ZS8ke2NvbW1hbmR9LnNoIiA+IC9kZXYvbnVsbCAyPiYxCiAgICAgICAg"\ - "ZmkKICAgICkKICAgIENVUlJFTlRfRVhJVF9DT0RFPSQ/Cn0KCmZ1bmN0aW9uIGNvbW1hbmRfZXhp"\ - "c3RzKCkgewogICAgbG9jYWwgc2VydmljZV9wYXRoPSQxCiAgICBsb2NhbCBjb21tYW5kPSQyCiAg"\ - "ICBpZiBbICEgLWYgIiR7c2VydmljZV9wYXRofS90ZW1wbGF0ZS8ke2NvbW1hbmR9LnNoIiBdOyB0"\ - "aGVuCiAgICAgICAgcmV0dXJuIDEKICAgIGZpCiAgICByZXR1cm4gMAp9CgoKCiMgR2V0IGFsbCBz"\ - "ZXJ2aWNlIG5hbWVzClNFUlZJQ0VfTkFNRVM9JChscyAiJHtTRVJWSUNFU19QQVRIfSIpCgojIEl0"\ - "ZXJhdGUgb3ZlciBhbGwgc2VydmljZSBuYW1lcwpmb3IgU0VSVklDRV9OQU1FIGluICR7U0VSVklD"\ - "RV9OQU1FU307IGRvCgogICAgU0VSVklDRV9QQVRIPSQocmVhbHBhdGggIiR7U0VSVklDRVNfUEFU"\ - "SH0vJHtTRVJWSUNFX05BTUV9IikKCiAgICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t"\ - "LS0KICAgICMgR2V0IHRoZSBzZXJ2aWNlIGhlYWx0aAogICAgaWYgISBjb21tYW5kX2V4aXN0cyAi"\ - "JHtTRVJWSUNFX1BBVEh9IiAic3RhdHVzIjsgdGhlbgogICAgICAgIFNFUlZJQ0VfSEVBTFRIPSJ1"\ - "bmtub3duIgogICAgZWxzZQogICAgICAgIHJ1bl9jb21tYW5kICIke1NFUlZJQ0VfUEFUSH0iICJz"\ - "dGF0dXMiICJmYWxzZSIKICAgICAgICBpZiBbICIke0NVUlJFTlRfRVhJVF9DT0RFfSIgLWVxIDAg"\ - "XTsgdGhlbgogICAgICAgICAgICBTRVJWSUNFX0hFQUxUSD0iaGVhbHRoeSIKICAgICAgICBlbHNl"\ - "CiAgICAgICAgICAgIFNFUlZJQ0VfSEVBTFRIPSJ1bmhlYWx0aHkiCiAgICAgICAgZmkKICAgIGZp"\ - "CgogICAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAjIEdldCB0aGUgc2Vy"\ - "dmljZSBwb3J0cwogICAgaWYgISBjb21tYW5kX2V4aXN0cyAiJHtTRVJWSUNFX1BBVEh9IiAicG9y"\ - "dHMiOyB0aGVuCiAgICAgICAgU0VSVklDRV9QT1JUUz0iIgogICAgZWxzZQogICAgICAgIHJ1bl9j"\ - "b21tYW5kICIke1NFUlZJQ0VfUEFUSH0iICJwb3J0cyIgInRydWUiCiAgICAgICAgU0VSVklDRV9Q"\ - "T1JUUz0iJHtDVVJSRU5UX09VVFBVVH0iCiAgICBmaQoKICAgICMtLS0tLS0tLS0tLS0tLS0tLS0t"\ - "LS0tLS0tLS0tLS0tLQogICAgIyByZXR1cm4gdGhlIGhlYWx0aCBhbmQgcG9ydHMKICAgIGVjaG8g"\ - "IiR7U0VSVklDRV9OQU1FfV9IRUFMVEg9JHtTRVJWSUNFX0hFQUxUSH0iCiAgICBlY2hvICIke1NF"\ - "UlZJQ0VfTkFNRX1fUE9SVFM9JHtTRVJWSUNFX1BPUlRTfSIKZG9uZQo="; + "VVQ9JCgKICAgICAgICBzZXQgLWEKCiAgICAgICAgbG9hZF9kb3RlbnYgIiR7c2VydmljZV9wYXRo"\ + "fS90ZW1wbGF0ZS9fZGVmYXVsdC5lbnYiCiAgICAgICAgbG9hZF9kb3RlbnYgIiR7c2VydmljZV9w"\ + "YXRofS9jb25maWcvc2VydmljZS5lbnYiCiAgICAgICAgbG9hZF9kb3RlbnYgIiR7c2VydmljZV9w"\ + "YXRofS9jb25maWcvLnRlbXBsYXRlX2luZm8uZW52IgoKICAgICAgICAjIHVwZGF0ZSB0aGUgbWFp"\ + "biB2YXJpYWJsZXMuCiAgICAgICAgQ09ORklHX1BBVEg9IiR7c2VydmljZV9wYXRofS9jb25maWci"\ + "CiAgICAgICAgU0VSVklDRT0iJHtTRVJWSUNFX05BTUV9IgoKICAgICAgICBzZXQgK2EKCiAgICAg"\ + "ICAgX2NoZWNrX3JlcXVpcmVkX2Vudl92YXJzX2FsbHNlcnZpY2Vzc3RhdHVzICJDT05GSUdfUEFU"\ + "SCIgIlNFUlZFUiIgIlNFUlZJQ0UiICJBR0VOVF9QQVRIIiAiSE9TVF9OQU1FIiAiVEVNUExBVEUi"\ + "CgogICAgICAgIGlmIFsgIiRjYXB0dXJlX291dHB1dCIgPSAidHJ1ZSIgXTsgdGhlbgogICAgICAg"\ + "ICAgICAjIENhcHR1cmUgYW5kIHJldHVybiBvdXRwdXQKICAgICAgICAgICAgYmFzaCAiJHtzZXJ2"\ + "aWNlX3BhdGh9L3RlbXBsYXRlLyR7Y29tbWFuZH0uc2giIDI+JjEKICAgICAgICBlbHNlCiAgICAg"\ + "ICAgICAgICMgUnVuIHNpbGVudGx5IGFuZCByZXR1cm4gZXhpdCBjb2RlCiAgICAgICAgICAgIGJh"\ + "c2ggIiR7c2VydmljZV9wYXRofS90ZW1wbGF0ZS8ke2NvbW1hbmR9LnNoIiA+IC9kZXYvbnVsbCAy"\ + "PiYxCiAgICAgICAgZmkKICAgICkKICAgIENVUlJFTlRfRVhJVF9DT0RFPSQ/Cn0KCmZ1bmN0aW9u"\ + "IGNvbW1hbmRfZXhpc3RzKCkgewogICAgbG9jYWwgc2VydmljZV9wYXRoPSQxCiAgICBsb2NhbCBj"\ + "b21tYW5kPSQyCiAgICBpZiBbICEgLWYgIiR7c2VydmljZV9wYXRofS90ZW1wbGF0ZS8ke2NvbW1h"\ + "bmR9LnNoIiBdOyB0aGVuCiAgICAgICAgcmV0dXJuIDEKICAgIGZpCiAgICByZXR1cm4gMAp9CgoK"\ + "CiMgR2V0IGFsbCBzZXJ2aWNlIG5hbWVzClNFUlZJQ0VfTkFNRVM9JChscyAiJHtTRVJWSUNFU19Q"\ + "QVRIfSIpCgojIEl0ZXJhdGUgb3ZlciBhbGwgc2VydmljZSBuYW1lcwpmb3IgU0VSVklDRV9OQU1F"\ + "IGluICR7U0VSVklDRV9OQU1FU307IGRvCgogICAgU0VSVklDRV9QQVRIPSQocmVhbHBhdGggIiR7"\ + "U0VSVklDRVNfUEFUSH0vJHtTRVJWSUNFX05BTUV9IikKCiAgICAjLS0tLS0tLS0tLS0tLS0tLS0t"\ + "LS0tLS0tLS0tLS0tLS0KICAgICMgR2V0IHRoZSBzZXJ2aWNlIGhlYWx0aAogICAgaWYgISBjb21t"\ + "YW5kX2V4aXN0cyAiJHtTRVJWSUNFX1BBVEh9IiAic3RhdHVzIjsgdGhlbgogICAgICAgIFNFUlZJ"\ + "Q0VfSEVBTFRIPSJ1bmtub3duIgogICAgZWxzZQogICAgICAgIHJ1bl9jb21tYW5kICIke1NFUlZJ"\ + "Q0VfUEFUSH0iICJzdGF0dXMiICJmYWxzZSIKICAgICAgICBpZiBbICIke0NVUlJFTlRfRVhJVF9D"\ + "T0RFfSIgLWVxIDAgXTsgdGhlbgogICAgICAgICAgICBTRVJWSUNFX0hFQUxUSD0iaGVhbHRoeSIK"\ + "ICAgICAgICBlbHNlCiAgICAgICAgICAgIFNFUlZJQ0VfSEVBTFRIPSJ1bmhlYWx0aHkiCiAgICAg"\ + "ICAgZmkKICAgIGZpCgogICAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAj"\ + "IEdldCB0aGUgc2VydmljZSBwb3J0cwogICAgaWYgISBjb21tYW5kX2V4aXN0cyAiJHtTRVJWSUNF"\ + "X1BBVEh9IiAicG9ydHMiOyB0aGVuCiAgICAgICAgU0VSVklDRV9QT1JUUz0iIgogICAgZWxzZQog"\ + "ICAgICAgIHJ1bl9jb21tYW5kICIke1NFUlZJQ0VfUEFUSH0iICJwb3J0cyIgInRydWUiCiAgICAg"\ + "ICAgU0VSVklDRV9QT1JUUz0iJHtDVVJSRU5UX09VVFBVVH0iCiAgICBmaQoKICAgICMtLS0tLS0t"\ + "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIyByZXR1cm4gdGhlIGhlYWx0aCBhbmQgcG9y"\ + "dHMKICAgIGVjaG8gIiR7U0VSVklDRV9OQU1FfV9IRUFMVEg9JHtTRVJWSUNFX0hFQUxUSH0iCiAg"\ + "ICBlY2hvICIke1NFUlZJQ0VfTkFNRX1fUE9SVFM9JHtTRVJWSUNFX1BPUlRTfSIKZG9uZQo="; // Decode Base64 data size_t decoded_size = (strlen(filedata_base64) * 3) / 4; @@ -333,7 +325,7 @@ bool recreate_tree(std::string destination_folder) { size_t actual_size; base64_decode(filedata_base64, strlen(filedata_base64), decoded_data, &actual_size); - bool file_written = _recreate_file_(outpath, 6522401384310166853ULL, std::filesystem::perms(493), decoded_data, actual_size); + bool file_written = _recreate_file_(outpath, 4383289270743338040ULL, std::filesystem::perms(493), decoded_data, actual_size); delete[] decoded_data; any_written = any_written || file_written; } diff --git a/source/src/service_runner.cpp b/source/src/service_runner.cpp index ee90d54..e532d6d 100644 --- a/source/src/service_runner.cpp +++ b/source/src/service_runner.cpp @@ -176,7 +176,11 @@ std::map service_runner::get_all_services_status(std } std::string output; - if (!execute_ssh_command(env.get_SSH_INFO(), sCommand(remotepath::agent(server_name), "./_allservicesstatus.sh", {{"HOST_NAME", server_name}}), cMode::CaptureOutput, &output)) + if (!execute_ssh_command(env.get_SSH_INFO(), sCommand(remotepath::agent(server_name), "./_allservicesstatus.sh", { + {"HOST_NAME", server_name}, + {"SERVER",server_name}, + {"AGENT_PATH", remotepath::agent(server_name)} + }), cMode::CaptureOutput, &output)) return status; std::stringstream ss(output);