librelad 96b04392dc feat(distribution): Phase 3 — hotfix scan generator + severity-split auto-apply
- CFG_HOTFIX_AUTO (security-breakage|all|off, default security-breakage) seeded in
  general_terminal; reaches existing installs via the add-only config reconciler.
- webui_artifact_scan.sh (webuiArtifactScan): fetch+verify the signed index, write
  artifacts_available.json ATOMICALLY (build in temp → jq-validate → one write;
  keep the prior file on any failure — never emits broken JSON). Annotates each
  artifact with applied (a per-id record exists) + applicable (target installed).
- artifactApplyAuto + `libreportal artifact apply-auto`: enqueue apply tasks for
  the eligible signed hotfixes — only when the index is VERIFIED-signed, only
  auto==true + in the severity policy + applicable + not already applied. Each
  apply is its own task (visible in the log + History), never applied inline.
- `updater check` now also refreshes the index (webuiArtifactScan) and runs
  artifactApplyAuto — one front door, no second phone-home.

Unit-tested 13/13: policy filtering (security-breakage / off / all), auto:false
exclusion, already-applied skip, non-installed-app skip, unsigned-index fail-closed,
and the scan transform's signed/applied/applicable fields.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-31 20:53:54 +01:00

57 lines
2.6 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
webui_scripts=(
"webui/data/generators/apps/webui_app_config.sh"
"webui/data/generators/apps/webui_app_status.sh"
"webui/data/generators/apps/webui_config_patch.sh"
"webui/data/generators/apps/webui_config.sh"
"webui/data/generators/apps/webui_services.sh"
"webui/data/generators/apps/webui_tools.sh"
"webui/data/generators/backup/webui_backup_app_status.sh"
"webui/data/generators/backup/webui_backup_dashboard.sh"
"webui/data/generators/backup/webui_backup_engines.sh"
"webui/data/generators/backup/webui_backup_locations.sh"
"webui/data/generators/backup/webui_backup_migrate.sh"
"webui/data/generators/backup/webui_backup_passwords.sh"
"webui/data/generators/backup/webui_backup_schema.sh"
"webui/data/generators/backup/webui_backup_snapshots.sh"
"webui/data/generators/backup/webui_task_create.sh"
"webui/data/generators/categories/webui_create_all_categories.sh"
"webui/data/generators/categories/webui_create_app_categories.sh"
"webui/data/generators/categories/webui_create_app_config_categories.sh"
"webui/data/generators/categories/webui_create_app_field_mappings.sh"
"webui/data/generators/config/webui_cli_config_set.sh"
"webui/data/generators/config/webui_generate_configs.sh"
"webui/data/generators/config/webui_update_config.sh"
"webui/data/generators/peers/webui_peers.sh"
"webui/data/generators/system/webui_ssh_access.sh"
"webui/data/generators/system/webui_system_disk.sh"
"webui/data/generators/system/webui_system_info.sh"
"webui/data/generators/system/webui_system_memory.sh"
"webui/data/generators/system/webui_system_metrics.sh"
"webui/data/generators/system/webui_system_update.sh"
"webui/data/generators/updater/webui_artifact_scan.sh"
"webui/data/generators/updater/webui_updater_scan.sh"
"webui/data/lock/webui_check_update_lock.sh"
"webui/data/lock/webui_create_update_lock.sh"
"webui/data/lock/webui_remove_setup_lock.sh"
"webui/data/lock/webui_remove_update_lock.sh"
"webui/data/logs/webui_app_logs.sh"
"webui/data/logs/webui_logs_folders.sh"
"webui/data/tasks/webui_task_files.sh"
"webui/data/utils/webui_app_icons.sh"
"webui/data/utils/webui_app_log.sh"
"webui/data/utils/webui_atomic_write.sh"
"webui/data/utils/webui_container_setup.sh"
"webui/webui_display_logins.sh"
"webui/webui_install_app.sh"
"webui/webui_install_image.sh"
"webui/webui_install_systemd.sh"
"webui/webui_regen.sh"
"webui/webui_updater.sh"
)