[API] Masiv update to api (#1990)

* Masiv refactor of the api

* Masiv refactor of the api

* Format page.tsx

* Format page.tsx

* testing

* update build.func

* Change urls to Repo

* Change urls to Repo

* update install.func

* Add post_to_api_vm

* Update api.func

* Update api.func

* Update api.func

* update api.func
This commit is contained in:
Michel Roegl-Brunner
2025-02-04 13:23:20 +01:00
committed by GitHub
parent 0e5f663df5
commit 8129e3cf39
4 changed files with 164 additions and 125 deletions

View File

@@ -13,6 +13,7 @@ variables() {
METHOD="default" # sets the METHOD variable to "default", used for the API call.
RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)" # generates a random UUID and sets it to the RANDOM_UUID variable.
}
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func)
# This function sets various color variables using ANSI escape codes for formatting text in the terminal.
color() {
@@ -791,74 +792,6 @@ advanced_settings() {
fi
}
post_to_api() {
if [ "$DIAGNOSTICS" = "no" ]; then
return 0
fi
local API_URL="http://api.community-scripts.org/upload"
local pve_version="not found"
pve_version=$(pveversion | awk -F'[/ ]' '{print $2}')
JSON_PAYLOAD=$(cat <<EOF
{
"ct_type": $CT_TYPE,
"disk_size": $DISK_SIZE,
"core_count": $CORE_COUNT,
"ram_size": $RAM_SIZE,
"os_type": "$var_os",
"os_version": "$var_version",
"disableip6": "$DISABLEIP6",
"nsapp": "$NSAPP",
"method": "$METHOD",
"pve_version": "$pve_version",
"status": "installing",
"random_id": "$RANDOM_UUID"
}
EOF
)
RESPONSE=$(curl -s -o response.txt -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
-H "Content-Type: application/json" \
-d "$JSON_PAYLOAD")
if [ "$RESPONSE" -ne 201 ] && [ "$RESPONSE" -ne 302 ]; then
msg_error "API request failed with HTTP code $RESPONSE"
fi
}
POST_UPDATE_DONE=false
post_update_to_api() {
if [ "$DIAGNOSTICS" = "no" ]; then
return 0
fi
if [ "$POST_UPDATE_DONE" = true ]; then
return 0
fi
local API_URL="http://api.community-scripts.org/upload/updatestatus"
local status="${1:-failed}"
JSON_PAYLOAD=$(cat <<EOF
{
"status": "$status",
"random_id": "$RANDOM_UUID"
}
EOF
)
RESPONSE=$(curl -s -o response.txt -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \
-H "Content-Type: application/json" \
-d "$JSON_PAYLOAD")
if [ "$RESPONSE" -ne 201 ] && [ "$RESPONSE" -ne 302 ]; then
msg_error "API UPDATE request failed with HTTP code $RESPONSE"
fi
POST_UPDATE_DONE=true
}
diagnostics_check(){
if ! [ -d "/usr/local/community-scripts" ]; then
mkdir -p /usr/local/community-scripts
@@ -1091,6 +1024,7 @@ build_container() {
else
export FUNCTIONS_FILE_PATH="$(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/install.func)"
fi
export RANDOM_UUID="$RANDOM_UUID"
export CACHER="$APT_CACHER"
export CACHER_IP="$APT_CACHER_IP"
export tz="$timezone"
@@ -1229,10 +1163,10 @@ EOF
systemctl start ping-instances.service
fi
post_update_to_api "done"
post_update_to_api "done" "none"
}
trap 'post_update_to_api "failed"' EXIT
trap 'post_update_to_api "failed"' SIGINT
trap 'post_update_to_api "failed"' SIGTERM
trap 'post_update_to_api "failed" "unknown error"' EXIT
trap 'post_update_to_api "failed" "SIG INTERUPT"' SIGINT
trap 'post_update_to_api "failed" "SIG TERM"' SIGTERM