HelperScripts-for-ProxmoxVE/misc
CanbiZ (MickLesk) 3ce3c6f613
tools/pve: add data analytics / formatting / linting (#12034)
* core: add progress; fix exit status

Introduce post_progress_to_api() in alpine-install.func and install.func to send a lightweight, fire-and-forget telemetry ping (HTTP POST) that updates an existing telemetry record to "configuring" when DIAGNOSTICS=yes and RANDOM_UUID is set. The function is non-blocking (curl -m 5, errors ignored) and is invoked during container setup and after OS updates to signal active progress. Also adjust api_exit_script() in build.func to report success (post_update_to_api "done" "0") for cases where the script exited normally but a completion status wasn't posted, instead of reporting failure.

* Safer tools.func load and improved error handling

Replace process-substitution sourcing of tools.func with an explicit curl -> variable -> source via /dev/stdin, adding failure messages and a check that expected functions (e.g. fetch_and_deploy_gh_release) are present (misc/alpine-install.func, misc/install.func). Add categorize_error mapping for exit code 10 -> "config" (misc/api.func). Tweak build.func: minor pipeline formatting and change the ERR trap to capture the actual exit code and only call ensure_log_on_host/post_update on non-zero exits, preventing erroneous failure reporting.

* tools: add data init and auto-reporting to tools and pve section

Introduce telemetry helpers in misc/api.func: _telemetry_report_exit (reports success/failure via post_tool_to_api/post_addon_to_api) and init_tool_telemetry (reads DIAGNOSTICS, starts install timer and installs an EXIT trap to auto-report). Integrate telemetry into many tools/addon and tools/pve scripts by sourcing the remote api.func and calling init_tool_telemetry (guarded with declare -f). Also apply a minor arithmetic formatting tweak in misc/build.func for RECOVERY_ATTEMPT.
2026-02-17 16:36:20 +01:00
..
images remove old files and assets (#9991) 2025-12-15 17:37:26 +01:00
alpine-install.func core: error-handler improvements | better exit_code handling | better tools.func source check (#12019) 2026-02-17 13:25:17 +01:00
alpine-tools.func tools.func: persist /usr/local/bin in shell PATHs (#11970) 2026-02-16 10:30:05 +01:00
api.func tools/pve: add data analytics / formatting / linting (#12034) 2026-02-17 16:36:20 +01:00
build.func tools/pve: add data analytics / formatting / linting (#12034) 2026-02-17 16:36:20 +01:00
cloud-init.func feat(cloud-init): add interactive SSH key discovery and selection (#11547) 2026-02-05 08:11:13 +01:00
core.func core: improve error reporting with structured error strings and better categorization + output formatting (#11907) 2026-02-14 15:28:30 +01:00
error_handler.func core: smart recovery for failed installs | extend exit_codes (#11221) 2026-02-17 12:14:46 +01:00
install.func core: error-handler improvements | better exit_code handling | better tools.func source check (#12019) 2026-02-17 13:25:17 +01:00
tools.func tools.func: persist /usr/local/bin in shell PATHs (#11970) 2026-02-16 10:30:05 +01:00
vm-core.func core/vm's: ensure script state is sent on script exit (#11991) 2026-02-16 17:14:00 +01:00