This commit is contained in:
Michel Roegl-Brunner 2025-03-21 10:26:24 +01:00
parent 174b7d82e5
commit 7ddc7d5da5

View File

@ -2,6 +2,57 @@
# Author: michelroegl-brunner
# License: MIT | https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/LICENSE
get_error_description() {
local exit_code="$1"
case "$exit_code" in
0) echo " " ;;
1) echo "General error: An unspecified error occurred." ;;
2) echo "Incorrect shell usage or invalid command arguments." ;;
3) echo "Unexecuted function or invalid shell condition." ;;
4) echo "Error opening a file or invalid path." ;;
5) echo "I/O error: An input/output failure occurred." ;;
6) echo "No such device or address." ;;
7) echo "Insufficient memory or resource exhaustion." ;;
8) echo "Non-executable file or invalid file format." ;;
9) echo "Failed child process execution." ;;
18) echo "Connection to a remote server failed." ;;
22) echo "Invalid argument or faulty network connection." ;;
28) echo "No space left on device." ;;
35) echo "Timeout while establishing a connection." ;;
56) echo "Faulty TLS connection." ;;
60) echo "SSL certificate error." ;;
100) echo "LXC install error: Unexpected error in create_lxc.sh." ;;
101) echo "LXC install error: No network connection detected." ;;
200) echo "LXC creation failed." ;;
201) echo "LXC error: Invalid Storage class." ;;
202) echo "User aborted menu in create_lxc.sh." ;;
203) echo "CTID not set in create_lxc.sh." ;;
204) echo "PCT_OSTYPE not set in create_lxc.sh." ;;
205) echo "CTID cannot be less than 100 in create_lxc.sh." ;;
206) echo "CTID already in use in create_lxc.sh." ;;
207) echo "Template not found in create_lxc.sh." ;;
208) echo "Error downloading template in create_lxc.sh." ;;
209) echo "Container creation failed, but template is intact in create_lxc.sh." ;;
125) echo "Docker error: Container could not start." ;;
126) echo "Command not executable: Incorrect permissions or missing dependencies." ;;
127) echo "Command not found: Incorrect path or missing dependency." ;;
128) echo "Invalid exit signal, e.g., incorrect Git command." ;;
129) echo "Signal 1 (SIGHUP): Process terminated due to hangup." ;;
130) echo "Signal 2 (SIGINT): Manual termination via Ctrl+C." ;;
132) echo "Signal 4 (SIGILL): Illegal machine instruction." ;;
133) echo "Signal 5 (SIGTRAP): Debugging error or invalid breakpoint signal." ;;
134) echo "Signal 6 (SIGABRT): Program aborted itself." ;;
135) echo "Signal 7 (SIGBUS): Memory error, invalid memory address." ;;
137) echo "Signal 9 (SIGKILL): Process forcibly terminated (OOM-killer or 'kill -9')." ;;
139) echo "Signal 11 (SIGSEGV): Segmentation fault, possibly due to invalid pointer access." ;;
141) echo "Signal 13 (SIGPIPE): Pipe closed unexpectedly." ;;
143) echo "Signal 15 (SIGTERM): Process terminated normally." ;;
152) echo "Signal 24 (SIGXCPU): CPU time limit exceeded." ;;
255) echo "Unknown critical error, often due to missing permissions or broken scripts." ;;
*) echo "Unknown error code ($exit_code)." ;;
esac
}
post_to_api() {
if ! command -v curl &>/dev/null; then
@ -104,7 +155,20 @@ post_update_to_api() {
fi
local API_URL="http://api.community-scripts.org/dev/upload/updatestatus"
local status="${1:-failed}"
local error="${2:-No error message}"
if [[ "$status" == "failed" ]]; then
local exit_code="${2:-1}"
elif [[ "$status" == "success" ]]; then
local exit_code="${2:-0}"
fi
if [[ -z "$exit_code" ]]; then
exit_code=1
fi
error=$(get_error_description "$exit_code")
if [ -z "$error" ]; then
error="Unknown error"
fi
JSON_PAYLOAD=$(
cat <<EOF