feat(lazy-load): dual loader with LP_LAZY=1 opt-in (Phase 3)

scripts/source/loading/initilize_files.sh gains an LP_LAZY=1 branch:
  - Sources scripts/source/files/arrays/function_manifest.sh once. The
    manifest defines LP_FN_MAP, LP_EAGER_FILES, AND ~700 autoload stubs
    (precompiled by the generator — one parse cost vs evaluating 700
    snippets at startup).
  - Eager-sources every file listed in LP_EAGER_FILES (top-level side
    effects: variable assignments, source calls, bare commands). These
    can't safely be deferred — they'd skip the side effect, not just the
    function definition.
  - Skips the bulk loop that sources every files_to_source[@] entry.

Default behaviour (LP_LAZY unset or 0) is byte-identical to the previous
loader — every file gets eager-sourced up front. Long-running processes
(WebUI service, task processor) leave LP_LAZY unset because their first
call to anything wants the function already hot.

Each autoload stub looks like:
  funcname() {
    source "${install_scripts_dir}path/to/file.sh"
    funcname "$@"
  }

First call sources the real file, which redefines the function with the
real body; the stub's trailing `funcname "$@"` then calls the freshly-
defined real implementation. Sourcing the file also redefines stubs for
any sibling functions the same file declares, so they don't re-source.

Safety nets:
- Missing manifest → fall back to eager loading (`export LP_LAZY=0`).
  No regression risk if someone enables LP_LAZY=1 on a stale install
  whose regen never ran.
- LP_LOAD_TRACE=1 still works in lazy mode — it records the manifest
  parse + each eager file (tagged LAZY-manifest / LAZY-EAGER) so Phase 4
  can measure the actual saving.

No automatic flip yet — this commit only adds the path. Phase 4 will set
LP_LAZY=1 by default for the CLI entrypoint (and re-measure with the
trace tool from Phase 1).

Signed-off-by: librelad <librelad@digitalangels.vip>
This commit is contained in:
librelad 2026-05-26 20:51:24 +01:00
parent 2543f545a3
commit c68254ad70
3 changed files with 781 additions and 16 deletions

View File

@ -747,3 +747,708 @@ LP_EAGER_FILES=(
"source/files/arrays/files_webui.sh"
"source/files/arrays/function_manifest.sh"
)
# Autoload stubs — one per public function. First call sources the
# real file (which redefines this stub with the real body), then
# re-invokes. Sourced inline instead of eval-in-loop because bash
# parses one large file faster than it evals 700 small snippets.
# Only emitted when the manifest is read; behaviour-neutral when the
# loader does not flip into LP_LAZY=1 mode.
acquireSingletonLock() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; acquireSingletonLock "$@"; }
adoptDockerSubnet() { source "${install_scripts_dir}checks/requirements/check_docker_network.sh"; adoptDockerSubnet "$@"; }
appGenerate() { source "${install_scripts_dir}app/app_generate.sh"; appGenerate "$@"; }
appGetKeyData() { source "${install_scripts_dir}app/app_get_key_data.sh"; appGetKeyData "$@"; }
appInstallCheckRequirements() { source "${install_scripts_dir}checks/requirements/check_app_install.sh"; appInstallCheckRequirements "$@"; }
appInstallMenu() { source "${install_scripts_dir}menu/menu_app_install.sh"; appInstallMenu "$@"; }
_appReqHasDomain() { source "${install_scripts_dir}checks/requirements/check_app_install.sh"; _appReqHasDomain "$@"; }
_appReqServiceInstalled() { source "${install_scripts_dir}checks/requirements/check_app_install.sh"; _appReqServiceInstalled "$@"; }
_appReqServiceMsg() { source "${install_scripts_dir}checks/requirements/check_app_install.sh"; _appReqServiceMsg "$@"; }
appScanAvailable() { source "${install_scripts_dir}app/app_scan_available.sh"; appScanAvailable "$@"; }
appStatus() { source "${install_scripts_dir}app/app_status.sh"; appStatus "$@"; }
appUninstallMenu() { source "${install_scripts_dir}menu/menu_app_uninstall.sh"; appUninstallMenu "$@"; }
appUpdateSpecifics() { source "${install_scripts_dir}app/app_update_specifics.sh"; appUpdateSpecifics "$@"; }
atomicWriteWebUI() { source "${install_scripts_dir}webui/data/utils/webui_atomic_write.sh"; atomicWriteWebUI "$@"; }
authAdapterCall() { source "${install_scripts_dir}app/auth_adapter.sh"; authAdapterCall "$@"; }
authAdapterCanDo() { source "${install_scripts_dir}app/auth_adapter.sh"; authAdapterCanDo "$@"; }
authPersistCfg() { source "${install_scripts_dir}app/auth_adapter.sh"; authPersistCfg "$@"; }
authToolArg() { source "${install_scripts_dir}app/auth_adapter.sh"; authToolArg "$@"; }
backupAllApps() { source "${install_scripts_dir}backup/app/backup_app_all.sh"; backupAllApps "$@"; }
backupAppDeleteAll() { source "${install_scripts_dir}backup/app/backup_app_delete.sh"; backupAppDeleteAll "$@"; }
backupAppDeleteSnapshot() { source "${install_scripts_dir}backup/app/backup_app_delete.sh"; backupAppDeleteSnapshot "$@"; }
backupAppIsLiveSafe() { source "${install_scripts_dir}backup/db/backup_db.sh"; backupAppIsLiveSafe "$@"; }
backupAppLiveCapable() { source "${install_scripts_dir}backup/db/backup_db.sh"; backupAppLiveCapable "$@"; }
backupAppRunHook() { source "${install_scripts_dir}backup/app/backup_app_hooks.sh"; backupAppRunHook "$@"; }
backupAppSchedule() { source "${install_scripts_dir}backup/app/backup_app_schedule.sh"; backupAppSchedule "$@"; }
backupAppStart() { source "${install_scripts_dir}backup/app/backup_app_start.sh"; backupAppStart "$@"; }
backupAppStrategyOptions() { source "${install_scripts_dir}backup/db/backup_db.sh"; backupAppStrategyOptions "$@"; }
backupContainerFilesRestore() { source "${install_scripts_dir}function/file/container/restore_files.sh"; backupContainerFilesRestore "$@"; }
backupContainerFilesToTemp() { source "${install_scripts_dir}function/file/container/backup_files.sh"; backupContainerFilesToTemp "$@"; }
backupDbDescriptors() { source "${install_scripts_dir}backup/db/backup_db.sh"; backupDbDescriptors "$@"; }
backupDbDump() { source "${install_scripts_dir}backup/db/backup_db.sh"; backupDbDump "$@"; }
_backupDbDumpName() { source "${install_scripts_dir}backup/db/backup_db.sh"; _backupDbDumpName "$@"; }
backupDbExcludePaths() { source "${install_scripts_dir}backup/db/backup_db.sh"; backupDbExcludePaths "$@"; }
backupDbHasDescriptors() { source "${install_scripts_dir}backup/db/backup_db.sh"; backupDbHasDescriptors "$@"; }
_backupDbImport() { source "${install_scripts_dir}backup/db/backup_db.sh"; _backupDbImport "$@"; }
_backupDbWaitReady() { source "${install_scripts_dir}backup/db/backup_db.sh"; _backupDbWaitReady "$@"; }
backupFilesCapture() { source "${install_scripts_dir}backup/files/backup_files.sh"; backupFilesCapture "$@"; }
backupFilesDescriptors() { source "${install_scripts_dir}backup/files/backup_files.sh"; backupFilesDescriptors "$@"; }
backupFilesExcludePaths() { source "${install_scripts_dir}backup/files/backup_files.sh"; backupFilesExcludePaths "$@"; }
backupFilesHasDescriptors() { source "${install_scripts_dir}backup/files/backup_files.sh"; backupFilesHasDescriptors "$@"; }
backupLocationConfig() { source "${install_scripts_dir}backup/locations/location_paths.sh"; backupLocationConfig "$@"; }
backupLocationDir() { source "${install_scripts_dir}backup/locations/location_paths.sh"; backupLocationDir "$@"; }
backupLocationEnsureDir() { source "${install_scripts_dir}backup/locations/location_paths.sh"; backupLocationEnsureDir "$@"; }
backupLocationKopiaConfig() { source "${install_scripts_dir}backup/locations/location_paths.sh"; backupLocationKopiaConfig "$@"; }
backupLocationLocalGuard() { source "${install_scripts_dir}backup/locations/location_paths.sh"; backupLocationLocalGuard "$@"; }
backupLocationOwner() { source "${install_scripts_dir}backup/locations/location_paths.sh"; backupLocationOwner "$@"; }
backupLocationResolvedPath() { source "${install_scripts_dir}backup/locations/location_paths.sh"; backupLocationResolvedPath "$@"; }
backupLocationsDir() { source "${install_scripts_dir}backup/locations/location_paths.sh"; backupLocationsDir "$@"; }
backupLocationsMigrate() { source "${install_scripts_dir}backup/locations/location_migrate.sh"; backupLocationsMigrate "$@"; }
backupLocationSshKey() { source "${install_scripts_dir}backup/locations/location_paths.sh"; backupLocationSshKey "$@"; }
backupResolveStrategy() { source "${install_scripts_dir}backup/db/backup_db.sh"; backupResolveStrategy "$@"; }
backupRestoreSystemConfig() { source "${install_scripts_dir}backup/system/backup_system.sh"; backupRestoreSystemConfig "$@"; }
backupSchedule() { source "${install_scripts_dir}backup/app/backup_app_start.sh"; backupSchedule "$@"; }
backupScheduleEnabledApps() { source "${install_scripts_dir}backup/app/backup_schedule_all.sh"; backupScheduleEnabledApps "$@"; }
backupSshCommand() { source "${install_scripts_dir}backup/engine/backup_ssh.sh"; backupSshCommand "$@"; }
backupSshKeyDelete() { source "${install_scripts_dir}backup/locations/location_ssh.sh"; backupSshKeyDelete "$@"; }
backupSshKeyExists() { source "${install_scripts_dir}backup/locations/location_ssh.sh"; backupSshKeyExists "$@"; }
backupSshKeyFile() { source "${install_scripts_dir}backup/locations/location_ssh.sh"; backupSshKeyFile "$@"; }
backupSshKeyGenerate() { source "${install_scripts_dir}backup/locations/location_ssh.sh"; backupSshKeyGenerate "$@"; }
backupSshKeyPublic() { source "${install_scripts_dir}backup/locations/location_ssh.sh"; backupSshKeyPublic "$@"; }
backupSshKeyRefreshUi() { source "${install_scripts_dir}backup/locations/location_ssh.sh"; backupSshKeyRefreshUi "$@"; }
backupSshKeySet() { source "${install_scripts_dir}backup/locations/location_ssh.sh"; backupSshKeySet "$@"; }
backupSystemConfig() { source "${install_scripts_dir}backup/system/backup_system.sh"; backupSystemConfig "$@"; }
backupVerifySnapshot() { source "${install_scripts_dir}backup/verify/backup_verify.sh"; backupVerifySnapshot "$@"; }
borgArchiveName() { source "${install_scripts_dir}backup/engine/borg_env.sh"; borgArchiveName "$@"; }
borgBackupAppToLocation() { source "${install_scripts_dir}backup/engine/borg_backup.sh"; borgBackupAppToLocation "$@"; }
borgBackupSystemToLocation() { source "${install_scripts_dir}backup/engine/borg_backup.sh"; borgBackupSystemToLocation "$@"; }
borgCheckLocation() { source "${install_scripts_dir}backup/engine/borg_check.sh"; borgCheckLocation "$@"; }
borgDumpFile() { source "${install_scripts_dir}backup/engine/borg_restore.sh"; borgDumpFile "$@"; }
borgEnsureLocationReady() { source "${install_scripts_dir}backup/engine/borg_init.sh"; borgEnsureLocationReady "$@"; }
borgEnvExport() { source "${install_scripts_dir}backup/engine/borg_env.sh"; borgEnvExport "$@"; }
borgEnvUnset() { source "${install_scripts_dir}backup/engine/borg_env.sh"; borgEnvUnset "$@"; }
borgForgetApp() { source "${install_scripts_dir}backup/engine/borg_forget.sh"; borgForgetApp "$@"; }
borgForgetSystem() { source "${install_scripts_dir}backup/engine/borg_forget.sh"; borgForgetSystem "$@"; }
borgInitLocation() { source "${install_scripts_dir}backup/engine/borg_init.sh"; borgInitLocation "$@"; }
borgInstall() { source "${install_scripts_dir}backup/engine/borg_install.sh"; borgInstall "$@"; }
borgLocationStats() { source "${install_scripts_dir}backup/engine/borg_check.sh"; borgLocationStats "$@"; }
borgLocationUri() { source "${install_scripts_dir}backup/engine/borg_env.sh"; borgLocationUri "$@"; }
borgRestoreSnapshot() { source "${install_scripts_dir}backup/engine/borg_restore.sh"; borgRestoreSnapshot "$@"; }
borgRestoreSystemLatest() { source "${install_scripts_dir}backup/engine/borg_restore.sh"; borgRestoreSystemLatest "$@"; }
borgSnapshotsJson() { source "${install_scripts_dir}backup/engine/borg_snapshots.sh"; borgSnapshotsJson "$@"; }
changeRootOwnedFile() { source "${install_scripts_dir}function/permission/ownership/root_file.sh"; changeRootOwnedFile "$@"; }
changeUserGroupOnFolder() { source "${install_scripts_dir}function/permission/ownership/folder_group.sh"; changeUserGroupOnFolder "$@"; }
checkApplicationsConfigFilesMissingVariables() { source "${install_scripts_dir}config/application/application_missing_variables.sh"; checkApplicationsConfigFilesMissingVariables "$@"; }
checkCommandRequirement() { source "${install_scripts_dir}checks/requirements/check_command.sh"; checkCommandRequirement "$@"; }
checkConfigFilesMissingFiles() { source "${install_scripts_dir}config/core/config_check_missing.sh"; checkConfigFilesMissingFiles "$@"; }
checkConfigFilesMissingVariables() { source "${install_scripts_dir}config/core/variables/config_scan_variables.sh"; checkConfigFilesMissingVariables "$@"; }
checkConfigFirstInstall() { source "${install_scripts_dir}checks/first_install.sh"; checkConfigFirstInstall "$@"; }
checkConfigRequirement() { source "${install_scripts_dir}checks/requirements/check_config.sh"; checkConfigRequirement "$@"; }
checkCrontabRequirement() { source "${install_scripts_dir}checks/requirements/check_crontab.sh"; checkCrontabRequirement "$@"; }
checkDatabaseRequirement() { source "${install_scripts_dir}checks/requirements/check_database.sh"; checkDatabaseRequirement "$@"; }
checkDockerComposeRequirement() { source "${install_scripts_dir}checks/requirements/check_docker_compose.sh"; checkDockerComposeRequirement "$@"; }
checkDockerNetworkRequirement() { source "${install_scripts_dir}checks/requirements/check_docker_network.sh"; checkDockerNetworkRequirement "$@"; }
checkDockerRequirement() { source "${install_scripts_dir}checks/requirements/check_docker.sh"; checkDockerRequirement "$@"; }
checkDockerRootlessRequirement() { source "${install_scripts_dir}checks/requirements/check_docker_rootless.sh"; checkDockerRootlessRequirement "$@"; }
checkDockerSwitcherRequirement() { source "${install_scripts_dir}checks/requirements/check_docker_switcher.sh"; checkDockerSwitcherRequirement "$@"; }
checkIfOSUpdateShouldRun() { source "${install_scripts_dir}database/check_os_update.sh"; checkIfOSUpdateShouldRun "$@"; }
checkInstallTypeRequirement() { source "${install_scripts_dir}checks/requirements/check_install_type.sh"; checkInstallTypeRequirement "$@"; }
checkLibrePortalConfigFilesMissingVariables() { source "${install_scripts_dir}config/core/variables/config_missing_variables.sh"; checkLibrePortalConfigFilesMissingVariables "$@"; }
checkLibrePortalWebUIAppRequirement() { source "${install_scripts_dir}checks/requirements/check_webui_app.sh"; checkLibrePortalWebUIAppRequirement "$@"; }
checkLibrePortalWebUIImageRequirement() { source "${install_scripts_dir}checks/requirements/check_webui_image.sh"; checkLibrePortalWebUIImageRequirement "$@"; }
checkPasswordsRequirement() { source "${install_scripts_dir}checks/requirements/check_passwords.sh"; checkPasswordsRequirement "$@"; }
checkRequirements() { source "${install_scripts_dir}checks/check_requirements.sh"; checkRequirements "$@"; }
checkRootRequirement() { source "${install_scripts_dir}checks/requirements/check_root.sh"; checkRootRequirement "$@"; }
checkSSLCertsRequirement() { source "${install_scripts_dir}checks/requirements/check_sslcerts.sh"; checkSSLCertsRequirement "$@"; }
checkSuccess() { source "${install_scripts_dir}function/checks/check_success.sh"; checkSuccess "$@"; }
checkSuggestInstallsRequirement() { source "${install_scripts_dir}checks/requirements/check_suggest_installs.sh"; checkSuggestInstallsRequirement "$@"; }
checkSwapfileRequirement() { source "${install_scripts_dir}checks/requirements/check_swapfile.sh"; checkSwapfileRequirement "$@"; }
check_task_processor_health() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; check_task_processor_health "$@"; }
checkTraefikRequirement() { source "${install_scripts_dir}checks/requirements/check_traefik.sh"; checkTraefikRequirement "$@"; }
checkUFWDRequirement() { source "${install_scripts_dir}checks/requirements/check_ufwd.sh"; checkUFWDRequirement "$@"; }
checkUFWRequirement() { source "${install_scripts_dir}checks/requirements/check_ufw.sh"; checkUFWRequirement "$@"; }
checkUpdates() { source "${install_scripts_dir}update/check_update.sh"; checkUpdates "$@"; }
checkWebUISystemdRequirement() { source "${install_scripts_dir}checks/requirements/check_webui_systemd.sh"; checkWebUISystemdRequirement "$@"; }
cleanupZeroByteFiles() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; cleanupZeroByteFiles "$@"; }
cliAppRestore() { source "${install_scripts_dir}cli/commands/app/cli_app_restore.sh"; cliAppRestore "$@"; }
cliAppToolList() { source "${install_scripts_dir}cli/commands/app/cli_app_tool_list.sh"; cliAppToolList "$@"; }
cliDebugLoadTrace() { source "${install_scripts_dir}cli/commands/debug/cli_debug_commands.sh"; cliDebugLoadTrace "$@"; }
cliFirewallHeader() { source "${install_scripts_dir}cli/commands/firewall/cli_firewall_header.sh"; cliFirewallHeader "$@"; }
cliHandleAppCommands() { source "${install_scripts_dir}cli/commands/app/cli_app_commands.sh"; cliHandleAppCommands "$@"; }
cliHandleBackupCommands() { source "${install_scripts_dir}cli/commands/backup/cli_backup_commands.sh"; cliHandleBackupCommands "$@"; }
cliHandleConfigCommands() { source "${install_scripts_dir}cli/commands/config/cli_config_commands.sh"; cliHandleConfigCommands "$@"; }
cliHandleDebugCommands() { source "${install_scripts_dir}cli/commands/debug/cli_debug_commands.sh"; cliHandleDebugCommands "$@"; }
cliHandleDockertypeCommands() { source "${install_scripts_dir}cli/commands/dockertype/cli_dockertype_commands.sh"; cliHandleDockertypeCommands "$@"; }
cliHandleFirewallCommands() { source "${install_scripts_dir}cli/commands/firewall/cli_firewall_commands.sh"; cliHandleFirewallCommands "$@"; }
cliHandleHelpCommands() { source "${install_scripts_dir}cli/commands/help/cli_help_commands.sh"; cliHandleHelpCommands "$@"; }
cliHandleInstallCommands() { source "${install_scripts_dir}cli/commands/install/cli_install_commands.sh"; cliHandleInstallCommands "$@"; }
cliHandleIPCommands() { source "${install_scripts_dir}cli/commands/ip/cli_ip_commands.sh"; cliHandleIPCommands "$@"; }
cliHandlePeerCommands() { source "${install_scripts_dir}cli/commands/peer/cli_peer_commands.sh"; cliHandlePeerCommands "$@"; }
cliHandleRegenCommands() { source "${install_scripts_dir}cli/commands/regen/cli_regen_commands.sh"; cliHandleRegenCommands "$@"; }
cliHandleResetCommands() { source "${install_scripts_dir}cli/commands/reset/cli_reset_commands.sh"; cliHandleResetCommands "$@"; }
cliHandleRestoreCommands() { source "${install_scripts_dir}cli/commands/restore/cli_restore_commands.sh"; cliHandleRestoreCommands "$@"; }
cliHandleSetupCommands() { source "${install_scripts_dir}cli/commands/setup/cli_setup_commands.sh"; cliHandleSetupCommands "$@"; }
cliHandleSshCommands() { source "${install_scripts_dir}cli/commands/ssh/cli_ssh_commands.sh"; cliHandleSshCommands "$@"; }
cliHandleSystemCommands() { source "${install_scripts_dir}cli/commands/system/cli_system_commands.sh"; cliHandleSystemCommands "$@"; }
cliHandleUpdateCommands() { source "${install_scripts_dir}cli/commands/update/cli_update_commands.sh"; cliHandleUpdateCommands "$@"; }
cliHandleValidationCommands() { source "${install_scripts_dir}cli/commands/validation/cli_validation_commands.sh"; cliHandleValidationCommands "$@"; }
cliHandleWebuiCommands() { source "${install_scripts_dir}cli/commands/webui/cli_webui_commands.sh"; cliHandleWebuiCommands "$@"; }
cliInitialize() { source "${install_scripts_dir}cli/cli_initialize.sh"; cliInitialize "$@"; }
cliShowAppHelp() { source "${install_scripts_dir}cli/commands/app/cli_app_header.sh"; cliShowAppHelp "$@"; }
cliShowBackupHelp() { source "${install_scripts_dir}cli/commands/backup/cli_backup_header.sh"; cliShowBackupHelp "$@"; }
cliShowConfigHelp() { source "${install_scripts_dir}cli/commands/config/cli_config_header.sh"; cliShowConfigHelp "$@"; }
cliShowDebugHelp() { source "${install_scripts_dir}cli/commands/debug/cli_debug_header.sh"; cliShowDebugHelp "$@"; }
cliShowDockertypeHelp() { source "${install_scripts_dir}cli/commands/dockertype/cli_dockertype_header.sh"; cliShowDockertypeHelp "$@"; }
cliShowHelpHelp() { source "${install_scripts_dir}cli/commands/help/cli_help_header.sh"; cliShowHelpHelp "$@"; }
cliShowInstallHelp() { source "${install_scripts_dir}cli/commands/install/cli_install_header.sh"; cliShowInstallHelp "$@"; }
cliShowIPHelp() { source "${install_scripts_dir}cli/commands/ip/cli_ip_header.sh"; cliShowIPHelp "$@"; }
cliShowPeerHelp() { source "${install_scripts_dir}cli/commands/peer/cli_peer_header.sh"; cliShowPeerHelp "$@"; }
cliShowRegenHelp() { source "${install_scripts_dir}cli/commands/regen/cli_regen_header.sh"; cliShowRegenHelp "$@"; }
cliShowResetHelp() { source "${install_scripts_dir}cli/commands/reset/cli_reset_header.sh"; cliShowResetHelp "$@"; }
cliShowRestoreHelp() { source "${install_scripts_dir}cli/commands/restore/cli_restore_header.sh"; cliShowRestoreHelp "$@"; }
cliShowSetupHelp() { source "${install_scripts_dir}cli/commands/setup/cli_setup_header.sh"; cliShowSetupHelp "$@"; }
cliShowSshHelp() { source "${install_scripts_dir}cli/commands/ssh/cli_ssh_header.sh"; cliShowSshHelp "$@"; }
cliShowSystemHelp() { source "${install_scripts_dir}cli/commands/system/cli_system_header.sh"; cliShowSystemHelp "$@"; }
cliShowUpdateHelp() { source "${install_scripts_dir}cli/commands/update/cli_update_header.sh"; cliShowUpdateHelp "$@"; }
cliShowValidationHelp() { source "${install_scripts_dir}cli/commands/validation/cli_validation_header.sh"; cliShowValidationHelp "$@"; }
cliShowWebuiHelp() { source "${install_scripts_dir}cli/commands/webui/cli_webui_header.sh"; cliShowWebuiHelp "$@"; }
cliUpdateCommands() { source "${install_scripts_dir}cli/cli_update.sh"; cliUpdateCommands "$@"; }
cliWebuiLoginReset() { source "${install_scripts_dir}cli/commands/webui/cli_webui_commands.sh"; cliWebuiLoginReset "$@"; }
completeMessage() { source "${install_scripts_dir}menu/message/complete.sh"; completeMessage "$@"; }
configSetupFileWithData() { source "${install_scripts_dir}config/core/config_file_setup_data.sh"; configSetupFileWithData "$@"; }
configUpdateBatch() { source "${install_scripts_dir}config/config_update.sh"; configUpdateBatch "$@"; }
containsElement() { source "${install_scripts_dir}function/validation/email.sh"; containsElement "$@"; }
copyFile() { source "${install_scripts_dir}function/file/copy_file.sh"; copyFile "$@"; }
copyFiles() { source "${install_scripts_dir}function/file/copy_files.sh"; copyFiles "$@"; }
copyFolder() { source "${install_scripts_dir}function/folder/copy_folder.sh"; copyFolder "$@"; }
copyFolders() { source "${install_scripts_dir}function/folder/copy_folders.sh"; copyFolders "$@"; }
copyResource() { source "${install_scripts_dir}function/file/copy_resource.sh"; copyResource "$@"; }
createFolders() { source "${install_scripts_dir}function/folder/create_folder.sh"; createFolders "$@"; }
createSuccessfulRunFile() { source "${install_scripts_dir}function/run/create_successful_run_file.sh"; createSuccessfulRunFile "$@"; }
createTaskFile() { source "${install_scripts_dir}webui/data/generators/backup/webui_task_create.sh"; createTaskFile "$@"; }
createTouch() { source "${install_scripts_dir}function/file/create_touch.sh"; createTouch "$@"; }
crontabClean() { source "${install_scripts_dir}crontab/crontab_clean.sh"; crontabClean "$@"; }
crontabClear() { source "${install_scripts_dir}crontab/crontab_clear.sh"; crontabClear "$@"; }
crontabRefresh() { source "${install_scripts_dir}crontab/crontab_refresh.sh"; crontabRefresh "$@"; }
crontabSetup() { source "${install_scripts_dir}crontab/crontab_setup.sh"; crontabSetup "$@"; }
crontabSetupBackupScheduler() { source "${install_scripts_dir}crontab/app/crontab_backup_scheduler.sh"; crontabSetupBackupScheduler "$@"; }
crontabSetupCheckProcessor() { source "${install_scripts_dir}crontab/task/crontab_setup_check_processor.sh"; crontabSetupCheckProcessor "$@"; }
crontabSetupSystemInfoUpdater() { source "${install_scripts_dir}crontab/system/crontab_setup_system_info_updater.sh"; crontabSetupSystemInfoUpdater "$@"; }
crontabSetupTaskProcessor() { source "${install_scripts_dir}crontab/task/crontab_setup_task_processor.sh"; crontabSetupTaskProcessor "$@"; }
crontabToolsMenu() { source "${install_scripts_dir}menu/tools/manage_crontab.sh"; crontabToolsMenu "$@"; }
dashyToolsMenu() { source "${install_scripts_dir}menu/tools/manage_dashy.sh"; dashyToolsMenu "$@"; }
databaseAppScan() { source "${install_scripts_dir}database/app/db_app_scan.sh"; databaseAppScan "$@"; }
databaseBackupInsert() { source "${install_scripts_dir}database/insert/db_insert_backups.sh"; databaseBackupInsert "$@"; }
databaseCreateTables() { source "${install_scripts_dir}database/tables/db_create_tables.sh"; databaseCreateTables "$@"; }
databaseCycleThroughListApps() { source "${install_scripts_dir}database/app/db_cycle_apps.sh"; databaseCycleThroughListApps "$@"; }
databaseDisplayTables() { source "${install_scripts_dir}database/tables/db_display_tables.sh"; databaseDisplayTables "$@"; }
databaseEmptyTable() { source "${install_scripts_dir}database/tables/db_empty_table.sh"; databaseEmptyTable "$@"; }
databaseInstallApp() { source "${install_scripts_dir}database/app/db_install_app.sh"; databaseInstallApp "$@"; }
databaseListAllApps() { source "${install_scripts_dir}database/app/db_list_all_apps.sh"; databaseListAllApps "$@"; }
databaseListInstalledApp() { source "${install_scripts_dir}database/app/db_list_installed_app.sh"; databaseListInstalledApp "$@"; }
databaseListInstalledApps() { source "${install_scripts_dir}database/app/db_list_installed_apps.sh"; databaseListInstalledApps "$@"; }
databaseOptionInsert() { source "${install_scripts_dir}database/insert/db_insert_option.sh"; databaseOptionInsert "$@"; }
databasePortOpenInsert() { source "${install_scripts_dir}database/insert/db_insert_port_open.sh"; databasePortOpenInsert "$@"; }
databasePortUsedInsert() { source "${install_scripts_dir}database/insert/db_insert_port_used.sh"; databasePortUsedInsert "$@"; }
databaseRemoveFile() { source "${install_scripts_dir}database/delete_db_file.sh"; databaseRemoveFile "$@"; }
databaseRestoreInsert() { source "${install_scripts_dir}database/insert/db_insert_restore.sh"; databaseRestoreInsert "$@"; }
databaseUninstallApp() { source "${install_scripts_dir}database/app/db_uninstall_app.sh"; databaseUninstallApp "$@"; }
detectOS() { source "${install_scripts_dir}function/checks/detect_os.sh"; detectOS "$@"; }
dispatchPending() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; dispatchPending "$@"; }
dispatchSpecific() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; dispatchSpecific "$@"; }
dockerAppRunTool() { source "${install_scripts_dir}docker/app/functions/function_app_tool.sh"; dockerAppRunTool "$@"; }
dockerCheckAppHealthDetails() { source "${install_scripts_dir}docker/checks/app_health_details.sh"; dockerCheckAppHealthDetails "$@"; }
dockerCheckAppHealthStatus() { source "${install_scripts_dir}docker/checks/app_health_status.sh"; dockerCheckAppHealthStatus "$@"; }
dockerCheckAppInstalled() { source "${install_scripts_dir}docker/app/checks/app_installed.sh"; dockerCheckAppInstalled "$@"; }
dockerCheckContainerHealth() { source "${install_scripts_dir}docker/app/checks/container_health.sh"; dockerCheckContainerHealth "$@"; }
dockerCheckContainerHealthLoop() { source "${install_scripts_dir}docker/app/checks/container_health_loop.sh"; dockerCheckContainerHealthLoop "$@"; }
dockerCheckIsRunningForUser() { source "${install_scripts_dir}docker/checks/running_for_user.sh"; dockerCheckIsRunningForUser "$@"; }
dockerCommandRun() { source "${install_scripts_dir}docker/command/docker_run.sh"; dockerCommandRun "$@"; }
dockerCommandRunInstallUser() { source "${install_scripts_dir}docker/command/docker_run_install.sh"; dockerCommandRunInstallUser "$@"; }
dockerComposeDown() { source "${install_scripts_dir}docker/app/compose/down_app.sh"; dockerComposeDown "$@"; }
dockerComposeDownAllApps() { source "${install_scripts_dir}docker/app/compose/down_all.sh"; dockerComposeDownAllApps "$@"; }
dockerComposeDownRemove() { source "${install_scripts_dir}docker/app/uninstall/down_remove_app.sh"; dockerComposeDownRemove "$@"; }
dockerComposeRestart() { source "${install_scripts_dir}docker/app/compose/up_down_app.sh"; dockerComposeRestart "$@"; }
dockerComposeRestartAfterUpdate() { source "${install_scripts_dir}docker/compose/restart_after_update.sh"; dockerComposeRestartAfterUpdate "$@"; }
dockerComposeSetupFile() { source "${install_scripts_dir}docker/compose/setup_compose_yml.sh"; dockerComposeSetupFile "$@"; }
dockerComposeUp() { source "${install_scripts_dir}docker/app/compose/up_app.sh"; dockerComposeUp "$@"; }
dockerComposeUpAllApps() { source "${install_scripts_dir}docker/app/compose/up_all.sh"; dockerComposeUpAllApps "$@"; }
dockerComposeUpdate() { source "${install_scripts_dir}docker/compose/update_compose_yml.sh"; dockerComposeUpdate "$@"; }
dockerComposeUpdateAndStartApp() { source "${install_scripts_dir}docker/compose/update_and_start.sh"; dockerComposeUpdateAndStartApp "$@"; }
dockerConfigSetupFileWithData() { source "${install_scripts_dir}config/docker/docker_config_setup_data.sh"; dockerConfigSetupFileWithData "$@"; }
dockerConfigSetupToContainer() { source "${install_scripts_dir}config/docker/docker_config_to_container.sh"; dockerConfigSetupToContainer "$@"; }
dockerContainerOwner() { source "${install_scripts_dir}function/permission/libreportal_folders.sh"; dockerContainerOwner "$@"; }
dockerCopyBuildContext() { source "${install_scripts_dir}docker/compose/copy_build_context.sh"; dockerCopyBuildContext "$@"; }
dockerDeleteData() { source "${install_scripts_dir}docker/app/uninstall/delete_data.sh"; dockerDeleteData "$@"; }
dockerInstallApp() { source "${install_scripts_dir}docker/app/functions/function_install_app.sh"; dockerInstallApp "$@"; }
dockerPruneAppNetworks() { source "${install_scripts_dir}docker/network/network_prune.sh"; dockerPruneAppNetworks "$@"; }
dockerRemoveApp() { source "${install_scripts_dir}docker/app/docker/remove_app.sh"; dockerRemoveApp "$@"; }
dockerRemoveAppImages() { source "${install_scripts_dir}docker/app/uninstall/remove_images.sh"; dockerRemoveAppImages "$@"; }
dockerRestartApp() { source "${install_scripts_dir}docker/app/docker/restart_app.sh"; dockerRestartApp "$@"; }
dockerRestartAppViaInstall() { source "${install_scripts_dir}docker/app/functions/function_restart_app.sh"; dockerRestartAppViaInstall "$@"; }
dockerServiceStart() { source "${install_scripts_dir}docker/service/start_docker.sh"; dockerServiceStart "$@"; }
dockerServiceStop() { source "${install_scripts_dir}docker/service/stop_docker.sh"; dockerServiceStop "$@"; }
dockerSetupEnvFile() { source "${install_scripts_dir}docker/setup_env.sh"; dockerSetupEnvFile "$@"; }
dockerStartAllApps() { source "${install_scripts_dir}docker/app/docker/start_all.sh"; dockerStartAllApps "$@"; }
dockerStartApp() { source "${install_scripts_dir}docker/app/docker/start_app.sh"; dockerStartApp "$@"; }
dockerStopAllApps() { source "${install_scripts_dir}docker/app/docker/stop_all.sh"; dockerStopAllApps "$@"; }
dockerStopApp() { source "${install_scripts_dir}docker/app/docker/stop_app.sh"; dockerStopApp "$@"; }
dockerSwitcherScanContainersForSocket() { source "${install_scripts_dir}docker/type_switcher/scan_container_socket.sh"; dockerSwitcherScanContainersForSocket "$@"; }
dockerSwitcherSetSocketPermissions() { source "${install_scripts_dir}docker/type_switcher/set_socket_permissions.sh"; dockerSwitcherSetSocketPermissions "$@"; }
dockerSwitcherSwap() { source "${install_scripts_dir}docker/type_switcher/swap_docker_type.sh"; dockerSwitcherSwap "$@"; }
dockerSwitcherUpdateContainersToDockerType() { source "${install_scripts_dir}docker/type_switcher/switch_containers_type.sh"; dockerSwitcherUpdateContainersToDockerType "$@"; }
dockerToolsMenu() { source "${install_scripts_dir}menu/tools/manage_docker.sh"; dockerToolsMenu "$@"; }
dockerUninstallApp() { source "${install_scripts_dir}docker/app/uninstall/uninstall_app.sh"; dockerUninstallApp "$@"; }
editAppConfig() { source "${install_scripts_dir}config/application/application_edit_config.sh"; editAppConfig "$@"; }
emailValidation() { source "${install_scripts_dir}function/validation/element.sh"; emailValidation "$@"; }
endStart() { source "${install_scripts_dir}start/start_end.sh"; endStart "$@"; }
engineBackupApp() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineBackupApp "$@"; }
engineBackupSystem() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineBackupSystem "$@"; }
engineCheckAllLocations() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineCheckAllLocations "$@"; }
engineCheckLocation() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineCheckLocation "$@"; }
engineDispatch() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineDispatch "$@"; }
engineDumpFile() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineDumpFile "$@"; }
engineEnsureAllLocationsReady() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineEnsureAllLocationsReady "$@"; }
engineEnsureLocationReady() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineEnsureLocationReady "$@"; }
engineEnvExport() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineEnvExport "$@"; }
engineEnvUnset() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineEnvUnset "$@"; }
engineForgetApp() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineForgetApp "$@"; }
engineForgetAppAllLocations() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineForgetAppAllLocations "$@"; }
engineForgetSystem() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineForgetSystem "$@"; }
engineForLocation() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineForLocation "$@"; }
engineInitAllLocations() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineInitAllLocations "$@"; }
engineInitLocation() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineInitLocation "$@"; }
engineInstallAll() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineInstallAll "$@"; }
engineKnownIds() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineKnownIds "$@"; }
engineLocationStats() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineLocationStats "$@"; }
engineLocationUri() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineLocationUri "$@"; }
enginePasswordEnsure() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; enginePasswordEnsure "$@"; }
engineRestoreSnapshot() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineRestoreSnapshot "$@"; }
engineRestoreSystemLatest() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineRestoreSystemLatest "$@"; }
engineSnapshotLatestId() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineSnapshotLatestId "$@"; }
engineSnapshotListFiles() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineSnapshotListFiles "$@"; }
engineSnapshotsJson() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineSnapshotsJson "$@"; }
engineSystemSnapshotsJson() { source "${install_scripts_dir}backup/engine/engine_dispatch.sh"; engineSystemSnapshotsJson "$@"; }
exitScript() { source "${install_scripts_dir}start/start_exit.sh"; exitScript "$@"; }
exportBcryptPassword() { source "${install_scripts_dir}config/password/bcrypt/password_export_bcrypt.sh"; exportBcryptPassword "$@"; }
fileHasEmptyLine() { source "${install_scripts_dir}function/file/empty_line/check_empty.sh"; fileHasEmptyLine "$@"; }
findConfigFileForOption() { source "${install_scripts_dir}config/core/config_find_file.sh"; findConfigFileForOption "$@"; }
firewallClearLibrePortalRules() { source "${install_scripts_dir}network/firewall/rules/firewall_clear_rules.sh"; firewallClearLibrePortalRules "$@"; }
firewallInitialSetup() { source "${install_scripts_dir}network/firewall/firewall_initial_setup.sh"; firewallInitialSetup "$@"; }
firewallRebuildFromDatabase() { source "${install_scripts_dir}network/firewall/rules/firewall_rebuild_from_db.sh"; firewallRebuildFromDatabase "$@"; }
firewallRefreshAll() { source "${install_scripts_dir}network/firewall/rules/firewall_refresh_all.sh"; firewallRefreshAll "$@"; }
fixAppFolderPermissions() { source "${install_scripts_dir}function/permission/app_folder.sh"; fixAppFolderPermissions "$@"; }
fixConfigPermissions() { source "${install_scripts_dir}function/permission/config.sh"; fixConfigPermissions "$@"; }
fixFolderPermissions() { source "${install_scripts_dir}function/permission/libreportal_folders.sh"; fixFolderPermissions "$@"; }
fixPermissionsBeforeStart() { source "${install_scripts_dir}function/permission/before_start.sh"; fixPermissionsBeforeStart "$@"; }
generateHealthReport() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; generateHealthReport "$@"; }
generateInstallName() { source "${install_scripts_dir}checks/generate_install_name.sh"; generateInstallName "$@"; }
generateRandomPassword() { source "${install_scripts_dir}config/password/password_generate.sh"; generateRandomPassword "$@"; }
generateRandomUsername() { source "${install_scripts_dir}config/password/password_user_generator.sh"; generateRandomUsername "$@"; }
getConfigOptionData() { source "${install_scripts_dir}config/core/config_get_config_data.sh"; getConfigOptionData "$@"; }
getLibrePortalWebUIUrls() { source "${install_scripts_dir}webui/webui_display_logins.sh"; getLibrePortalWebUIUrls "$@"; }
getStoredPassword() { source "${install_scripts_dir}config/password/bcrypt/password_retreive_bcrypt.sh"; getStoredPassword "$@"; }
gitCheckConfigs() { source "${install_scripts_dir}update/git/checks/config_git_check.sh"; gitCheckConfigs "$@"; }
gitCheckForUpdate() { source "${install_scripts_dir}update/git/checks/update_git_check.sh"; gitCheckForUpdate "$@"; }
gitCheckGitDetails() { source "${install_scripts_dir}update/git/check_git_details.sh"; gitCheckGitDetails "$@"; }
gitCleanInstallBackups() { source "${install_scripts_dir}update/backup/install_git_backup.sh"; gitCleanInstallBackups "$@"; }
gitFolderResetAndBackup() { source "${install_scripts_dir}update/backup/reset_git_backup.sh"; gitFolderResetAndBackup "$@"; }
gitPerformUpdate() { source "${install_scripts_dir}update/backup/reset_git_backup.sh"; gitPerformUpdate "$@"; }
gitReset() { source "${install_scripts_dir}update/git/reset_git.sh"; gitReset "$@"; }
gitUntrackFiles() { source "${install_scripts_dir}update/git/untrack_files.sh"; gitUntrackFiles "$@"; }
gitUseExistingBackup() { source "${install_scripts_dir}update/backup/use_git_backup.sh"; gitUseExistingBackup "$@"; }
hashPassword() { source "${install_scripts_dir}config/password/password_hash.sh"; hashPassword "$@"; }
healthLogError() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; healthLogError "$@"; }
healthLogInfo() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; healthLogInfo "$@"; }
healthLogSuccess() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; healthLogSuccess "$@"; }
healthLogWarning() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; healthLogWarning "$@"; }
hostAppInstall() { source "${install_scripts_dir}install/host_app.sh"; hostAppInstall "$@"; }
hostSshAuthKeysFile() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshAuthKeysFile "$@"; }
hostSshEnsureDir() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshEnsureDir "$@"; }
hostSshHome() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshHome "$@"; }
hostSshKeyAdd() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshKeyAdd "$@"; }
hostSshKeyCount() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshKeyCount "$@"; }
hostSshKeyRemove() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshKeyRemove "$@"; }
hostSshPasswordAuthEnabled() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshPasswordAuthEnabled "$@"; }
hostSshRefreshUi() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshRefreshUi "$@"; }
hostSshSetPasswordAuth() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshSetPasswordAuth "$@"; }
hostSshUser() { source "${install_scripts_dir}ssh/host_access.sh"; hostSshUser "$@"; }
initializeAppVariables() { source "${install_scripts_dir}network/variables/variables_init_app.sh"; initializeAppVariables "$@"; }
installArch() { source "${install_scripts_dir}os/install/arch.sh"; installArch "$@"; }
installCrontab() { source "${install_scripts_dir}crontab/crontab_install.sh"; installCrontab "$@"; }
installDebianUbuntu() { source "${install_scripts_dir}os/install/ubuntu.sh"; installDebianUbuntu "$@"; }
installDockerNetwork() { source "${install_scripts_dir}docker/network/network_setup.sh"; installDockerNetwork "$@"; }
installDockerRooted() { source "${install_scripts_dir}docker/install/rooted/rooted_docker.sh"; installDockerRooted "$@"; }
installDockerRootedCheck() { source "${install_scripts_dir}docker/install/rooted/rooted_docker_check.sh"; installDockerRootedCheck "$@"; }
installDockerRootedCompose() { source "${install_scripts_dir}docker/install/rooted/rooted_docker_compose.sh"; installDockerRootedCompose "$@"; }
installDockerRootless() { source "${install_scripts_dir}docker/install/rootless/rootless_docker.sh"; installDockerRootless "$@"; }
installDockerRootlessStartSetup() { source "${install_scripts_dir}docker/install/rootless/rootless_start_setup.sh"; installDockerRootlessStartSetup "$@"; }
installDockerRootlessUser() { source "${install_scripts_dir}docker/install/rootless/rootless_user.sh"; installDockerRootlessUser "$@"; }
installLibrePortalAppWebUI() { source "${install_scripts_dir}webui/webui_install_app.sh"; installLibrePortalAppWebUI "$@"; }
installLibrePortalImageWebUI() { source "${install_scripts_dir}webui/webui_install_image.sh"; installLibrePortalImageWebUI "$@"; }
installLibrePortalWebUITaskService() { source "${install_scripts_dir}webui/webui_install_systemd.sh"; installLibrePortalWebUITaskService "$@"; }
installOptionalMetricsApps() { source "${install_scripts_dir}start/start_recommended.sh"; installOptionalMetricsApps "$@"; }
installRecommendedApps() { source "${install_scripts_dir}start/start_recommended.sh"; installRecommendedApps "$@"; }
installResticHost() { source "${install_scripts_dir}install/install_restic.sh"; installResticHost "$@"; }
installResticMigrateLegacyPasswords() { source "${install_scripts_dir}install/install_restic.sh"; installResticMigrateLegacyPasswords "$@"; }
installSQLiteDatabase() { source "${install_scripts_dir}database/install_sqlite.sh"; installSQLiteDatabase "$@"; }
installSSLCertificate() { source "${install_scripts_dir}install/install_certificate.sh"; installSSLCertificate "$@"; }
installSwapfile() { source "${install_scripts_dir}install/install_swapfile.sh"; installSwapfile "$@"; }
installUFW() { source "${install_scripts_dir}install/install_ufw.sh"; installUFW "$@"; }
installUFWDocker() { source "${install_scripts_dir}install/install_ufwd.sh"; installUFWDocker "$@"; }
invidiousToolsMenu() { source "${install_scripts_dir}menu/tools/manage_invidious.sh"; invidiousToolsMenu "$@"; }
ipAllocation() { source "${install_scripts_dir}network/ip/ip_allocation.sh"; ipAllocation "$@"; }
ipFindAvailable() { source "${install_scripts_dir}network/ip/ip_find_available.sh"; ipFindAvailable "$@"; }
ipIsAvailable() { source "${install_scripts_dir}network/ip/ip_is_available.sh"; ipIsAvailable "$@"; }
ipRemoveFromDatabase() { source "${install_scripts_dir}network/ip/ip_remove_from_db.sh"; ipRemoveFromDatabase "$@"; }
ip_scan_all_network_services() { source "${install_scripts_dir}network/display/show_all_network_services_detailed.sh"; ip_scan_all_network_services "$@"; }
ip_scan_network_conflicts() { source "${install_scripts_dir}network/display/show_network_conflicts.sh"; ip_scan_network_conflicts "$@"; }
ip_scan_network_health() { source "${install_scripts_dir}network/display/show_network_health_detailed.sh"; ip_scan_network_health "$@"; }
ip_scan_traefik_services() { source "${install_scripts_dir}network/display/show_traefik_services.sh"; ip_scan_traefik_services "$@"; }
ip_show_allocations() { source "${install_scripts_dir}network/display/show_ip_allocations.sh"; ip_show_allocations "$@"; }
ipUpdateComposeTags() { source "${install_scripts_dir}network/ip/ip_replace_tags.sh"; ipUpdateComposeTags "$@"; }
isError() { source "${install_scripts_dir}menu/message/markers.sh"; isError "$@"; }
isFatalError() { source "${install_scripts_dir}menu/message/markers.sh"; isFatalError "$@"; }
isFatalErrorExit() { source "${install_scripts_dir}menu/message/markers.sh"; isFatalErrorExit "$@"; }
isHeader() { source "${install_scripts_dir}menu/message/markers.sh"; isHeader "$@"; }
isNotice() { source "${install_scripts_dir}menu/message/markers.sh"; isNotice "$@"; }
isOption() { source "${install_scripts_dir}menu/message/markers.sh"; isOption "$@"; }
isOptionMenu() { source "${install_scripts_dir}menu/message/markers.sh"; isOptionMenu "$@"; }
isQuestion() { source "${install_scripts_dir}menu/message/markers.sh"; isQuestion "$@"; }
isSetupWizardComplete() { source "${install_scripts_dir}setup/setup_lock.sh"; isSetupWizardComplete "$@"; }
isSuccessful() { source "${install_scripts_dir}menu/message/markers.sh"; isSuccessful "$@"; }
kopiaBackupAppToLocation() { source "${install_scripts_dir}backup/engine/kopia_backup.sh"; kopiaBackupAppToLocation "$@"; }
kopiaBackupSystemToLocation() { source "${install_scripts_dir}backup/engine/kopia_backup.sh"; kopiaBackupSystemToLocation "$@"; }
kopiaCheckLocation() { source "${install_scripts_dir}backup/engine/kopia_check.sh"; kopiaCheckLocation "$@"; }
kopiaConfigPath() { source "${install_scripts_dir}backup/engine/kopia_env.sh"; kopiaConfigPath "$@"; }
kopiaDumpFile() { source "${install_scripts_dir}backup/engine/kopia_restore.sh"; kopiaDumpFile "$@"; }
kopiaEnsureLocationReady() { source "${install_scripts_dir}backup/engine/kopia_init.sh"; kopiaEnsureLocationReady "$@"; }
kopiaEnvExport() { source "${install_scripts_dir}backup/engine/kopia_env.sh"; kopiaEnvExport "$@"; }
kopiaEnvUnset() { source "${install_scripts_dir}backup/engine/kopia_env.sh"; kopiaEnvUnset "$@"; }
kopiaForgetApp() { source "${install_scripts_dir}backup/engine/kopia_forget.sh"; kopiaForgetApp "$@"; }
kopiaForgetSystem() { source "${install_scripts_dir}backup/engine/kopia_forget.sh"; kopiaForgetSystem "$@"; }
kopiaInitLocation() { source "${install_scripts_dir}backup/engine/kopia_init.sh"; kopiaInitLocation "$@"; }
kopiaInstall() { source "${install_scripts_dir}backup/engine/kopia_install.sh"; kopiaInstall "$@"; }
kopiaLocationStats() { source "${install_scripts_dir}backup/engine/kopia_check.sh"; kopiaLocationStats "$@"; }
kopiaLocationUri() { source "${install_scripts_dir}backup/engine/kopia_env.sh"; kopiaLocationUri "$@"; }
kopiaRestoreSnapshot() { source "${install_scripts_dir}backup/engine/kopia_restore.sh"; kopiaRestoreSnapshot "$@"; }
kopiaSnapshotsJson() { source "${install_scripts_dir}backup/engine/kopia_snapshots.sh"; kopiaSnapshotsJson "$@"; }
listDockerComposeFiles() { source "${install_scripts_dir}config/docker/docker_list_compose_files.sh"; listDockerComposeFiles "$@"; }
localDnsAppHosts() { source "${install_scripts_dir}network/dns/setup_local_dns.sh"; localDnsAppHosts "$@"; }
localDnsApplyAdguard() { source "${install_scripts_dir}network/dns/setup_local_dns.sh"; localDnsApplyAdguard "$@"; }
localDnsApplyPihole() { source "${install_scripts_dir}network/dns/setup_local_dns.sh"; localDnsApplyPihole "$@"; }
localDnsDomains() { source "${install_scripts_dir}network/dns/setup_local_dns.sh"; localDnsDomains "$@"; }
localDnsServerIp() { source "${install_scripts_dir}network/dns/setup_local_dns.sh"; localDnsServerIp "$@"; }
locationAdd() { source "${install_scripts_dir}backup/locations/location_add.sh"; locationAdd "$@"; }
locationRemove() { source "${install_scripts_dir}backup/locations/location_remove.sh"; locationRemove "$@"; }
logDebug() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; logDebug "$@"; }
logError() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; logError "$@"; }
logInfo() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; logInfo "$@"; }
_lpDownload() { source "${install_scripts_dir}source/fetch.sh"; _lpDownload "$@"; }
lpFetchRelease() { source "${install_scripts_dir}source/fetch.sh"; lpFetchRelease "$@"; }
lpFetchSource() { source "${install_scripts_dir}source/fetch.sh"; lpFetchSource "$@"; }
_lpFetchTool() { source "${install_scripts_dir}source/fetch.sh"; _lpFetchTool "$@"; }
lpInstalledFootprintVersion() { source "${install_scripts_dir}source/fetch.sh"; lpInstalledFootprintVersion "$@"; }
_lpJsonNum() { source "${install_scripts_dir}source/fetch.sh"; _lpJsonNum "$@"; }
_lpJsonStr() { source "${install_scripts_dir}source/fetch.sh"; _lpJsonStr "$@"; }
lpRegen() { source "${install_scripts_dir}webui/webui_regen.sh"; lpRegen "$@"; }
lpRegenArrays() { source "${install_scripts_dir}webui/webui_regen.sh"; lpRegenArrays "$@"; }
_lpRegenStale() { source "${install_scripts_dir}webui/webui_regen.sh"; _lpRegenStale "$@"; }
lpRegenWebui() { source "${install_scripts_dir}webui/webui_regen.sh"; lpRegenWebui "$@"; }
lpReleaseBaseUrl() { source "${install_scripts_dir}source/fetch.sh"; lpReleaseBaseUrl "$@"; }
lpReleaseChannel() { source "${install_scripts_dir}source/fetch.sh"; lpReleaseChannel "$@"; }
lpReleaseLatestFootprint() { source "${install_scripts_dir}source/fetch.sh"; lpReleaseLatestFootprint "$@"; }
lpReleaseLatestVersion() { source "${install_scripts_dir}source/fetch.sh"; lpReleaseLatestVersion "$@"; }
_lpSha256() { source "${install_scripts_dir}source/fetch.sh"; _lpSha256 "$@"; }
lpVersionGt() { source "${install_scripts_dir}source/fetch.sh"; lpVersionGt "$@"; }
mainLoop() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; mainLoop "$@"; }
mainMenu() { source "${install_scripts_dir}menu/menu_main.sh"; mainMenu "$@"; }
manifestCollect() { source "${install_scripts_dir}backup/manifest/manifest_collect.sh"; manifestCollect "$@"; }
manifestReadField() { source "${install_scripts_dir}backup/manifest/manifest_read.sh"; manifestReadField "$@"; }
manifestReadFromSnapshot() { source "${install_scripts_dir}backup/manifest/manifest_read.sh"; manifestReadFromSnapshot "$@"; }
manifestRemove() { source "${install_scripts_dir}backup/manifest/manifest_write.sh"; manifestRemove "$@"; }
manifestWrite() { source "${install_scripts_dir}backup/manifest/manifest_write.sh"; manifestWrite "$@"; }
mattermostToolsMenu() { source "${install_scripts_dir}menu/tools/manage_mattermost.sh"; mattermostToolsMenu "$@"; }
maybeRegenPoll() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; maybeRegenPoll "$@"; }
menuContinue() { source "${install_scripts_dir}menu/message/continue.sh"; menuContinue "$@"; }
menuLoginRequired() { source "${install_scripts_dir}menu/message/login.sh"; menuLoginRequired "$@"; }
menuShowFinalMessages() { source "${install_scripts_dir}menu/message/final.sh"; menuShowFinalMessages "$@"; }
_metricsReadCpu() { source "${install_scripts_dir}webui/data/generators/system/webui_system_metrics.sh"; _metricsReadCpu "$@"; }
migrateApp() { source "${install_scripts_dir}migrate/migrate_apply.sh"; migrateApp "$@"; }
migrateApplyApp() { source "${install_scripts_dir}migrate/migrate_apply.sh"; migrateApplyApp "$@"; }
migrateApplySystem() { source "${install_scripts_dir}migrate/migrate_apply.sh"; migrateApplySystem "$@"; }
migrateApplyUrlRewrite() { source "${install_scripts_dir}migrate/migrate_url_rewrite.sh"; migrateApplyUrlRewrite "$@"; }
migrateDiscoverAppDetail() { source "${install_scripts_dir}migrate/migrate_discover.sh"; migrateDiscoverAppDetail "$@"; }
migrateDiscoverApps() { source "${install_scripts_dir}migrate/migrate_discover.sh"; migrateDiscoverApps "$@"; }
migrateDiscoverAppsForHost() { source "${install_scripts_dir}migrate/migrate_discover.sh"; migrateDiscoverAppsForHost "$@"; }
migrateDiscoverHosts() { source "${install_scripts_dir}migrate/migrate_discover.sh"; migrateDiscoverHosts "$@"; }
migrateEmit() { source "${install_scripts_dir}migrate/migrate_progress.sh"; migrateEmit "$@"; }
_migrateParseOpts() { source "${install_scripts_dir}migrate/migrate_apply.sh"; _migrateParseOpts "$@"; }
migratePreBackupDestination() { source "${install_scripts_dir}migrate/migrate_pre_backup.sh"; migratePreBackupDestination "$@"; }
migratePreflight() { source "${install_scripts_dir}migrate/migrate_preflight.sh"; migratePreflight "$@"; }
_migratePreflightAppend() { source "${install_scripts_dir}migrate/migrate_preflight.sh"; _migratePreflightAppend "$@"; }
_migrateResolveLocation() { source "${install_scripts_dir}migrate/migrate_discover.sh"; _migrateResolveLocation "$@"; }
migrateRunHook() { source "${install_scripts_dir}migrate/migrate_hooks.sh"; migrateRunHook "$@"; }
migrateSystem() { source "${install_scripts_dir}migrate/migrate_apply.sh"; migrateSystem "$@"; }
migrateUrlRewriteEnabled() { source "${install_scripts_dir}migrate/migrate_url_rewrite.sh"; migrateUrlRewriteEnabled "$@"; }
monitoringAppEnabled() { source "${install_scripts_dir}network/monitoring/monitoring.sh"; monitoringAppEnabled "$@"; }
monitoringInstalledApps() { source "${install_scripts_dir}network/monitoring/monitoring.sh"; monitoringInstalledApps "$@"; }
monitoringIsInstalled() { source "${install_scripts_dir}network/monitoring/monitoring.sh"; monitoringIsInstalled "$@"; }
monitoringToggleAppConfig() { source "${install_scripts_dir}network/monitoring/monitoring.sh"; monitoringToggleAppConfig "$@"; }
moveFile() { source "${install_scripts_dir}function/file/move_file.sh"; moveFile "$@"; }
openFifoReader() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; openFifoReader "$@"; }
passwordValidation() { source "${install_scripts_dir}function/validation/password.sh"; passwordValidation "$@"; }
peerAdd() { source "${install_scripts_dir}peer/peer_add.sh"; peerAdd "$@"; }
peerCheckAll() { source "${install_scripts_dir}peer/peer_check.sh"; peerCheckAll "$@"; }
peerCheckReachable() { source "${install_scripts_dir}peer/peer_check.sh"; peerCheckReachable "$@"; }
_peerDb() { source "${install_scripts_dir}peer/peer_helpers.sh"; _peerDb "$@"; }
_peerEnvPath() { source "${install_scripts_dir}peer/peer_install_shell.sh"; _peerEnvPath "$@"; }
peerExec() { source "${install_scripts_dir}peer/peer_remote.sh"; peerExec "$@"; }
peerGet() { source "${install_scripts_dir}peer/peer_list.sh"; peerGet "$@"; }
peerInstallShell() { source "${install_scripts_dir}peer/peer_install_shell.sh"; peerInstallShell "$@"; }
_peerKeyDir() { source "${install_scripts_dir}peer/peer_key.sh"; _peerKeyDir "$@"; }
peerKeyEnsure() { source "${install_scripts_dir}peer/peer_key.sh"; peerKeyEnsure "$@"; }
peerKeyFingerprint() { source "${install_scripts_dir}peer/peer_key.sh"; peerKeyFingerprint "$@"; }
_peerKeyPrivPath() { source "${install_scripts_dir}peer/peer_key.sh"; _peerKeyPrivPath "$@"; }
peerKeyPublic() { source "${install_scripts_dir}peer/peer_key.sh"; peerKeyPublic "$@"; }
_peerKeyPubPath() { source "${install_scripts_dir}peer/peer_key.sh"; _peerKeyPubPath "$@"; }
peerList() { source "${install_scripts_dir}peer/peer_list.sh"; peerList "$@"; }
peerListAppsRemote() { source "${install_scripts_dir}peer/peer_remote.sh"; peerListAppsRemote "$@"; }
peerNameForHostname() { source "${install_scripts_dir}peer/peer_list.sh"; peerNameForHostname "$@"; }
peerPairingAccept() { source "${install_scripts_dir}peer/peer_pairing.sh"; peerPairingAccept "$@"; }
_peerPairingJsonNum() { source "${install_scripts_dir}peer/peer_pairing.sh"; _peerPairingJsonNum "$@"; }
_peerPairingJsonStr() { source "${install_scripts_dir}peer/peer_pairing.sh"; _peerPairingJsonStr "$@"; }
peerPairingParse() { source "${install_scripts_dir}peer/peer_pairing.sh"; peerPairingParse "$@"; }
peerPairingToken() { source "${install_scripts_dir}peer/peer_pairing.sh"; peerPairingToken "$@"; }
peerPing() { source "${install_scripts_dir}peer/peer_remote.sh"; peerPing "$@"; }
peerPullApp() { source "${install_scripts_dir}peer/peer_pull.sh"; peerPullApp "$@"; }
peerRemove() { source "${install_scripts_dir}peer/peer_remove.sh"; peerRemove "$@"; }
_peerShellPath() { source "${install_scripts_dir}peer/peer_install_shell.sh"; _peerShellPath "$@"; }
_peerShellSrc() { source "${install_scripts_dir}peer/peer_install_shell.sh"; _peerShellSrc "$@"; }
peerSqlEscape() { source "${install_scripts_dir}peer/peer_helpers.sh"; peerSqlEscape "$@"; }
_peerSshOpts() { source "${install_scripts_dir}peer/peer_remote.sh"; _peerSshOpts "$@"; }
_peerSshTarget() { source "${install_scripts_dir}peer/peer_remote.sh"; _peerSshTarget "$@"; }
peerValidateKind() { source "${install_scripts_dir}peer/peer_helpers.sh"; peerValidateKind "$@"; }
peerValidateName() { source "${install_scripts_dir}peer/peer_helpers.sh"; peerValidateName "$@"; }
performMaintenance() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; performMaintenance "$@"; }
portAllocate() { source "${install_scripts_dir}network/ports/allocation/port_allocate.sh"; portAllocate "$@"; }
portFindNextAvailablePort() { source "${install_scripts_dir}network/ports/core/port_find_next_available.sh"; portFindNextAvailablePort "$@"; }
portGetPublicPorts() { source "${install_scripts_dir}network/ports/core/port_get_public_ports.sh"; portGetPublicPorts "$@"; }
portGetServicePorts() { source "${install_scripts_dir}network/ports/core/port_get_service_ports.sh"; portGetServicePorts "$@"; }
portGetServicePortsOnly() { source "${install_scripts_dir}network/ports/core/port_get_service_ports_only.sh"; portGetServicePortsOnly "$@"; }
portIsReservedHostPort() { source "${install_scripts_dir}network/ports/core/port_find_next_available.sh"; portIsReservedHostPort "$@"; }
portLookupExisting() { source "${install_scripts_dir}network/ports/allocation/port_allocate.sh"; portLookupExisting "$@"; }
port_show_all_network_services() { source "${install_scripts_dir}network/display/show_all_network_services.sh"; port_show_all_network_services "$@"; }
port_show_network_service() { source "${install_scripts_dir}network/display/show_network_service.sh"; port_show_network_service "$@"; }
port_show_network_services_by_app() { source "${install_scripts_dir}network/display/show_network_services_by_app.sh"; port_show_network_services_by_app "$@"; }
port_show_network_services_by_category() { source "${install_scripts_dir}network/display/show_network_services_by_category.sh"; port_show_network_services_by_category "$@"; }
port_show_network_statistics() { source "${install_scripts_dir}network/display/show_network_statistics.sh"; port_show_network_statistics "$@"; }
portsRemoveFromDatabase() { source "${install_scripts_dir}network/ports/core/port_remove_from_db.sh"; portsRemoveFromDatabase "$@"; }
portStoreMapping() { source "${install_scripts_dir}network/ports/allocation/port_store_mapping.sh"; portStoreMapping "$@"; }
portUpdateComposeTags() { source "${install_scripts_dir}network/ports/allocation/port_update_compose_tags.sh"; portUpdateComposeTags "$@"; }
processBcryptPassword() { source "${install_scripts_dir}config/password/bcrypt/password_process_bcrypt.sh"; processBcryptPassword "$@"; }
readTaskField() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; readTaskField "$@"; }
reconcileConfigFile() { source "${install_scripts_dir}config/core/variables/config_scan_variables.sh"; reconcileConfigFile "$@"; }
reconcileContainersTopOwnership() { source "${install_scripts_dir}function/permission/libreportal_folders.sh"; reconcileContainersTopOwnership "$@"; }
reconcileDockerOwnership() { source "${install_scripts_dir}function/permission/libreportal_folders.sh"; reconcileDockerOwnership "$@"; }
reconcileWebuiDirOwnership() { source "${install_scripts_dir}function/permission/libreportal_folders.sh"; reconcileWebuiDirOwnership "$@"; }
recoverOrphans() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; recoverOrphans "$@"; }
removeEmptyLineAtFileEnd() { source "${install_scripts_dir}function/file/empty_line/remove_line.sh"; removeEmptyLineAtFileEnd "$@"; }
repairDirectoryStructure() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairDirectoryStructure "$@"; }
repairFileSystem() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairFileSystem "$@"; }
repairPermissions() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairPermissions "$@"; }
repairSystemIssues() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairSystemIssues "$@"; }
repairSystemService() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairSystemService "$@"; }
repairTaskSystem() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; repairTaskSystem "$@"; }
replaceBcryptPasswords() { source "${install_scripts_dir}config/password/bcrypt/password_replace_bcrypt.sh"; replaceBcryptPasswords "$@"; }
replaceHexKeys() { source "${install_scripts_dir}config/password/password_replace hex.sh"; replaceHexKeys "$@"; }
replaceLaravelAppKeys() { source "${install_scripts_dir}config/password/password_replace_appkey.sh"; replaceLaravelAppKeys "$@"; }
replacePlainPasswords() { source "${install_scripts_dir}config/password/password_replace.sh"; replacePlainPasswords "$@"; }
replaceRandomUsernames() { source "${install_scripts_dir}config/password/password_user_replace.sh"; replaceRandomUsernames "$@"; }
replaceVAPIDKeys() { source "${install_scripts_dir}config/password/password_replace vapid.sh"; replaceVAPIDKeys "$@"; }
resetToMenu() { source "${install_scripts_dir}menu/menu_reset_to_menu.sh"; resetToMenu "$@"; }
resolveDockerInstallUser() { source "${install_scripts_dir}checks/requirements/check_install_type.sh"; resolveDockerInstallUser "$@"; }
resticAllLocationIndices() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticAllLocationIndices "$@"; }
resticBackupAppAllLocations() { source "${install_scripts_dir}backup/engine/restic_backup.sh"; resticBackupAppAllLocations "$@"; }
resticBackupAppToLocation() { source "${install_scripts_dir}backup/engine/restic_backup.sh"; resticBackupAppToLocation "$@"; }
resticBackupSystemToLocation() { source "${install_scripts_dir}backup/engine/restic_backup.sh"; resticBackupSystemToLocation "$@"; }
resticCheckAllLocations() { source "${install_scripts_dir}backup/engine/restic_check.sh"; resticCheckAllLocations "$@"; }
resticCheckLocation() { source "${install_scripts_dir}backup/engine/restic_check.sh"; resticCheckLocation "$@"; }
resticDumpFile() { source "${install_scripts_dir}backup/engine/restic_dump.sh"; resticDumpFile "$@"; }
resticEnabledLocations() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticEnabledLocations "$@"; }
resticEnsureAllLocationsReady() { source "${install_scripts_dir}backup/engine/restic_init.sh"; resticEnsureAllLocationsReady "$@"; }
resticEnsureLocationReady() { source "${install_scripts_dir}backup/engine/restic_init.sh"; resticEnsureLocationReady "$@"; }
resticEnvExport() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticEnvExport "$@"; }
resticEnvUnset() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticEnvUnset "$@"; }
resticForgetApp() { source "${install_scripts_dir}backup/engine/restic_forget.sh"; resticForgetApp "$@"; }
resticForgetAppAllLocations() { source "${install_scripts_dir}backup/engine/restic_forget.sh"; resticForgetAppAllLocations "$@"; }
resticForgetSystem() { source "${install_scripts_dir}backup/engine/restic_forget.sh"; resticForgetSystem "$@"; }
resticInitAllLocations() { source "${install_scripts_dir}backup/engine/restic_init.sh"; resticInitAllLocations "$@"; }
resticInitLocation() { source "${install_scripts_dir}backup/engine/restic_init.sh"; resticInitLocation "$@"; }
resticInstall() { source "${install_scripts_dir}backup/engine/restic_install.sh"; resticInstall "$@"; }
resticLocationAppendOnly() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticLocationAppendOnly "$@"; }
resticLocationEnabled() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticLocationEnabled "$@"; }
resticLocationField() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticLocationField "$@"; }
resticLocationName() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticLocationName "$@"; }
resticLocationPassword() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticLocationPassword "$@"; }
resticLocationStats() { source "${install_scripts_dir}backup/engine/restic_check.sh"; resticLocationStats "$@"; }
resticLocationType() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticLocationType "$@"; }
resticLocationUri() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticLocationUri "$@"; }
resticNextFreeIndex() { source "${install_scripts_dir}backup/engine/restic_env.sh"; resticNextFreeIndex "$@"; }
resticRestoreAppLatest() { source "${install_scripts_dir}backup/engine/restic_restore.sh"; resticRestoreAppLatest "$@"; }
resticRestoreSnapshot() { source "${install_scripts_dir}backup/engine/restic_restore.sh"; resticRestoreSnapshot "$@"; }
resticRestoreSystemLatest() { source "${install_scripts_dir}backup/engine/restic_restore.sh"; resticRestoreSystemLatest "$@"; }
resticRetentionFor() { source "${install_scripts_dir}backup/engine/restic_forget.sh"; resticRetentionFor "$@"; }
resticSnapshotLatestId() { source "${install_scripts_dir}backup/engine/restic_snapshots.sh"; resticSnapshotLatestId "$@"; }
resticSnapshotListFiles() { source "${install_scripts_dir}backup/engine/restic_snapshots.sh"; resticSnapshotListFiles "$@"; }
resticSnapshotsJson() { source "${install_scripts_dir}backup/engine/restic_snapshots.sh"; resticSnapshotsJson "$@"; }
resticSystemSnapshotsJson() { source "${install_scripts_dir}backup/engine/restic_snapshots.sh"; resticSystemSnapshotsJson "$@"; }
restoreAppRunHook() { source "${install_scripts_dir}restore/restore_app_hooks.sh"; restoreAppRunHook "$@"; }
restoreAppStart() { source "${install_scripts_dir}restore/restore_app_start.sh"; restoreAppStart "$@"; }
restoreDbRehydratePreStart() { source "${install_scripts_dir}backup/db/backup_db.sh"; restoreDbRehydratePreStart "$@"; }
restoreDbReplayPostStart() { source "${install_scripts_dir}backup/db/backup_db.sh"; restoreDbReplayPostStart "$@"; }
restoreFilesRehydratePreStart() { source "${install_scripts_dir}backup/files/backup_files.sh"; restoreFilesRehydratePreStart "$@"; }
restoreFirstRunBulk() { source "${install_scripts_dir}restore/restore_first_run.sh"; restoreFirstRunBulk "$@"; }
restoreFirstRunDiscover() { source "${install_scripts_dir}restore/restore_first_run.sh"; restoreFirstRunDiscover "$@"; }
restorePickSnapshot() { source "${install_scripts_dir}restore/restore_app_pick.sh"; restorePickSnapshot "$@"; }
runAppCfg() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runAppCfg "$@"; }
runAsManager() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runAsManager "$@"; }
runBackupOp() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runBackupOp "$@"; }
runBinInstall() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runBinInstall "$@"; }
runFileOp() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runFileOp "$@"; }
runFileWrite() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runFileWrite "$@"; }
runInstallOp() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runInstallOp "$@"; }
runInstallWrite() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runInstallWrite "$@"; }
runOwnership() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runOwnership "$@"; }
runReinstall() { source "${install_scripts_dir}function/run/reinstall_libreportal.sh"; runReinstall "$@"; }
runResolv() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runResolv "$@"; }
_runRootHelper() { source "${install_scripts_dir}docker/command/run_privileged.sh"; _runRootHelper "$@"; }
runSocket() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runSocket "$@"; }
runSshAccess() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runSshAccess "$@"; }
runSvc() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runSvc "$@"; }
runSystem() { source "${install_scripts_dir}docker/command/run_privileged.sh"; runSystem "$@"; }
runTask() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; runTask "$@"; }
run_task_processor() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; run_task_processor "$@"; }
scanConfigsForRandomPassword() { source "${install_scripts_dir}config/password/password_update_all.sh"; scanConfigsForRandomPassword "$@"; }
scanFileForRandomPasswordKeysUsers() { source "${install_scripts_dir}config/password/password_scan_file.sh"; scanFileForRandomPasswordKeysUsers "$@"; }
setupApply() { source "${install_scripts_dir}setup/setup_apply.sh"; setupApply "$@"; }
setupApplyConfig() { source "${install_scripts_dir}setup/setup_apply.sh"; setupApplyConfig "$@"; }
setupApplyFinalize() { source "${install_scripts_dir}setup/setup_apply.sh"; setupApplyFinalize "$@"; }
setupBasicScanVariables() { source "${install_scripts_dir}network/variables/basic_scan.sh"; setupBasicScanVariables "$@"; }
setupCheckDomainPointsHere() { source "${install_scripts_dir}setup/setup_apply.sh"; setupCheckDomainPointsHere "$@"; }
setupDNSIP() { source "${install_scripts_dir}network/dns/setup_dns_ip.sh"; setupDNSIP "$@"; }
setupGenerateName() { source "${install_scripts_dir}setup/setup_apply.sh"; setupGenerateName "$@"; }
setupHeadscaleVariables() { source "${install_scripts_dir}network/variables/headscale_variables.sh"; setupHeadscaleVariables "$@"; }
setupTaskDir() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; setupTaskDir "$@"; }
setupWizardMarkComplete() { source "${install_scripts_dir}setup/setup_lock.sh"; setupWizardMarkComplete "$@"; }
setupWizardReset() { source "${install_scripts_dir}setup/setup_lock.sh"; setupWizardReset "$@"; }
setupWizardTerminal() { source "${install_scripts_dir}checks/first_install.sh"; setupWizardTerminal "$@"; }
showInstructions() { source "${install_scripts_dir}menu/message/instructions.sh"; showInstructions "$@"; }
sourceBackupLocations() { source "${install_scripts_dir}backup/locations/location_loader.sh"; sourceBackupLocations "$@"; }
sshRemote() { source "${install_scripts_dir}network/ssh/ssh.sh"; sshRemote "$@"; }
startInstall() { source "${install_scripts_dir}start/start_install.sh"; startInstall "$@"; }
startLoad() { source "${install_scripts_dir}start/start_load.sh"; startLoad "$@"; }
startOther() { source "${install_scripts_dir}start/start_other.sh"; startOther "$@"; }
startPreInstall() { source "${install_scripts_dir}start/start_preinstall.sh"; startPreInstall "$@"; }
startScan() { source "${install_scripts_dir}start/start_scan.sh"; startScan "$@"; }
switchMigrateBackupApps() { source "${install_scripts_dir}docker/type_switcher/swap_docker_type.sh"; switchMigrateBackupApps "$@"; }
switchMigrateRestoreApps() { source "${install_scripts_dir}docker/type_switcher/swap_docker_type.sh"; switchMigrateRestoreApps "$@"; }
tagsManagerGetTagContent() { source "${install_scripts_dir}config/tags/manager/tags_manager_content.sh"; tagsManagerGetTagContent "$@"; }
tagsManagerGetTagState() { source "${install_scripts_dir}config/tags/manager/tags_manager_state.sh"; tagsManagerGetTagState "$@"; }
tagsManagerUpdateUniversalTag() { source "${install_scripts_dir}config/tags/manager/tags_manager_update.sh"; tagsManagerUpdateUniversalTag "$@"; }
tagsProcessorAppConfigValues() { source "${install_scripts_dir}config/tags/processors/tags_processor_app_config_values.sh"; tagsProcessorAppConfigValues "$@"; }
tagsProcessorAppUrl() { source "${install_scripts_dir}config/tags/processors/tags_processor_app_url.sh"; tagsProcessorAppUrl "$@"; }
tagsProcessorDockerInstallation() { source "${install_scripts_dir}config/tags/processors/tags_processor_docker_installation.sh"; tagsProcessorDockerInstallation "$@"; }
tagsProcessorHealthcheck() { source "${install_scripts_dir}config/tags/processors/tags_processor_healthcheck.sh"; tagsProcessorHealthcheck "$@"; }
tagsProcessorPasswordAndKeyGeneration() { source "${install_scripts_dir}config/tags/processors/tags_processor_password_generation.sh"; tagsProcessorPasswordAndKeyGeneration "$@"; }
tagsProcessorPortMiddlewares() { source "${install_scripts_dir}network/traefik/traefik_port_middlewares.sh"; tagsProcessorPortMiddlewares "$@"; }
tagsProcessorPortRouterBlocks() { source "${install_scripts_dir}network/traefik/traefik_port_subdomains.sh"; tagsProcessorPortRouterBlocks "$@"; }
tagsProcessorPortSubdomains() { source "${install_scripts_dir}network/traefik/traefik_port_subdomains.sh"; tagsProcessorPortSubdomains "$@"; }
tagsProcessorRandomUserGeneration() { source "${install_scripts_dir}config/tags/processors/tags_processor_random_user.sh"; tagsProcessorRandomUserGeneration "$@"; }
tagsProcessorSocketConfiguration() { source "${install_scripts_dir}config/tags/processors/tags_processor_socket_configuration.sh"; tagsProcessorSocketConfiguration "$@"; }
tagsProcessorSpeedtestPass() { source "${install_scripts_dir}config/tags/processors/tags_processor_speedtest_pass.sh"; tagsProcessorSpeedtestPass "$@"; }
tagsProcessorStandardReplacements() { source "${install_scripts_dir}config/tags/processors/tags_processor_standard_replacements.sh"; tagsProcessorStandardReplacements "$@"; }
tagsProcessorTraefikControl() { source "${install_scripts_dir}config/tags/processors/tags_processor_traefik_control.sh"; tagsProcessorTraefikControl "$@"; }
tagsProcessorTrustedDomains() { source "${install_scripts_dir}config/tags/processors/tags_processor_trusted_domains.sh"; tagsProcessorTrustedDomains "$@"; }
toolArgsGet() { source "${install_scripts_dir}docker/app/functions/function_app_tool.sh"; toolArgsGet "$@"; }
toolsMenu() { source "${install_scripts_dir}menu/tools/manage_main.sh"; toolsMenu "$@"; }
traefikSetupLabelsMiddlewares() { source "${install_scripts_dir}network/traefik/traefik_middlewares.sh"; traefikSetupLabelsMiddlewares "$@"; }
traefikSetupLoginCredentials() { source "${install_scripts_dir}network/traefik/traefik_login_credentials.sh"; traefikSetupLoginCredentials "$@"; }
traefikUpdateWhitelist() { source "${install_scripts_dir}network/traefik/traefik_whitelist.sh"; traefikUpdateWhitelist "$@"; }
uninstallDockerRootless() { source "${install_scripts_dir}docker/install/rootless/rootless_uninstall.sh"; uninstallDockerRootless "$@"; }
updateAppConfig() { source "${install_scripts_dir}webui/data/generators/apps/webui_app_config.sh"; updateAppConfig "$@"; }
updateConfigOption() { source "${install_scripts_dir}config/core/config_update_option.sh"; updateConfigOption "$@"; }
updateDNS() { source "${install_scripts_dir}network/dns/setup_dns.sh"; updateDNS "$@"; }
updateDockerInstallPassword() { source "${install_scripts_dir}docker/update_docker_user_pass.sh"; updateDockerInstallPassword "$@"; }
updateDockerNetworkSubnet() { source "${install_scripts_dir}docker/network/network_randomize_subnet.sh"; updateDockerNetworkSubnet "$@"; }
updateDockerSudoPassword() { source "${install_scripts_dir}docker/update_docker_sudo_pass.sh"; updateDockerSudoPassword "$@"; }
updateFileOwnership() { source "${install_scripts_dir}function/permission/ownership/file.sh"; updateFileOwnership "$@"; }
updateHostIPToWhitelist() { source "${install_scripts_dir}config/utils/update_whitelist.sh"; updateHostIPToWhitelist "$@"; }
updateTaskFields() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; updateTaskFields "$@"; }
userExists() { source "${install_scripts_dir}function/checks/user_exists.sh"; userExists "$@"; }
validateContainerHealth() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateContainerHealth "$@"; }
validateDirectoryStructure() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateDirectoryStructure "$@"; }
validateDiskSpace() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateDiskSpace "$@"; }
validateDockerService() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateDockerService "$@"; }
validateFileSystem() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateFileSystem "$@"; }
validateLibrePortalInstallation() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateLibrePortalInstallation "$@"; }
validateLogHealth() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateLogHealth "$@"; }
validatePermissions() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validatePermissions "$@"; }
validateSystemHealth() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateSystemHealth "$@"; }
validateSystemService() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateSystemService "$@"; }
validateTaskSystem() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateTaskSystem "$@"; }
validateWebUIReadiness() { source "${install_scripts_dir}crontab/task/crontab_check_processor.sh"; validateWebUIReadiness "$@"; }
viewAppCategoryConfigs() { source "${install_scripts_dir}config/application/application_menu_category.sh"; viewAppCategoryConfigs "$@"; }
viewAppConfigs() { source "${install_scripts_dir}config/application/application_menu_apps.sh"; viewAppConfigs "$@"; }
viewComposeFiles() { source "${install_scripts_dir}config/docker/docker_compose_menu.sh"; viewComposeFiles "$@"; }
viewConfigs() { source "${install_scripts_dir}config/core/config_main_menu.sh"; viewConfigs "$@"; }
viewLibrePortalConfigs() { source "${install_scripts_dir}config/core/config_manage_menu.sh"; viewLibrePortalConfigs "$@"; }
viewLogs() { source "${install_scripts_dir}logs/installed_apps.sh"; viewLogs "$@"; }
viewLogsAppMenu() { source "${install_scripts_dir}logs/app_log_menu.sh"; viewLogsAppMenu "$@"; }
webuiCheckUpdateLock() { source "${install_scripts_dir}webui/data/lock/webui_check_update_lock.sh"; webuiCheckUpdateLock "$@"; }
webuiContainerSetup() { source "${install_scripts_dir}webui/data/utils/webui_container_setup.sh"; webuiContainerSetup "$@"; }
webuiCreateAppFieldMappings() { source "${install_scripts_dir}webui/data/generators/categories/webui_create_app_field_mappings.sh"; webuiCreateAppFieldMappings "$@"; }
webuiCreateAppsCategories() { source "${install_scripts_dir}webui/data/generators/categories/webui_create_app_categories.sh"; webuiCreateAppsCategories "$@"; }
webuiCreateAppsConfigCategories() { source "${install_scripts_dir}webui/data/generators/categories/webui_create_app_config_categories.sh"; webuiCreateAppsConfigCategories "$@"; }
webuiCreateCategories() { source "${install_scripts_dir}webui/data/generators/categories/webui_create_all_categories.sh"; webuiCreateCategories "$@"; }
webuiCreateLogsFolders() { source "${install_scripts_dir}webui/data/logs/webui_logs_folders.sh"; webuiCreateLogsFolders "$@"; }
webuiCreateUpdateLock() { source "${install_scripts_dir}webui/data/lock/webui_create_update_lock.sh"; webuiCreateUpdateLock "$@"; }
webuiDisplayLogins() { source "${install_scripts_dir}webui/webui_display_logins.sh"; webuiDisplayLogins "$@"; }
webuiEnsureTaskFiles() { source "${install_scripts_dir}webui/data/tasks/webui_task_files.sh"; webuiEnsureTaskFiles "$@"; }
webuiGenerateAppLogs() { source "${install_scripts_dir}webui/data/logs/webui_app_logs.sh"; webuiGenerateAppLogs "$@"; }
webuiGenerateAppsServicesConfig() { source "${install_scripts_dir}webui/data/generators/apps/webui_services.sh"; webuiGenerateAppsServicesConfig "$@"; }
webuiGenerateAppsToolsConfig() { source "${install_scripts_dir}webui/data/generators/apps/webui_tools.sh"; webuiGenerateAppsToolsConfig "$@"; }
webuiGenerateBackupAppStatus() { source "${install_scripts_dir}webui/data/generators/backup/webui_backup_app_status.sh"; webuiGenerateBackupAppStatus "$@"; }
webuiGenerateBackupDashboard() { source "${install_scripts_dir}webui/data/generators/backup/webui_backup_dashboard.sh"; webuiGenerateBackupDashboard "$@"; }
webuiGenerateBackupEngines() { source "${install_scripts_dir}webui/data/generators/backup/webui_backup_engines.sh"; webuiGenerateBackupEngines "$@"; }
webuiGenerateBackupLocations() { source "${install_scripts_dir}webui/data/generators/backup/webui_backup_locations.sh"; webuiGenerateBackupLocations "$@"; }
webuiGenerateBackupMigrate() { source "${install_scripts_dir}webui/data/generators/backup/webui_backup_migrate.sh"; webuiGenerateBackupMigrate "$@"; }
webuiGenerateBackupPasswords() { source "${install_scripts_dir}webui/data/generators/backup/webui_backup_passwords.sh"; webuiGenerateBackupPasswords "$@"; }
webuiGenerateBackupSchema() { source "${install_scripts_dir}webui/data/generators/backup/webui_backup_schema.sh"; webuiGenerateBackupSchema "$@"; }
webuiGenerateBackupSnapshots() { source "${install_scripts_dir}webui/data/generators/backup/webui_backup_snapshots.sh"; webuiGenerateBackupSnapshots "$@"; }
webuiGenerateLibrePortalConfig() { source "${install_scripts_dir}webui/data/generators/apps/webui_config.sh"; webuiGenerateLibrePortalConfig "$@"; }
webuiGeneratePeers() { source "${install_scripts_dir}webui/data/generators/peers/webui_peers.sh"; webuiGeneratePeers "$@"; }
webuiGenerateSshAccess() { source "${install_scripts_dir}webui/data/generators/system/webui_ssh_access.sh"; webuiGenerateSshAccess "$@"; }
webuiGenerateSystemConfigs() { source "${install_scripts_dir}webui/data/generators/config/webui_generate_configs.sh"; webuiGenerateSystemConfigs "$@"; }
webuiLibrePortalUpdate() { source "${install_scripts_dir}webui/webui_updater.sh"; webuiLibrePortalUpdate "$@"; }
webuiPatchAppConfigJson() { source "${install_scripts_dir}webui/data/generators/apps/webui_config_patch.sh"; webuiPatchAppConfigJson "$@"; }
webuiPrintInstallCard() { source "${install_scripts_dir}webui/webui_display_logins.sh"; webuiPrintInstallCard "$@"; }
webuiPrintLoginBlock() { source "${install_scripts_dir}webui/webui_display_logins.sh"; webuiPrintLoginBlock "$@"; }
_webuiReadServiceTags() { source "${install_scripts_dir}webui/data/generators/apps/webui_config.sh"; _webuiReadServiceTags "$@"; }
webuiRemoveSetupLock() { source "${install_scripts_dir}webui/data/lock/webui_remove_setup_lock.sh"; webuiRemoveSetupLock "$@"; }
webuiRemoveUpdateLock() { source "${install_scripts_dir}webui/data/lock/webui_remove_update_lock.sh"; webuiRemoveUpdateLock "$@"; }
webuiRunUpdate() { source "${install_scripts_dir}update/check_update.sh"; webuiRunUpdate "$@"; }
webuiSetConfigOptions() { source "${install_scripts_dir}webui/data/generators/config/webui_cli_config_set.sh"; webuiSetConfigOptions "$@"; }
webuiSyncAppIcon() { source "${install_scripts_dir}webui/data/utils/webui_app_icons.sh"; webuiSyncAppIcon "$@"; }
webuiSyncAppIcons() { source "${install_scripts_dir}webui/data/utils/webui_app_icons.sh"; webuiSyncAppIcons "$@"; }
webuiSystemDisk() { source "${install_scripts_dir}webui/data/generators/system/webui_system_disk.sh"; webuiSystemDisk "$@"; }
webuiSystemInfo() { source "${install_scripts_dir}webui/data/generators/system/webui_system_info.sh"; webuiSystemInfo "$@"; }
webuiSystemMemory() { source "${install_scripts_dir}webui/data/generators/system/webui_system_memory.sh"; webuiSystemMemory "$@"; }
webuiSystemUpdate() { source "${install_scripts_dir}webui/data/generators/system/webui_system_update.sh"; webuiSystemUpdate "$@"; }
webuiSystemUpdateCheck() { source "${install_scripts_dir}webui/data/generators/system/webui_system_update.sh"; webuiSystemUpdateCheck "$@"; }
webuiUpdateAppLog() { source "${install_scripts_dir}webui/data/utils/webui_app_log.sh"; webuiUpdateAppLog "$@"; }
webuiUpdateAppStatus() { source "${install_scripts_dir}webui/data/generators/apps/webui_app_status.sh"; webuiUpdateAppStatus "$@"; }
webuiUpdateSystemConfig() { source "${install_scripts_dir}webui/data/generators/config/webui_update_config.sh"; webuiUpdateSystemConfig "$@"; }
webuiValidateConfigValue() { source "${install_scripts_dir}webui/data/generators/config/webui_update_config.sh"; webuiValidateConfigValue "$@"; }
whitelistPortUpdater() { source "${install_scripts_dir}docker/whitelist_port_updater.sh"; whitelistPortUpdater "$@"; }
writeAtomic() { source "${install_scripts_dir}crontab/task/crontab_task_processor.sh"; writeAtomic "$@"; }
zipFile() { source "${install_scripts_dir}function/file/zip_file.sh"; zipFile "$@"; }

View File

@ -208,7 +208,18 @@ done < <(find "$SCRIPTS_DIR" -type f -name '*.sh' -print0)
while IFS= read -r f; do
printf ' "%s"\n' "$f"
done < <(printf '%s\n' "${eager_files[@]}" | sort -u)
printf ')\n'
printf ')\n\n'
printf '# Autoload stubs — one per public function. First call sources the\n'
printf '# real file (which redefines this stub with the real body), then\n'
printf '# re-invokes. Sourced inline instead of eval-in-loop because bash\n'
printf '# parses one large file faster than it evals 700 small snippets.\n'
printf '# Only emitted when the manifest is read; behaviour-neutral when the\n'
printf '# loader does not flip into LP_LAZY=1 mode.\n'
while IFS= read -r name; do
printf '%s() { source "${install_scripts_dir}%s"; %s "$@"; }\n' \
"$name" "${fn_to_file[$name]}" "$name"
done < <(printf '%s\n' "${!fn_to_file[@]}" | sort)
} > "$OUTPUT"
isSuccessful "Wrote $(realpath --relative-to="$SCRIPTS_DIR" "$OUTPUT")"

View File

@ -37,34 +37,83 @@ sourceInitilize()
files_to_source=("${files_libreportal_cli[@]}")
fi
# Checking for missing files. If LP_LOAD_TRACE=1, every source is timed
# and logged to ${LP_LOAD_TRACE_FILE:-/tmp/libreportal-load-trace.<pid>.log}
# — used by `libreportal debug load-trace` to pinpoint where the startup
# second goes. Each line: <elapsed_ms>\t<file_relpath>. Zero overhead when
# the env var is not set (one `[[` per file).
# Trace setup — LP_LOAD_TRACE=1 logs `<ms>\t<file>` to LP_LOAD_TRACE_FILE
# for `libreportal debug load-trace`. Zero overhead when unset.
if [[ "$LP_LOAD_TRACE" == "1" ]]; then
: "${LP_LOAD_TRACE_FILE:=/tmp/libreportal-load-trace.$$.log}"
export LP_LOAD_TRACE_FILE
: > "$LP_LOAD_TRACE_FILE"
fi
for file_to_source in "${files_to_source[@]}"; do
if [ ! -f "${install_scripts_dir}${file_to_source}" ]; then
isNotice "Missing file: ${install_scripts_dir}${file_to_source}"
else
# LP_LAZY=1: defer the bulk of file sourcing. Install autoload stubs from
# function_manifest.sh, source only the files with top-level side effects
# (LP_EAGER_FILES — set by the manifest), and skip the rest. Each stub
# sources its real file on first call; subsequent calls hit the real
# function directly (the source replaced the stub).
#
# Default (LP_LAZY unset or 0): the historical behaviour — source every
# file in files_to_source up front. Long-running processes (task
# processor, WebUI) want this so their first call to anything is hot.
if [[ "$LP_LAZY" == "1" ]]; then
local manifest="${install_scripts_dir}source/files/arrays/function_manifest.sh"
if [[ -f "$manifest" ]]; then
# Sourcing the manifest defines LP_FN_MAP, LP_EAGER_FILES, AND
# the autoload stubs (precompiled by the generator so we pay one
# parse cost instead of evaling ~700 snippets at startup).
if [[ "$LP_LOAD_TRACE" == "1" ]]; then
local _t0=$EPOCHREALTIME
source "${install_scripts_dir}${file_to_source}"
source "$manifest"
local _t1=$EPOCHREALTIME
# ms with 3 decimals. EPOCHREALTIME is `<sec>.<usec>`; awk
# handles the float arithmetic without needing bc.
local _ms
_ms=$(awk -v a="$_t0" -v b="$_t1" 'BEGIN{printf "%.3f", (b-a)*1000}')
printf '%s\t%s\n' "$_ms" "$file_to_source" >> "$LP_LOAD_TRACE_FILE"
printf '%s\t%s\n' "$_ms" "source/files/arrays/function_manifest.sh (LAZY-manifest)" >> "$LP_LOAD_TRACE_FILE"
else
source "${install_scripts_dir}${file_to_source}"
source "$manifest"
fi
# Eager-source the side-effect files. These define vars or run
# commands at top level; lazy stubs would skip those side effects.
local _eager
for _eager in "${LP_EAGER_FILES[@]}"; do
[[ -f "${install_scripts_dir}${_eager}" ]] || continue
if [[ "$LP_LOAD_TRACE" == "1" ]]; then
local _t0=$EPOCHREALTIME
source "${install_scripts_dir}${_eager}"
local _t1=$EPOCHREALTIME
local _ms
_ms=$(awk -v a="$_t0" -v b="$_t1" 'BEGIN{printf "%.3f", (b-a)*1000}')
printf '%s\t%s\n' "$_ms" "${_eager} (LAZY-EAGER)" >> "$LP_LOAD_TRACE_FILE"
else
source "${install_scripts_dir}${_eager}"
fi
done
else
# No manifest present — fall back to eager loading so we never
# leave the user with a broken install just because regen
# hasn't run. Silently — this is the safety net, not the path.
export LP_LAZY=0
fi
done
fi
# Eager path (default OR lazy-with-no-manifest fallback). Sources every
# file in files_to_source. Skipped entirely when LP_LAZY=1 succeeded.
if [[ "$LP_LAZY" != "1" ]]; then
for file_to_source in "${files_to_source[@]}"; do
if [ ! -f "${install_scripts_dir}${file_to_source}" ]; then
isNotice "Missing file: ${install_scripts_dir}${file_to_source}"
else
if [[ "$LP_LOAD_TRACE" == "1" ]]; then
local _t0=$EPOCHREALTIME
source "${install_scripts_dir}${file_to_source}"
local _t1=$EPOCHREALTIME
local _ms
_ms=$(awk -v a="$_t0" -v b="$_t1" 'BEGIN{printf "%.3f", (b-a)*1000}')
printf '%s\t%s\n' "$_ms" "$file_to_source" >> "$LP_LOAD_TRACE_FILE"
else
source "${install_scripts_dir}${file_to_source}"
fi
fi
done
fi
# Loading of all files
sourceScanFiles "libreportal_configs";