Adds the decision half of the app updater. Detection (P2) and the snapshot-first apply/revert (P3) were already real, but nothing ever pressed the button — every update waited for a click. CFG_<APP>_UPDATE_TYPE=auto|manual per app, default auto (33 templates) CFG_UPDATER_AUTO=true|false master switch, default true updaterAppPolicy resolves the two the way backupResolveStrategy already resolves backup strategy: the global switch can only make things more manual. updaterApplyAuto runs at the end of `updater check` and enqueues the ordinary updater_apply task for each auto app that has an update — never applies inline, so an automatic update is the same code path, task log, History entry and Roll back button as a manual one. Safety: each attempt stamps its target digest under generated/auto/, so a build that fails is rolled back and then left alone rather than retried on every scan; in-flight updater tasks are skipped so scans can't stack. Tracked end to end: updates.json carries each app's resolved update_type, History entries carry trigger=manual|auto. The WebUI says whether updates install themselves, chips only the apps that opted out, labels automatic history, and — since an auto app's pending update needs no decision — keeps it off the Overview board's "Needs action" view. Also fixes artifactApplyAuto enqueueing without --detach: it runs inside the single-threaded task processor's own poll, so following the new task in the foreground waits for a task that cannot start until it returns. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
64 lines
2.7 KiB
Bash
Executable File
64 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# This file is auto-generated by generate_arrays.sh
|
|
# Do not edit manually - run './scripts/source/files/generate_arrays.sh run' to regenerate
|
|
|
|
cli_scripts=(
|
|
"cli/cli_initialize.sh"
|
|
"cli/cli_update.sh"
|
|
"cli/commands/app/cli_app_commands.sh"
|
|
"cli/commands/app/cli_app_header.sh"
|
|
"cli/commands/app/cli_app_restore.sh"
|
|
"cli/commands/app/cli_app_tool_list.sh"
|
|
"cli/commands/artifact/cli_artifact_apply.sh"
|
|
"cli/commands/artifact/cli_artifact_commands.sh"
|
|
"cli/commands/artifact/cli_artifact_header.sh"
|
|
"cli/commands/backup/cli_backup_commands.sh"
|
|
"cli/commands/backup/cli_backup_header.sh"
|
|
"cli/commands/catalog/cli_catalog_commands.sh"
|
|
"cli/commands/catalog/cli_catalog_header.sh"
|
|
"cli/commands/config/cli_config_commands.sh"
|
|
"cli/commands/config/cli_config_header.sh"
|
|
"cli/commands/debug/cli_debug_commands.sh"
|
|
"cli/commands/debug/cli_debug_header.sh"
|
|
"cli/commands/dockertype/cli_dockertype_commands.sh"
|
|
"cli/commands/dockertype/cli_dockertype_header.sh"
|
|
"cli/commands/firewall/cli_firewall_commands.sh"
|
|
"cli/commands/firewall/cli_firewall_header.sh"
|
|
"cli/commands/help/cli_help_commands.sh"
|
|
"cli/commands/help/cli_help_header.sh"
|
|
"cli/commands/install/cli_install_commands.sh"
|
|
"cli/commands/install/cli_install_header.sh"
|
|
"cli/commands/instance/cli_instance_commands.sh"
|
|
"cli/commands/instance/cli_instance_header.sh"
|
|
"cli/commands/ip/cli_ip_commands.sh"
|
|
"cli/commands/ip/cli_ip_header.sh"
|
|
"cli/commands/peer/cli_peer_commands.sh"
|
|
"cli/commands/peer/cli_peer_header.sh"
|
|
"cli/commands/regen/cli_regen_commands.sh"
|
|
"cli/commands/regen/cli_regen_header.sh"
|
|
"cli/commands/reset/cli_reset_commands.sh"
|
|
"cli/commands/reset/cli_reset_header.sh"
|
|
"cli/commands/restore/cli_restore_commands.sh"
|
|
"cli/commands/restore/cli_restore_header.sh"
|
|
"cli/commands/setup/cli_setup_commands.sh"
|
|
"cli/commands/setup/cli_setup_header.sh"
|
|
"cli/commands/ssh/cli_ssh_commands.sh"
|
|
"cli/commands/ssh/cli_ssh_header.sh"
|
|
"cli/commands/system/cli_system_commands.sh"
|
|
"cli/commands/system/cli_system_header.sh"
|
|
"cli/commands/update/cli_update_commands.sh"
|
|
"cli/commands/update/cli_update_header.sh"
|
|
"cli/commands/updater/cli_updater_auto.sh"
|
|
"cli/commands/updater/cli_updater_commands.sh"
|
|
"cli/commands/updater/cli_updater_header.sh"
|
|
"cli/commands/validation/cli_validation_commands.sh"
|
|
"cli/commands/validation/cli_validation_header.sh"
|
|
"cli/commands/verify/cli_verify_commands.sh"
|
|
"cli/commands/verify/cli_verify_header.sh"
|
|
"cli/commands/webui/cli_webui_commands.sh"
|
|
"cli/commands/webui/cli_webui_header.sh"
|
|
"cli/task/cli_task_run.sh"
|
|
|
|
)
|