diff --git a/scripts/source/files/arrays/function_manifest.sh b/scripts/source/files/arrays/function_manifest.sh index ad98b29..f09e73d 100644 --- a/scripts/source/files/arrays/function_manifest.sh +++ b/scripts/source/files/arrays/function_manifest.sh @@ -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 "$@"; } diff --git a/scripts/source/files/generate_function_manifest.sh b/scripts/source/files/generate_function_manifest.sh index d1f3a17..221f8c3 100644 --- a/scripts/source/files/generate_function_manifest.sh +++ b/scripts/source/files/generate_function_manifest.sh @@ -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")" diff --git a/scripts/source/loading/initilize_files.sh b/scripts/source/loading/initilize_files.sh index 7a12230..e549619 100755 --- a/scripts/source/loading/initilize_files.sh +++ b/scripts/source/loading/initilize_files.sh @@ -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..log} - # — used by `libreportal debug load-trace` to pinpoint where the startup - # second goes. Each line: \t. Zero overhead when - # the env var is not set (one `[[` per file). + # Trace setup — LP_LOAD_TRACE=1 logs `\t` 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 `.`; 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";