From 3017f8e936ca8ba2b73104ae98603d9f272e6e6b Mon Sep 17 00:00:00 2001 From: "tgstation-server-ci[bot]" <161980869+tgstation-server-ci[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 22:46:15 +0000 Subject: [PATCH] Deploy code docs to GitHub Pages for workflow run 3454 Commit: 2aa16e84dae189a1ce4bb82f82eca86c75ecd8bd --- _api_root_controller_8cs_source.html | 2 +- _application_8cs_source.html | 10 +- _bootstrap_settings_8cs.html | 109 + _bootstrap_settings_8cs_source.html | 123 + _configuration_8cs_source.html | 133 +- _database_seeder_8cs_source.html | 4 +- _discord_provider_8cs_source.html | 2 +- _engine_manager_8cs_source.html | 304 +-- _general_configuration_8cs_source.html | 281 +-- ...l_configuration_extensions_8cs_source.html | 4 +- _git_hub_client_factory_8cs_source.html | 4 +- _hard_link_dmb_provider_8cs_source.html | 2 +- _i_post_setup_services_8cs_source.html | 2 +- _i_signal_checker_8cs_source.html | 6 +- _instance_controller_8cs_source.html | 4 +- _instance_factory_8cs_source.html | 2 +- _instance_manager_8cs_source.html | 10 +- _noop_signal_checker_8cs_source.html | 2 +- _open_dream_installer_8cs_source.html | 6 +- _posix_process_features_8cs_source.html | 437 ++-- _posix_signal_checker_8cs_source.html | 2 +- _posix_watchdog_8cs_source.html | 2 +- _posix_watchdog_factory_8cs_source.html | 2 +- _post_setup_services_8cs_source.html | 2 +- _provider_factory_8cs_source.html | 2 +- _repository_8cs_source.html | 2 +- _repository_manager_8cs_source.html | 2 +- _repostory_manager_factory_8cs_source.html | 2 +- _root_controller_8cs_source.html | 4 +- _server_8cs_source.html | 430 ++-- _server_factory_8cs_source.html | 2 +- _server_port_proivder_8cs_source.html | 4 +- _server_service_8cs_source.html | 2 +- _server_updater_8cs_source.html | 4 +- ...vice_collection_extensions_8cs_source.html | 4 +- _service_lifetime_8cs_source.html | 2 +- _setup_application_8cs_source.html | 2 +- _setup_wizard_8cs_source.html | 8 +- ...atchdog_2_watchdog_factory_8cs_source.html | 2 +- ...8_host_8_console_2_program_8cs_source.html | 2 +- ...8_host_8_service_2_program_8cs_source.html | 2 +- ...st_8_watchdog_2_i_watchdog_8cs_source.html | 2 +- ...chdog_2_i_watchdog_factory_8cs_source.html | 2 +- ...atchdog_2_watchdog_factory_8cs_source.html | 4 +- _watchdog_8cs_source.html | 821 ++++--- _windows_byond_installer_8cs_source.html | 4 +- _windows_open_dream_installer_8cs_source.html | 4 +- annotated.html | 13 +- changelog.yml | 29 +- ...1_1_api_1_1_models_1_1_engine_version.html | 4 +- ...76a2503f8e4371139e9abe80df44d2_icgraph.map | 2 +- ...76a2503f8e4371139e9abe80df44d2_icgraph.md5 | 2 +- ..._internal_1_1_server_information_base.html | 8 +- ..._extensions_1_1_value_task_extensions.html | 149 +- ...adbd94d764754bd3e6c566a5fe7fe3_icgraph.map | 165 +- ...adbd94d764754bd3e6c566a5fe7fe3_icgraph.md5 | 2 +- ...adbd94d764754bd3e6c566a5fe7fe3_icgraph.png | Bin 473735 -> 486155 bytes ...1_1_engine_1_1_engine_manager-members.html | 2 +- ...ponents_1_1_engine_1_1_engine_manager.html | 569 ++--- ...d0593064aa1c11835cfa1ab2823ec34_cgraph.map | 75 +- ...d0593064aa1c11835cfa1ab2823ec34_cgraph.md5 | 2 +- ...d0593064aa1c11835cfa1ab2823ec34_cgraph.png | Bin 158021 -> 154838 bytes ...03c2123e6edceee48d8b4897be532c6_cgraph.map | 83 +- ...03c2123e6edceee48d8b4897be532c6_cgraph.md5 | 2 +- ...03c2123e6edceee48d8b4897be532c6_cgraph.png | Bin 166541 -> 168328 bytes ...9978534a863e31d7d58e51c86b5886c_cgraph.map | 95 +- ...9978534a863e31d7d58e51c86b5886c_cgraph.md5 | 2 +- ...9978534a863e31d7d58e51c86b5886c_cgraph.png | Bin 188247 -> 198932 bytes ...ff0a1cd6da08efa4de8455503d48b72_cgraph.map | 0 ...ff0a1cd6da08efa4de8455503d48b72_cgraph.md5 | 0 ...ff0a1cd6da08efa4de8455503d48b72_cgraph.png | Bin ...f0a1cd6da08efa4de8455503d48b72_icgraph.map | 0 ...f0a1cd6da08efa4de8455503d48b72_icgraph.md5 | 0 ...f0a1cd6da08efa4de8455503d48b72_icgraph.png | Bin ...s_1_1_engine_1_1_open_dream_installer.html | 10 +- ..._1_engine_1_1_windows_byond_installer.html | 6 +- ...gine_1_1_windows_open_dream_installer.html | 6 +- ...mponents_1_1_instance_manager-members.html | 46 +- ...t_1_1_components_1_1_instance_manager.html | 328 +-- ...e875f6dd7bf0458e6d54e0dcf7bfe44_cgraph.md5 | 1 - ...e875f6dd7bf0458e6d54e0dcf7bfe44_cgraph.png | Bin 33831 -> 0 bytes ...875f6dd7bf0458e6d54e0dcf7bfe44_icgraph.md5 | 1 - ...875f6dd7bf0458e6d54e0dcf7bfe44_icgraph.png | Bin 17082 -> 0 bytes ...99f1f7613771ef7c9d9f5ff55fb8b47_cgraph.map | 20 +- ...99f1f7613771ef7c9d9f5ff55fb8b47_cgraph.md5 | 1 + ...99f1f7613771ef7c9d9f5ff55fb8b47_cgraph.png | Bin 0 -> 32668 bytes ...9f1f7613771ef7c9d9f5ff55fb8b47_icgraph.map | 6 +- ...9f1f7613771ef7c9d9f5ff55fb8b47_icgraph.md5 | 1 + ...9f1f7613771ef7c9d9f5ff55fb8b47_icgraph.png | Bin 0 -> 16301 bytes ...2bcc92fca46ad404800304ce4bdd781_cgraph.map | 66 +- ...2bcc92fca46ad404800304ce4bdd781_cgraph.md5 | 2 +- ...2bcc92fca46ad404800304ce4bdd781_cgraph.png | Bin 111664 -> 109035 bytes ...70355ebb8437fd170e4f75e826f1ad7_cgraph.map | 62 +- ...70355ebb8437fd170e4f75e826f1ad7_cgraph.md5 | 2 +- ...70355ebb8437fd170e4f75e826f1ad7_cgraph.png | Bin 97935 -> 91607 bytes ...ts_1_1_static_files_1_1_configuration.html | 138 +- ...ed16f7fc0c67a144c98ec5008c45811_cgraph.map | 8 +- ...ed16f7fc0c67a144c98ec5008c45811_cgraph.md5 | 2 +- ...ed16f7fc0c67a144c98ec5008c45811_cgraph.png | Bin 10592 -> 16740 bytes ...nts_1_1_watchdog_1_1_watchdog_factory.html | 2 +- ...ion_1_1_general_configuration-members.html | 67 +- ...nfiguration_1_1_general_configuration.html | 244 +- ...ff52d3ac52e100397122e63e1337ee_icgraph.map | 8 +- ...ff52d3ac52e100397122e63e1337ee_icgraph.md5 | 2 +- ...ff52d3ac52e100397122e63e1337ee_icgraph.png | Bin 21925 -> 22353 bytes ...figuration_1_1_internal_configuration.html | 2 +- ...1_controllers_1_1_instance_controller.html | 4 +- ...t_1_1_controllers_1_1_root_controller.html | 4 +- ...ver_1_1_host_1_1_core_1_1_application.html | 16 +- ..._1_1_host_1_1_core_1_1_server_updater.html | 4 +- ...host_1_1_database_1_1_database_seeder.html | 4 +- ..._1_1_general_configuration_extensions.html | 2 +- ...ons_1_1_service_collection_extensions.html | 6 +- ..._1_1_extensions_1_1_socket_extensions.html | 32 +- ...7cda4241401c1a92afb27242c2e0de_icgraph.map | 30 +- ...7cda4241401c1a92afb27242c2e0de_icgraph.md5 | 2 +- ...7cda4241401c1a92afb27242c2e0de_icgraph.png | Bin 46211 -> 48677 bytes ...st_1_1_jobs_1_1_job_progress_reporter.html | 10 +- ...254a185da6e76e7fcd2d72a8032970_icgraph.map | 2 +- ...254a185da6e76e7fcd2d72a8032970_icgraph.md5 | 2 +- ...5af832a3c5781b796441234fc0e5fe_icgraph.map | 2 +- ...5af832a3c5781b796441234fc0e5fe_icgraph.md5 | 2 +- ...36a80d9d56a20711468d9b8e27e3c1_icgraph.map | 2 +- ...36a80d9d56a20711468d9b8e27e3c1_icgraph.md5 | 2 +- ...tation_1_1_server_1_1_host_1_1_server.html | 426 ++-- ..._1_server_1_1_host_1_1_server_factory.html | 2 +- ..._host_1_1_setup_1_1_setup_application.html | 2 +- ...r_1_1_host_1_1_setup_1_1_setup_wizard.html | 12 +- ...em_1_1_posix_process_features-members.html | 21 +- ...1_1_system_1_1_posix_process_features.html | 414 ++-- ...1eeadd8f3fa1380151384ec76881d7f_cgraph.map | 12 +- ...1eeadd8f3fa1380151384ec76881d7f_cgraph.md5 | 2 +- ...1eeadd8f3fa1380151384ec76881d7f_cgraph.png | Bin 14462 -> 22350 bytes ...2db9972be61c083ad062f36b95b33f_icgraph.map | 5 + ...2db9972be61c083ad062f36b95b33f_icgraph.md5 | 1 + ...2db9972be61c083ad062f36b95b33f_icgraph.png | Bin 0 -> 11227 bytes ..._host_1_1_system_1_1_process_executor.html | 34 +- ...4541bf587f773df0ccfa64ff4ae7ec_icgraph.map | 34 +- ...4541bf587f773df0ccfa64ff4ae7ec_icgraph.md5 | 2 +- ...4541bf587f773df0ccfa64ff4ae7ec_icgraph.png | Bin 53236 -> 52865 bytes ...tchdog_1_1_bootstrap_settings-members.html | 94 + ...t_1_1_watchdog_1_1_bootstrap_settings.html | 280 +++ ...og_1_1_bootstrap_settings__coll__graph.map | 7 + ...og_1_1_bootstrap_settings__coll__graph.md5 | 1 + ...og_1_1_bootstrap_settings__coll__graph.png | Bin 0 -> 11324 bytes ...er_1_1_host_1_1_watchdog_1_1_watchdog.html | 758 ++++--- classes.html | 2 +- dir_f0d41009ce252337feb2b68822c4cfba.html | 2 + files.html | 13 +- functions.html | 9 +- functions_c.html | 18 +- functions_f.html | 2 + functions_func_c.html | 6 +- functions_func_g.html | 3 +- functions_func_i.html | 2 +- functions_func_p.html | 1 + functions_g.html | 7 +- functions_h.html | 7 +- functions_i.html | 2 +- functions_j.html | 4 +- functions_o.html | 2 +- functions_p.html | 5 +- functions_prop.html | 1 + functions_prop_f.html | 1 + functions_prop_s.html | 1 + functions_prop_t.html | 1 + functions_s.html | 13 +- functions_t.html | 1 + functions_v.html | 1 + functions_vars_f.html | 1 + functions_vars_v.html | 1 + hierarchy.html | 2011 +++++++++-------- index.html | 97 +- inherit_graph_243.map | 4 +- inherit_graph_243.md5 | 2 +- inherit_graph_243.png | Bin 7947 -> 4358 bytes inherit_graph_244.map | 6 +- inherit_graph_244.md5 | 2 +- inherit_graph_244.png | Bin 9972 -> 7947 bytes inherit_graph_245.map | 6 +- inherit_graph_245.md5 | 2 +- inherit_graph_245.png | Bin 6924 -> 9972 bytes inherit_graph_246.map | 5 + inherit_graph_246.md5 | 1 + inherit_graph_246.png | Bin 0 -> 6924 bytes inherits.html | 11 +- ...engine_1_1_i_engine_installation_data.html | 4 +- ...12d13d543fde6cbb64c9085f9370b7_icgraph.map | 2 +- ...12d13d543fde6cbb64c9085f9370b7_icgraph.md5 | 2 +- ...nts_1_1_engine_1_1_i_engine_installer.html | 10 +- ...41dfb27438fbd4d70462cd137bcb42_icgraph.map | 2 +- ...41dfb27438fbd4d70462cd137bcb42_icgraph.md5 | 2 +- ...982c374c0d5d56779125fce7c933be_icgraph.map | 2 +- ...982c374c0d5d56779125fce7c933be_icgraph.md5 | 2 +- ...t_1_1_core_1_1_i_server_port_provider.html | 2 +- ...er_1_1_host_1_1_i_o_1_1_i_i_o_manager.html | 153 +- ...a442b5dff16f5e7a730ec354e81d78_icgraph.map | 2 +- ...a442b5dff16f5e7a730ec354e81d78_icgraph.md5 | 2 +- ...6f4eb5c679683b7e519847a6c3574e_icgraph.map | 2 +- ...6f4eb5c679683b7e519847a6c3574e_icgraph.md5 | 2 +- ...aa1b9dbeb6af3744e568095c4376e7_icgraph.map | 2 +- ...aa1b9dbeb6af3744e568095c4376e7_icgraph.md5 | 2 +- ...eb8b83ea3f4b13a183b6ac55b35a70_icgraph.map | 2 +- ...eb8b83ea3f4b13a183b6ac55b35a70_icgraph.md5 | 2 +- ...e0dda4b7fbad4c77f48ba3b2681dc7_icgraph.map | 129 +- ...e0dda4b7fbad4c77f48ba3b2681dc7_icgraph.md5 | 2 +- ...e0dda4b7fbad4c77f48ba3b2681dc7_icgraph.png | Bin 284490 -> 302444 bytes ...ecurity_1_1_i_system_identity_factory.html | 10 +- ...52301d3f6ed6eb477f74a081e2187e_icgraph.map | 8 +- ...52301d3f6ed6eb477f74a081e2187e_icgraph.md5 | 2 +- ...52301d3f6ed6eb477f74a081e2187e_icgraph.png | Bin 21654 -> 22095 bytes ..._1_1_system_1_1_i_platform_identifier.html | 2 +- ...ost_1_1_watchdog_1_1_i_signal_checker.html | 2 +- md__s_e_c_u_r_i_t_y.html | 6 +- ...tion_1_1_server_1_1_host_1_1_watchdog.html | 3 + namespaces.html | 13 +- search/all_10.js | 12 +- search/all_11.js | 157 +- search/all_13.js | 22 +- search/all_14.js | 631 +++--- search/all_15.js | 223 +- search/all_16.js | 18 +- search/all_17.js | 11 +- search/all_18.js | 6 +- search/all_2.js | 353 +-- search/all_3.js | 104 +- search/all_4.js | 60 +- search/all_5.js | 12 +- search/all_6.js | 8 +- search/all_7.js | 108 +- search/all_8.js | 177 +- search/all_9.js | 4 +- search/all_a.js | 18 +- search/all_b.js | 4 +- search/all_d.js | 10 +- search/all_e.js | 6 +- search/all_f.js | 8 +- search/classes_1.js | 15 +- search/files_2.js | 17 +- search/functions_2.js | 22 +- search/functions_6.js | 109 +- search/functions_8.js | 2 +- search/functions_f.js | 55 +- search/properties_0.js | 69 +- search/properties_11.js | 87 +- search/properties_12.js | 51 +- search/properties_2.js | 2 +- search/properties_5.js | 7 +- search/variables_11.js | 2 +- search/variables_14.js | 2 +- search/variables_15.js | 3 +- search/variables_2.js | 2 +- search/variables_5.js | 9 +- search/variables_8.js | 2 +- search/variables_9.js | 2 +- 255 files changed, 6716 insertions(+), 5557 deletions(-) create mode 100644 _bootstrap_settings_8cs.html create mode 100644 _bootstrap_settings_8cs_source.html rename class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_ac06e9789785574f8d657a29fdd183795_cgraph.map => class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_aaff0a1cd6da08efa4de8455503d48b72_cgraph.map (100%) rename class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_ac06e9789785574f8d657a29fdd183795_cgraph.md5 => class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_aaff0a1cd6da08efa4de8455503d48b72_cgraph.md5 (100%) rename class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_ac06e9789785574f8d657a29fdd183795_cgraph.png => class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_aaff0a1cd6da08efa4de8455503d48b72_cgraph.png (100%) rename class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_ac06e9789785574f8d657a29fdd183795_icgraph.map => class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_aaff0a1cd6da08efa4de8455503d48b72_icgraph.map (100%) rename class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_ac06e9789785574f8d657a29fdd183795_icgraph.md5 => class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_aaff0a1cd6da08efa4de8455503d48b72_icgraph.md5 (100%) rename class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_ac06e9789785574f8d657a29fdd183795_icgraph.png => class_tgstation_1_1_server_1_1_host_1_1_components_1_1_engine_1_1_engine_manager_aaff0a1cd6da08efa4de8455503d48b72_icgraph.png (100%) delete mode 100644 class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a3e875f6dd7bf0458e6d54e0dcf7bfe44_cgraph.md5 delete mode 100644 class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a3e875f6dd7bf0458e6d54e0dcf7bfe44_cgraph.png delete mode 100644 class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a3e875f6dd7bf0458e6d54e0dcf7bfe44_icgraph.md5 delete mode 100644 class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a3e875f6dd7bf0458e6d54e0dcf7bfe44_icgraph.png rename class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a3e875f6dd7bf0458e6d54e0dcf7bfe44_cgraph.map => class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a799f1f7613771ef7c9d9f5ff55fb8b47_cgraph.map (70%) create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a799f1f7613771ef7c9d9f5ff55fb8b47_cgraph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a799f1f7613771ef7c9d9f5ff55fb8b47_cgraph.png rename class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a3e875f6dd7bf0458e6d54e0dcf7bfe44_icgraph.map => class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a799f1f7613771ef7c9d9f5ff55fb8b47_icgraph.map (71%) create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a799f1f7613771ef7c9d9f5ff55fb8b47_icgraph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_components_1_1_instance_manager_a799f1f7613771ef7c9d9f5ff55fb8b47_icgraph.png create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_system_1_1_posix_process_features_ab02db9972be61c083ad062f36b95b33f_icgraph.map create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_system_1_1_posix_process_features_ab02db9972be61c083ad062f36b95b33f_icgraph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_system_1_1_posix_process_features_ab02db9972be61c083ad062f36b95b33f_icgraph.png create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_watchdog_1_1_bootstrap_settings-members.html create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_watchdog_1_1_bootstrap_settings.html create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_watchdog_1_1_bootstrap_settings__coll__graph.map create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_watchdog_1_1_bootstrap_settings__coll__graph.md5 create mode 100644 class_tgstation_1_1_server_1_1_host_1_1_watchdog_1_1_bootstrap_settings__coll__graph.png create mode 100644 inherit_graph_246.map create mode 100644 inherit_graph_246.md5 create mode 100644 inherit_graph_246.png diff --git a/_api_root_controller_8cs_source.html b/_api_root_controller_8cs_source.html index f804ced89e0..1f93accd2e2 100644 --- a/_api_root_controller_8cs_source.html +++ b/_api_root_controller_8cs_source.html @@ -251,7 +251,7 @@
Tgstation.Server.Api.Routes.ApiRoot
const string ApiRoot
The root of API methods.
Definition Routes.cs:13
Tgstation.Server.Host.Components.Interop.DMApiConstants
Constants used for communication with the DMAPI.
Definition DMApiConstants.cs:16
Tgstation.Server.Host.Components.Interop.DMApiConstants.InteropVersion
static readonly Version InteropVersion
The DMAPI InteropVersion being used.
Definition DMApiConstants.cs:56
-
Tgstation.Server.Host.Configuration.GeneralConfiguration
General configuration options.
Definition GeneralConfiguration.cs:20
+
Tgstation.Server.Host.Configuration.GeneralConfiguration
General configuration options.
Definition GeneralConfiguration.cs:23
Tgstation.Server.Host.Controllers.ApiController
Base Controller for API functions.
Definition ApiController.cs:37
Tgstation.Server.Host.Controllers.ApiController.HeadersIssue
IActionResult HeadersIssue(HeadersException headersException)
Response for missing/Invalid headers.
Definition ApiController.cs:225
Tgstation.Server.Host.Controllers.ApiRootController
Root ApiController for the Application.
Definition ApiRootController.cs:37
diff --git a/_application_8cs_source.html b/_application_8cs_source.html index d2731c8ebef..c935064fb8e 100644 --- a/_application_8cs_source.html +++ b/_application_8cs_source.html @@ -856,10 +856,10 @@
Tgstation.Server.Host.Configuration.FileLoggingConfiguration.GetFullLogDirectory
string GetFullLogDirectory(IIOManager ioManager, IAssemblyInformationProvider assemblyInformationProvider, IPlatformIdentifier platformIdentifier)
Gets the evaluated log Directory.
Definition FileLoggingConfiguration.cs:56
Tgstation.Server.Host.Configuration.FileLoggingConfiguration.LogLevel
LogLevel LogLevel
The minimum Microsoft.Extensions.Logging.LogLevel to display in logs.
Definition FileLoggingConfiguration.cs:41
Tgstation.Server.Host.Configuration.FileLoggingConfiguration.Disable
bool Disable
If file logging is disabled.
Definition FileLoggingConfiguration.cs:30
-
Tgstation.Server.Host.Configuration.GeneralConfiguration
General configuration options.
Definition GeneralConfiguration.cs:20
-
Tgstation.Server.Host.Configuration.GeneralConfiguration.CurrentConfigVersion
static readonly Version CurrentConfigVersion
The current ConfigVersion.
Definition GeneralConfiguration.cs:79
-
Tgstation.Server.Host.Configuration.GeneralConfiguration.HostApiDocumentation
bool HostApiDocumentation
If the swagger documentation and UI should be made avaiable.
Definition GeneralConfiguration.cs:125
-
Tgstation.Server.Host.Configuration.GeneralConfiguration.RestartTimeoutMinutes
uint RestartTimeoutMinutes
The timeout minutes for restarting the server.
Definition GeneralConfiguration.cs:110
+
Tgstation.Server.Host.Configuration.GeneralConfiguration
General configuration options.
Definition GeneralConfiguration.cs:23
+
Tgstation.Server.Host.Configuration.GeneralConfiguration.CurrentConfigVersion
static readonly Version CurrentConfigVersion
The current ConfigVersion.
Definition GeneralConfiguration.cs:82
+
Tgstation.Server.Host.Configuration.GeneralConfiguration.HostApiDocumentation
bool HostApiDocumentation
If the swagger documentation and UI should be made avaiable.
Definition GeneralConfiguration.cs:128
+
Tgstation.Server.Host.Configuration.GeneralConfiguration.RestartTimeoutMinutes
uint RestartTimeoutMinutes
The timeout minutes for restarting the server.
Definition GeneralConfiguration.cs:113
Tgstation.Server.Host.Configuration.InternalConfiguration.UsingSystemD
bool UsingSystemD
If the server is running under SystemD.
Definition InternalConfiguration.cs:26
Tgstation.Server.Host.Configuration.SessionConfiguration
Configuration options for the game sessions.
Definition SessionConfiguration.cs:7
Tgstation.Server.Host.Configuration.SwarmConfiguration
Configuration for the server swarm system.
Definition SwarmConfiguration.cs:13
@@ -925,7 +925,7 @@
Tgstation.Server.Host.System.AssemblyInformationProvider
Definition AssemblyInformationProvider.cs:12
Tgstation.Server.Host.System.DotnetDumpService
Definition DotnetDumpService.cs:15
Tgstation.Server.Host.System.PosixNetworkPromptReaper
Definition PosixNetworkPromptReaper.cs:5
-
Tgstation.Server.Host.System.PosixProcessFeatures
Definition PosixProcessFeatures.cs:21
+
Tgstation.Server.Host.System.PosixProcessFeatures
Definition PosixProcessFeatures.cs:23
Tgstation.Server.Host.System.PosixSignalHandler
Handles POSIX signals.
Definition PosixSignalHandler.cs:19
Tgstation.Server.Host.System.ProcessExecutor
Definition ProcessExecutor.cs:19
Tgstation.Server.Host.System.SystemDManager
Implements the SystemD notify service protocol.
Definition SystemDManager.cs:20
diff --git a/_bootstrap_settings_8cs.html b/_bootstrap_settings_8cs.html new file mode 100644 index 00000000000..a8761f533d5 --- /dev/null +++ b/_bootstrap_settings_8cs.html @@ -0,0 +1,109 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host.Watchdog/BootstrapSettings.cs File Reference + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.12.0 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
+Classes | +Namespaces
+
BootstrapSettings.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Classes

class  Tgstation.Server.Host.Watchdog.BootstrapSettings
 Settings for the bootstrapper feature. More...
 
+ + + + + + + + + +

+Namespaces

namespace  Tgstation
 
namespace  Tgstation.Server
 
namespace  Tgstation.Server.Host
 
namespace  Tgstation.Server.Host.Watchdog
 
+
+ + + + diff --git a/_bootstrap_settings_8cs_source.html b/_bootstrap_settings_8cs_source.html new file mode 100644 index 00000000000..f1b6f833e45 --- /dev/null +++ b/_bootstrap_settings_8cs_source.html @@ -0,0 +1,123 @@ + + + + + + + +tgstation-server: src/Tgstation.Server.Host.Watchdog/BootstrapSettings.cs Source File + + + + + + + + + +
+
+ + + + + + +
+
tgstation-server 6.12.0 +
+
The /tg/station 13 server suite
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
BootstrapSettings.cs
+
+
+Go to the documentation of this file.
1using System;
+
2using System.Reflection;
+
3
+ +
5
+
+ +
7{
+
+
11 sealed class BootstrapSettings
+
12 {
+
16 public const int FileMajorVersion = 1;
+
17
+
21 public const string VersionSubstitutionToken = "${version}";
+
22
+
26 public Version FileVersion { get; set; } = new Version(FileMajorVersion, 0, 0);
+
27
+
31 public Version TgsVersion { get; set; } = Assembly.GetEntryAssembly()!.GetName().Version!.Semver();
+
32
+
36 public string ServerUpdatePackageUrlFormatter { get; set; } = $"https://github.com/tgstation/tgstation-server/releases/download/tgstation-server-v{VersionSubstitutionToken}/ServerUpdatePackage.zip";
+
37 }
+
+
38}
+
+
Settings for the bootstrapper feature.
+
const int FileMajorVersion
The current supported major version of FileVersion.
+
Version TgsVersion
The Version of TGS last launched in the lib/Default directory.
+
string ServerUpdatePackageUrlFormatter
The URL to format with TgsVersion to get the download URL.
+
const string VersionSubstitutionToken
The token used to substitute ServerUpdatePackageUrlFormatter.
+
Version FileVersion
The version of the boostrapper file.
+ + +
+ + + + diff --git a/_configuration_8cs_source.html b/_configuration_8cs_source.html index 21bbd875d75..7122c01a89e 100644 --- a/_configuration_8cs_source.html +++ b/_configuration_8cs_source.html @@ -788,64 +788,85 @@
787 // always execute in serial
788 using (await SemaphoreSlimContext.Lock(semaphore, cancellationToken, logger))
789 {
-
790 var files = await ioManager.GetFilesWithExtension(EventScriptsSubdirectory, platformIdentifier.ScriptFileExtension, false, cancellationToken);
-
791 var resolvedScriptsDir = ioManager.ResolvePath(EventScriptsSubdirectory);
+
790 var directories = generalConfiguration.AdditionalEventScriptsDirectories?.ToList() ?? new List<string>();
+
791 directories.Add(EventScriptsSubdirectory);
792
-
793 var scriptFiles = files
-
794 .Select(x => ioManager.GetFileName(x))
-
795 .Where(x => scriptNames.Any(
-
796 scriptName => x.StartsWith(scriptName, StringComparison.Ordinal)))
-
797 .ToList();
-
798
-
799 if (scriptFiles.Count == 0)
-
800 {
-
801 logger.LogTrace("No event scripts starting with \"{scriptName}\" detected", String.Join("\" or \"", scriptNames));
-
802 return;
-
803 }
-
804
-
805 foreach (var scriptFile in scriptFiles)
-
806 {
-
807 logger.LogTrace("Running event script {scriptFile}...", scriptFile);
-
808 await using (var script = await processExecutor.LaunchProcess(
-
809 ioManager.ConcatPath(resolvedScriptsDir, scriptFile),
-
810 resolvedScriptsDir,
-
811 String.Join(
-
812 ' ',
-
813 parameters.Select(arg =>
-
814 {
-
815 if (arg == null)
-
816 return "(NULL)";
-
817
-
818 if (!arg.Contains(' ', StringComparison.Ordinal))
-
819 return arg;
-
820
-
821 arg = arg.Replace("\"", "\\\"", StringComparison.Ordinal);
-
822
-
823 return $"\"{arg}\"";
-
824 })),
-
825 cancellationToken,
-
826 readStandardHandles: true,
-
827 noShellExecute: true))
-
828 using (cancellationToken.Register(() => script.Terminate()))
-
829 {
-
830 if (sessionConfiguration.LowPriorityDeploymentProcesses && deploymentPipeline)
-
831 script.AdjustPriority(false);
-
832
-
833 var exitCode = await script.Lifetime;
-
834 cancellationToken.ThrowIfCancellationRequested();
-
835 var scriptOutput = await script.GetCombinedOutput(cancellationToken);
-
836 if (exitCode != 0)
-
837 throw new JobException($"Script {scriptFile} exited with code {exitCode}:{Environment.NewLine}{scriptOutput}");
-
838 else
-
839 logger.LogDebug("Script output:{newLine}{scriptOutput}", Environment.NewLine, scriptOutput);
-
840 }
-
841 }
-
842 }
-
843 }
+
793 var allScripts = new List<string>();
+
794 var tasks = directories.Select<string, ValueTask>(
+
795 async scriptDirectory =>
+
796 {
+
797 var resolvedScriptsDir = ioManager.ResolvePath(scriptDirectory);
+
798 logger.LogTrace("Checking for scripts in {directory}...", scriptDirectory);
+
799 var files = await ioManager.GetFilesWithExtension(scriptDirectory, platformIdentifier.ScriptFileExtension, false, cancellationToken);
+
800
+
801 var scriptFiles = files
+
802 .Select(ioManager.GetFileName)
+
803 .Where(x => scriptNames.Any(
+
804 scriptName => x.StartsWith(scriptName, StringComparison.Ordinal)))
+
805 .Select(x =>
+
806 {
+
807 var fullScriptPath = ioManager.ConcatPath(resolvedScriptsDir, x);
+
808 logger.LogTrace("Found matching script: {scriptPath}", fullScriptPath);
+
809 return fullScriptPath;
+
810 });
+
811
+
812 lock (allScripts)
+
813 allScripts.AddRange(scriptFiles);
+
814 })
+
815 .ToList();
+
816
+
817 await ValueTaskExtensions.WhenAll(tasks);
+
818 if (allScripts.Count == 0)
+
819 {
+
820 logger.LogTrace("No event scripts starting with \"{scriptName}\" detected", String.Join("\" or \"", scriptNames));
+
821 return;
+
822 }
+
823
+
824 var resolvedInstanceScriptsDir = ioManager.ResolvePath(EventScriptsSubdirectory);
+
825
+
826 foreach (var scriptFile in allScripts.OrderBy(ioManager.GetFileName))
+
827 {
+
828 logger.LogTrace("Running event script {scriptFile}...", scriptFile);
+
829 await using (var script = await processExecutor.LaunchProcess(
+
830 scriptFile,
+
831 resolvedInstanceScriptsDir,
+
832 String.Join(
+
833 ' ',
+
834 parameters.Select(arg =>
+
835 {
+
836 if (arg == null)
+
837 return "(NULL)";
+
838
+
839 if (!arg.Contains(' ', StringComparison.Ordinal))
+
840 return arg;
+
841
+
842 arg = arg.Replace("\"", "\\\"", StringComparison.Ordinal);
+
843
+
844 return $"\"{arg}\"";
+
845 })),
+
846 cancellationToken,
+
847 readStandardHandles: true,
+
848 noShellExecute: true))
+
849 using (cancellationToken.Register(() => script.Terminate()))
+
850 {
+
851 if (sessionConfiguration.LowPriorityDeploymentProcesses && deploymentPipeline)
+
852 script.AdjustPriority(false);
+
853
+
854 var exitCode = await script.Lifetime;
+
855 cancellationToken.ThrowIfCancellationRequested();
+
856 var scriptOutput = await script.GetCombinedOutput(cancellationToken);
+
857 if (exitCode != 0)
+
858 throw new JobException($"Script {scriptFile} exited with code {exitCode}:{Environment.NewLine}{scriptOutput}");
+
859 else
+
860 logger.LogDebug("Script output:{newLine}{scriptOutput}", Environment.NewLine, scriptOutput);
+
861 }
+
862 }
+
863 }
+
864 }
-
844 }
+
865 }
-
845}
+
866}
Exception
Tgstation.Server.Api.Models.Response.ConfigurationFileResponse
Response when reading configuration files.
Definition ConfigurationFileResponse.cs:7
@@ -895,7 +916,7 @@
Tgstation.Server.Host.Components.StaticFiles.Configuration.EventTypeScriptFileNameMap
static IReadOnlyDictionary< EventType, string[]> EventTypeScriptFileNameMap
Map of EventTypes to the filename of the event scripts they trigger.
Definition Configuration.cs:74
Tgstation.Server.Host.Components.StaticFiles.Configuration.ioManager
readonly IIOManager ioManager
The IIOManager for Configuration.
Definition Configuration.cs:90
Tgstation.Server.Host.Components.StaticFiles.ServerSideModifications
Represents code modifications via configuration.
Definition ServerSideModifications.cs:7
-
Tgstation.Server.Host.Configuration.GeneralConfiguration
General configuration options.
Definition GeneralConfiguration.cs:20
+
Tgstation.Server.Host.Configuration.GeneralConfiguration
General configuration options.
Definition GeneralConfiguration.cs:23
Tgstation.Server.Host.Configuration.SessionConfiguration
Configuration options for the game sessions.
Definition SessionConfiguration.cs:7
Tgstation.Server.Host.IO.DefaultIOManager
IIOManager that resolves paths to Environment.CurrentDirectory.
Definition DefaultIOManager.cs:17
Tgstation.Server.Host.IO.DefaultIOManager.CurrentDirectory
const string CurrentDirectory
Path to the current working directory for the IIOManager.
Definition DefaultIOManager.cs:21
diff --git a/_database_seeder_8cs_source.html b/_database_seeder_8cs_source.html index 23d37278407..d4b3abe10fd 100644 --- a/_database_seeder_8cs_source.html +++ b/_database_seeder_8cs_source.html @@ -368,8 +368,8 @@
Tgstation.Server.Host.Configuration.DatabaseConfiguration.DropDatabase
bool DropDatabase
If the database should be deleted on application startup. Should not be used in production!...
Definition DatabaseConfiguration.cs:35
Tgstation.Server.Host.Configuration.DatabaseConfiguration.ResetAdminPassword
bool ResetAdminPassword
If the admin user should be enabled and have it's password reset.
Definition DatabaseConfiguration.cs:25
Tgstation.Server.Host.Configuration.DatabaseConfiguration.DatabaseType
DatabaseType DatabaseType
The Configuration.DatabaseType to create.
Definition DatabaseConfiguration.cs:20
-
Tgstation.Server.Host.Configuration.GeneralConfiguration
General configuration options.
Definition GeneralConfiguration.cs:20
-
Tgstation.Server.Host.Configuration.GeneralConfiguration.ByondTopicTimeout
uint ByondTopicTimeout
The timeout in milliseconds for sending and receiving topics to/from DreamDaemon. Note that a single ...
Definition GeneralConfiguration.cs:105
+
Tgstation.Server.Host.Configuration.GeneralConfiguration
General configuration options.
Definition GeneralConfiguration.cs:23
+
Tgstation.Server.Host.Configuration.GeneralConfiguration.ByondTopicTimeout
uint ByondTopicTimeout
The timeout in milliseconds for sending and receiving topics to/from DreamDaemon. Note that a single ...
Definition GeneralConfiguration.cs:108
Tgstation.Server.Host.Configuration.SwarmConfiguration
Configuration for the server swarm system.
Definition SwarmConfiguration.cs:13
Tgstation.Server.Host.Database.DatabaseSeeder
Definition DatabaseSeeder.cs:21
Tgstation.Server.Host.Database.DatabaseSeeder.databaseLogger
readonly ILogger< DatabaseContext > databaseLogger
The ILogger used for IDatabaseContexts.
Definition DatabaseSeeder.cs:35
diff --git a/_discord_provider_8cs_source.html b/_discord_provider_8cs_source.html index 778a7fdcb07..0f810721ac5 100644 --- a/_discord_provider_8cs_source.html +++ b/_discord_provider_8cs_source.html @@ -1161,7 +1161,7 @@
Tgstation.Server.Host.Components.Interop.MessageContent
Represents a message to send to a chat provider.
Definition MessageContent.cs:7
Tgstation.Server.Host.Components.Interop.MessageContent.Embed
ChatEmbed? Embed
The ChatEmbed.
Definition MessageContent.cs:16
Tgstation.Server.Host.Components.Interop.MessageContent.Text
string? Text
The message string.
Definition MessageContent.cs:11
-
Tgstation.Server.Host.Configuration.GeneralConfiguration
General configuration options.
Definition GeneralConfiguration.cs:20
+
Tgstation.Server.Host.Configuration.GeneralConfiguration
General configuration options.
Definition GeneralConfiguration.cs:23
Tgstation.Server.Host.Jobs.JobException
Operation exceptions thrown from the context of a Models.Job.
Definition JobException.cs:11
Tgstation.Server.Host.Models.ChatBot
Definition ChatBot.cs:12
Tgstation.Server.Host.Models.RevInfoTestMerge
Many to many relationship for Models.RevisionInformation and Models.TestMerge.
Definition RevInfoTestMerge.cs:10
diff --git a/_engine_manager_8cs_source.html b/_engine_manager_8cs_source.html index 5938956a8d6..9b534723a4d 100644 --- a/_engine_manager_8cs_source.html +++ b/_engine_manager_8cs_source.html @@ -499,159 +499,173 @@
456 }
457
458 // okay up to us to install it then
-
459 try
-
460 {
-
461 if (customVersionStream != null)
-
462 logger.LogInformation("Installing custom engine version as {version}...", version);
-
463 else if (neededForLock)
-
464 {
-
465 if (version.CustomIteration.HasValue)
-
466 throw new JobException(ErrorCode.EngineNonExistentCustomVersion);
-
467
-
468 logger.LogWarning("The required engine version ({version}) is not readily available! We will have to install it.", version);
-
469 }
-
470 else
-
471 logger.LogInformation("Requested engine version {version} not currently installed. Doing so now...", version);
-
472
-
473 progressReporter.StageName = "Running event";
-
474
-
475 var versionString = version.ToString();
-
476 await eventConsumer.HandleEvent(EventType.EngineInstallStart, new List<string> { versionString }, deploymentPipelineProcesses, cancellationToken);
-
477
-
478 await InstallVersionFiles(progressReporter, version, customVersionStream, deploymentPipelineProcesses, cancellationToken);
-
479
-
480 ourTcs.SetResult();
+
459 string? installPath = null;
+
460 try
+
461 {
+
462 if (customVersionStream != null)
+
463 logger.LogInformation("Installing custom engine version as {version}...", version);
+
464 else if (neededForLock)
+
465 {
+
466 if (version.CustomIteration.HasValue)
+
467 throw new JobException(ErrorCode.EngineNonExistentCustomVersion);
+
468
+
469 logger.LogWarning("The required engine version ({version}) is not readily available! We will have to install it.", version);
+
470 }
+
471 else
+
472 logger.LogInformation("Requested engine version {version} not currently installed. Doing so now...", version);
+
473
+
474 progressReporter.StageName = "Running event";
+
475
+
476 var versionString = version.ToString();
+
477 await eventConsumer.HandleEvent(EventType.EngineInstallStart, new List<string> { versionString }, deploymentPipelineProcesses, cancellationToken);
+
478
+
479 installPath = await InstallVersionFiles(progressReporter, version, customVersionStream, deploymentPipelineProcesses, cancellationToken);
+
480 await eventConsumer.HandleEvent(EventType.EngineInstallComplete, new List<string> { versionString }, deploymentPipelineProcesses, cancellationToken);
481
-
482 await eventConsumer.HandleEvent(EventType.EngineInstallComplete, new List<string> { versionString }, deploymentPipelineProcesses, cancellationToken);
+
482 ourTcs.SetResult();
483 }
484 catch (Exception ex)
485 {
-
486 if (ex is not OperationCanceledException)
-
487 await eventConsumer.HandleEvent(EventType.EngineInstallFail, new List<string> { ex.Message }, deploymentPipelineProcesses, cancellationToken);
-
488
-
489 lock (installedVersions)
-
490 installedVersions.Remove(version);
-
491
-
492 ourTcs.SetException(ex);
-
493 throw;
-
494 }
-
495
-
496 return installLock;
-
497 }
-
498 catch
-
499 {
-
500 installLock.Dispose();
-
501 throw;
-
502 }
-
503 }
+
486 if (installPath != null)
+
487 {
+
488 try
+
489 {
+
490 logger.LogDebug("Cleaning up failed installation at {path}...", installPath);
+
491 await ioManager.DeleteDirectory(installPath, cancellationToken);
+
492 }
+
493 catch (Exception ex2)
+
494 {
+
495 logger.LogError(ex2, "Error cleaning up failed installation!");
+
496 }
+
497 }
+
498 else if (ex is not OperationCanceledException)
+
499 await eventConsumer.HandleEvent(EventType.EngineInstallFail, new List<string> { ex.Message }, deploymentPipelineProcesses, cancellationToken);
+
500
+
501 lock (installedVersions)
+
502 installedVersions.Remove(version);
+
503
+
504 ourTcs.SetException(ex);
+
505 throw;
+
506 }
+
507
+
508 return installLock;
+
509 }
+
510 catch
+
511 {
+
512 installLock.Dispose();
+
513 throw;
+
514 }
+
515 }
-
504
-
-
514 async ValueTask InstallVersionFiles(
-
515 JobProgressReporter progressReporter,
-
516 EngineVersion version,
-
517 Stream? customVersionStream,
-
518 bool deploymentPipelineProcesses,
-
519 CancellationToken cancellationToken)
-
520 {
-
521 var installFullPath = ioManager.ResolvePath(version.ToString());
-
522 async ValueTask DirectoryCleanup()
-
523 {
-
524 await ioManager.DeleteDirectory(installFullPath, cancellationToken);
-
525 await ioManager.CreateDirectory(installFullPath, cancellationToken);
-
526 }
-
527
-
528 var directoryCleanupTask = DirectoryCleanup();
-
529 try
-
530 {
-
531 IEngineInstallationData engineInstallationData;
-
532 var remainingProgress = 1.0;
-
533 if (customVersionStream == null)
-
534 {
-
535 using var subReporter = progressReporter.CreateSection("Downloading Version", 0.5);
-
536 remainingProgress -= 0.5;
-
537 engineInstallationData = await engineInstaller.DownloadVersion(version, subReporter, cancellationToken);
-
538 }
-
539 else
-
540#pragma warning disable CA2000 // Dispose objects before losing scope, false positive
-
541 engineInstallationData = new ZipStreamEngineInstallationData(
-
542 ioManager,
-
543 customVersionStream);
-
544#pragma warning restore CA2000 // Dispose objects before losing scope
-
545
-
546 JobProgressReporter remainingReporter;
-
547 try
-
548 {
-
549 remainingReporter = progressReporter.CreateSection(null, remainingProgress);
+
516
+
+
526 async ValueTask<string> InstallVersionFiles(
+
527 JobProgressReporter progressReporter,
+
528 EngineVersion version,
+
529 Stream? customVersionStream,
+
530 bool deploymentPipelineProcesses,
+
531 CancellationToken cancellationToken)
+
532 {
+
533 var installFullPath = ioManager.ResolvePath(version.ToString());
+
534 async ValueTask DirectoryCleanup()
+
535 {
+
536 await ioManager.DeleteDirectory(installFullPath, cancellationToken);
+
537 await ioManager.CreateDirectory(installFullPath, cancellationToken);
+
538 }
+
539
+
540 var directoryCleanupTask = DirectoryCleanup();
+
541 try
+
542 {
+
543 IEngineInstallationData engineInstallationData;
+
544 var remainingProgress = 1.0;
+
545 if (customVersionStream == null)
+
546 {
+
547 using var subReporter = progressReporter.CreateSection("Downloading Version", 0.5);
+
548 remainingProgress -= 0.5;
+
549 engineInstallationData = await engineInstaller.DownloadVersion(version, subReporter, cancellationToken);
550 }
-
551 catch
-
552 {
-
553 await engineInstallationData.DisposeAsync();
-
554 throw;
-
555 }
-
556
-
557 using (remainingReporter)
-
558 {
-
559 await using (engineInstallationData)
-
560 {
-
561 remainingReporter.StageName = "Cleaning target directory";
-
562
-
563 await directoryCleanupTask;
-
564 remainingReporter.ReportProgress(0.1);
-
565 remainingReporter.StageName = "Extracting data";
-
566
-
567 logger.LogTrace("Extracting engine to {extractPath}...", installFullPath);
-
568 await engineInstallationData.ExtractToPath(installFullPath, cancellationToken);
-
569 remainingReporter.ReportProgress(0.3);
-
570 }
-
571
-
572 remainingReporter.StageName = "Running installation actions";
-
573
-
574 await engineInstaller.Install(version, installFullPath, deploymentPipelineProcesses, cancellationToken);
-
575
-
576 remainingReporter.ReportProgress(0.9);
-
577 remainingReporter.StageName = "Writing version file";
+
551 else
+
552#pragma warning disable CA2000 // Dispose objects before losing scope, false positive
+
553 engineInstallationData = new ZipStreamEngineInstallationData(
+
554 ioManager,
+
555 customVersionStream);
+
556#pragma warning restore CA2000 // Dispose objects before losing scope
+
557
+
558 JobProgressReporter remainingReporter;
+
559 try
+
560 {
+
561 remainingReporter = progressReporter.CreateSection(null, remainingProgress);
+
562 }
+
563 catch
+
564 {
+
565 await engineInstallationData.DisposeAsync();
+
566 throw;
+
567 }
+
568
+
569 using (remainingReporter)
+
570 {
+
571 await using (engineInstallationData)
+
572 {
+
573 remainingReporter.StageName = "Cleaning target directory";
+
574
+
575 await directoryCleanupTask;
+
576 remainingReporter.ReportProgress(0.1);
+
577 remainingReporter.StageName = "Extracting data";
578
-
579 // make sure to do this last because this is what tells us we have a valid version in the future
- -
581 ioManager.ConcatPath(installFullPath, VersionFileName),
-
582 Encoding.UTF8.GetBytes(version.ToString()),
-
583 cancellationToken);
-
584 }
-
585 }
-
586 catch (HttpRequestException ex)
-
587 {
-
588 // since the user can easily provide non-exitent version numbers, we'll turn this into a JobException
-
589 throw new JobException(ErrorCode.EngineDownloadFail, ex);
-
590 }
-
591 catch (OperationCanceledException)
-
592 {
-
593 throw;
-
594 }
-
595 catch
-
596 {
-
597 await ioManager.DeleteDirectory(installFullPath, cancellationToken);
-
598 throw;
-
599 }
-
600 }
-
-
601
-
- -
610 {
-
611 var installation = engineInstaller.CreateInstallation(version, installPath, installationTask);
+
579 logger.LogTrace("Extracting engine to {extractPath}...", installFullPath);
+
580 await engineInstallationData.ExtractToPath(installFullPath, cancellationToken);
+
581 remainingReporter.ReportProgress(0.3);
+
582 }
+
583
+
584 remainingReporter.StageName = "Running installation actions";
+
585
+
586 await engineInstaller.Install(version, installFullPath, deploymentPipelineProcesses, cancellationToken);
+
587
+
588 remainingReporter.ReportProgress(0.9);
+
589 remainingReporter.StageName = "Writing version file";
+
590
+
591 // make sure to do this last because this is what tells us we have a valid version in the future
+ +
593 ioManager.ConcatPath(installFullPath, VersionFileName),
+
594 Encoding.UTF8.GetBytes(version.ToString()),
+
595 cancellationToken);
+
596 }
+
597 }
+
598 catch (HttpRequestException ex)
+
599 {
+
600 // since the user can easily provide non-exitent version numbers, we'll turn this into a JobException
+
601 throw new JobException(ErrorCode.EngineDownloadFail, ex);
+
602 }
+
603 catch (OperationCanceledException)
+
604 {
+
605 throw;
+
606 }
+
607 catch
+
608 {
+
609 await ioManager.DeleteDirectory(installFullPath, cancellationToken);
+
610 throw;
+
611 }
612
-
613 var installationContainer = new ReferenceCountingContainer<IEngineInstallation, EngineExecutableLock>(installation);
-
614
-
615 lock (installedVersions)
-
616 installedVersions.Add(version, installationContainer);
-
617
-
618 return installationContainer;
-
619 }
+
613 return installFullPath;
+
614 }
+
+
615
+
+ +
624 {
+
625 var installation = engineInstaller.CreateInstallation(version, installPath, installationTask);
+
626
+
627 var installationContainer = new ReferenceCountingContainer<IEngineInstallation, EngineExecutableLock>(installation);
+
628
+
629 lock (installedVersions)
+
630 installedVersions.Add(version, installationContainer);
+
631
+
632 return installationContainer;
+
633 }
-
620 }
+
634 }
-
621}
+
635}
Exception
Stream
Tgstation.Server.Api.Models.EngineVersion
Information about an engine installation.
Definition EngineVersion.cs:14
@@ -681,10 +695,10 @@
Tgstation.Server.Host.Components.Engine.EngineManager.ChangeVersion
async ValueTask ChangeVersion(JobProgressReporter progressReporter, EngineVersion version, Stream? customVersionStream, bool allowInstallation, CancellationToken cancellationToken)
Change the active EngineVersion.A ValueTask representing the running operation.
Definition EngineManager.cs:120
Tgstation.Server.Host.Components.Engine.EngineManager.eventConsumer
readonly IEventConsumer eventConsumer
The IEventConsumer for the EngineManager.
Definition EngineManager.cs:60
Tgstation.Server.Host.Components.Engine.EngineManager.ioManager
readonly IIOManager ioManager
The IIOManager for the EngineManager.
Definition EngineManager.cs:50
+
Tgstation.Server.Host.Components.Engine.EngineManager.InstallVersionFiles
async ValueTask< string > InstallVersionFiles(JobProgressReporter progressReporter, EngineVersion version, Stream? customVersionStream, bool deploymentPipelineProcesses, CancellationToken cancellationToken)
Installs the files for a given BYOND version .
Definition EngineManager.cs:526
Tgstation.Server.Host.Components.Engine.EngineManager.engineInstaller
readonly IEngineInstaller engineInstaller
The IEngineInstaller for the EngineManager.
Definition EngineManager.cs:55
-
Tgstation.Server.Host.Components.Engine.EngineManager.InstallVersionFiles
async ValueTask InstallVersionFiles(JobProgressReporter progressReporter, EngineVersion version, Stream? customVersionStream, bool deploymentPipelineProcesses, CancellationToken cancellationToken)
Installs the files for a given BYOND version .
Definition EngineManager.cs:514
Tgstation.Server.Host.Components.Engine.EngineManager.logger
readonly ILogger< EngineManager > logger
The ILogger for the EngineManager.
Definition EngineManager.cs:65
-
Tgstation.Server.Host.Components.Engine.EngineManager.AddInstallationContainer
ReferenceCountingContainer< IEngineInstallation, EngineExecutableLock > AddInstallationContainer(EngineVersion version, string installPath, Task installationTask)
Create and add a new IEngineInstallation to installedVersions.
Definition EngineManager.cs:609
+
Tgstation.Server.Host.Components.Engine.EngineManager.AddInstallationContainer
ReferenceCountingContainer< IEngineInstallation, EngineExecutableLock > AddInstallationContainer(EngineVersion version, string installPath, Task installationTask)
Create and add a new IEngineInstallation to installedVersions.
Definition EngineManager.cs:623
Tgstation.Server.Host.Components.Engine.EngineManager.Dispose
void Dispose()
Tgstation.Server.Host.Components.Engine.ZipStreamEngineInstallationData
Implementation of IEngineInstallationData for a zip file in a Stream.
Definition ZipStreamEngineInstallationData.cs:14
Tgstation.Server.Host.IO.DefaultIOManager
IIOManager that resolves paths to Environment.CurrentDirectory.
Definition DefaultIOManager.cs:17
diff --git a/_general_configuration_8cs_source.html b/_general_configuration_8cs_source.html index 7c854a14504..fc062774854 100644 --- a/_general_configuration_8cs_source.html +++ b/_general_configuration_8cs_source.html @@ -83,152 +83,161 @@
Go to the documentation of this file.
1using System;
-
2
-
3using Microsoft.Extensions.Logging;
-
4using Newtonsoft.Json;
-
5using Newtonsoft.Json.Converters;
-
6
- - - - -
11
-
12using YamlDotNet.Serialization;
-
13
- -
15{
-
- -
20 {
-
24 public const string Section = "General";
-
25
-
29 public const ushort DefaultApiPort = 5000;
-
30
- -
35
-
39 const uint DefaultInstanceLimit = 10;
-
40
-
44 const uint DefaultUserLimit = 100;
-
45
-
49 const uint DefaultUserGroupLimit = 25;
-
50
-
54 const uint DefaultByondTopicTimeout = 5000;
-
55
- -
60
- -
65
-
69 const string DefaultOpenDreamGitUrl = "https://github.com/OpenDreamProject/OpenDream";
-
70
-
74 const string DefaultOpenDreamGitTagPrefix = "v";
-
75
-
79 public static readonly Version CurrentConfigVersion = Version.Parse(MasterVersionsAttribute.Instance.RawConfigurationVersion);
-
80
-
84 public Version? ConfigVersion { get; set; }
-
85
-
89 public ushort ApiPort { get; set; }
-
90
-
94 public string? GitHubAccessToken { get; set; }
-
95
-
99 [JsonConverter(typeof(StringEnumConverter))]
-
100 public SetupWizardMode SetupWizardMode { get; set; }
-
101
-
105 public uint ByondTopicTimeout { get; set; } = DefaultByondTopicTimeout;
-
106
- -
111
- -
116
-
120 public bool UseBasicWatchdog { get; set; }
-
121
-
125 public bool HostApiDocumentation { get; set; }
-
126
-
130 public bool SkipAddingByondFirewallException { get; set; }
-
131
-
135 public uint? DeploymentDirectoryCopyTasksPerCore { get; set; }
-
136
-
140 [YamlMember(SerializeAs = typeof(string))]
-
141 public Uri OpenDreamGitUrl { get; set; } = new Uri(DefaultOpenDreamGitUrl);
-
142
- -
147
-
151 public bool OpenDreamSuppressInstallOutput { get; set; }
-
152
-
- -
157 {
- - - - -
162 }
+
2using System.Collections.Generic;
+
3using System.IO;
+
4using System.Linq;
+
5
+
6using Microsoft.Extensions.Logging;
+
7using Newtonsoft.Json;
+
8using Newtonsoft.Json.Converters;
+
9
+ + + + +
14
+
15using YamlDotNet.Serialization;
+
16
+ +
18{
+
+ +
23 {
+
27 public const string Section = "General";
+
28
+
32 public const ushort DefaultApiPort = 5000;
+
33
+ +
38
+
42 const uint DefaultInstanceLimit = 10;
+
43
+
47 const uint DefaultUserLimit = 100;
+
48
+
52 const uint DefaultUserGroupLimit = 25;
+
53
+
57 const uint DefaultByondTopicTimeout = 5000;
+
58
+ +
63
+ +
68
+
72 const string DefaultOpenDreamGitUrl = "https://github.com/OpenDreamProject/OpenDream";
+
73
+
77 const string DefaultOpenDreamGitTagPrefix = "v";
+
78
+
82 public static readonly Version CurrentConfigVersion = Version.Parse(MasterVersionsAttribute.Instance.RawConfigurationVersion);
+
83
+
87 public Version? ConfigVersion { get; set; }
+
88
+
92 public ushort ApiPort { get; set; }
+
93
+
97 public string? GitHubAccessToken { get; set; }
+
98
+
102 [JsonConverter(typeof(StringEnumConverter))]
+
103 public SetupWizardMode SetupWizardMode { get; set; }
+
104
+
108 public uint ByondTopicTimeout { get; set; } = DefaultByondTopicTimeout;
+
109
+ +
114
+ +
119
+
123 public bool UseBasicWatchdog { get; set; }
+
124
+
128 public bool HostApiDocumentation { get; set; }
+
129
+
133 public bool SkipAddingByondFirewallException { get; set; }
+
134
+
138 public uint? DeploymentDirectoryCopyTasksPerCore { get; set; }
+
139
+
143 [YamlMember(SerializeAs = typeof(string))]
+
144 public Uri OpenDreamGitUrl { get; set; } = new Uri(DefaultOpenDreamGitUrl);
+
145
+ +
150
+
154 public bool OpenDreamSuppressInstallOutput { get; set; }
+
155
+
159 public List<string>? AdditionalEventScriptsDirectories { get; set; }
+
160
+ -
163
-
-
168 public void CheckCompatibility(ILogger logger)
-
169 {
-
170 ArgumentNullException.ThrowIfNull(logger);
171
-
172 if (ConfigVersion == null)
-
173 logger.LogCritical(
-
174 "No `ConfigVersion` specified, your configuration may be out of date! The current version is \"{currentVersion}\"",
- - -
177 if (ConfigVersion.Major != CurrentConfigVersion.Major)
-
178 logger.LogCritical(
-
179 "Your `ConfigVersion` is majorly out-of-date and may potentially cause issues running the server. Please follow migration instructions from the TGS release notes. The current config version is v{currentConfigVersion}.",
- -
181 else
-
182 logger.LogWarning("Your `ConfigVersion` is out-of-date. Please follow migration instructions from the TGS release notes.");
-
183
- -
185 throw new InvalidOperationException(
-
186 $"{nameof(DeploymentDirectoryCopyTasksPerCore)} must be at least 1!");
-
187 else if (this.GetCopyDirectoryTaskThrottle() < 1)
-
188 throw new InvalidOperationException(
-
189 $"{nameof(DeploymentDirectoryCopyTasksPerCore)} is too large for the CPU core count of {Environment.ProcessorCount} and overflows a 32-bit signed integer. Please lower the value!");
-
190
-
191 if (ByondTopicTimeout <= 1000)
-
192 logger.LogWarning("The timeout for sending BYOND topics is very low ({ms}ms). Topic calls may fail to complete at all!", ByondTopicTimeout);
-
193 }
+
+
176 public void CheckCompatibility(ILogger logger)
+
177 {
+
178 ArgumentNullException.ThrowIfNull(logger);
+
179
+
180 if (ConfigVersion == null)
+
181 logger.LogCritical(
+
182 "No `ConfigVersion` specified, your configuration may be out of date! The current version is \"{currentVersion}\"",
+ + +
185 if (ConfigVersion.Major != CurrentConfigVersion.Major)
+
186 logger.LogCritical(
+
187 "Your `ConfigVersion` is majorly out-of-date and may potentially cause issues running the server. Please follow migration instructions from the TGS release notes. The current config version is v{currentConfigVersion}.",
+ +
189 else
+
190 logger.LogWarning("Your `ConfigVersion` is out-of-date. Please follow migration instructions from the TGS release notes.");
+
191
+ +
193 throw new InvalidOperationException(
+
194 $"{nameof(DeploymentDirectoryCopyTasksPerCore)} must be at least 1!");
+
195 else if (this.GetCopyDirectoryTaskThrottle() < 1)
+
196 throw new InvalidOperationException(
+
197 $"{nameof(DeploymentDirectoryCopyTasksPerCore)} is too large for the CPU core count of {Environment.ProcessorCount} and overflows a 32-bit signed integer. Please lower the value!");
+
198
+
199 if (ByondTopicTimeout <= 1000)
+
200 logger.LogWarning("The timeout for sending BYOND topics is very low ({ms}ms). Topic calls may fail to complete at all!", ByondTopicTimeout);
+
201
+
202 if (AdditionalEventScriptsDirectories?.Any(path => !Path.IsPathRooted(path)) == true)
+
203 logger.LogWarning($"Config option \"{nameof(AdditionalEventScriptsDirectories)}\" contains non-rooted paths. These will be evaluated relative to each instances \"Configuration\" directory!");
+
204 }
-
194 }
+
205 }
-
195}
+
206}
Base class for Response.ServerInformationResponse.
uint UserGroupLimit
The maximum number of user groups allowed.
uint MinimumPasswordLength
Minimum length of database user passwords.
uint InstanceLimit
The maximum number of Instances allowed.
- -
uint? DeploymentDirectoryCopyTasksPerCore
A limit on the amount of tasks used for asynchronous I/O when copying directories during the deployme...
-
const string Section
The key for the Microsoft.Extensions.Configuration.IConfigurationSection the GeneralConfiguration res...
-
bool OpenDreamSuppressInstallOutput
If the dotnet output of creating an OpenDream installation should be suppressed. Known to cause issue...
-
const string DefaultOpenDreamGitTagPrefix
The default value for OpenDreamGitTagPrefix.
-
GeneralConfiguration()
Initializes a new instance of the GeneralConfiguration class.
-
void CheckCompatibility(ILogger logger)
Validates the current ConfigVersion's compatibility and provides migration instructions.
-
Uri OpenDreamGitUrl
Location of a publically accessible OpenDream repository.
-
static readonly Version CurrentConfigVersion
The current ConfigVersion.
-
bool HostApiDocumentation
If the swagger documentation and UI should be made avaiable.
-
bool UseBasicWatchdog
If the Components.Watchdog.BasicWatchdog should be preferred.
-
const string DefaultOpenDreamGitUrl
The default value for OpenDreamGitUrl.
-
uint ShutdownTimeoutMinutes
The timeout minutes for gracefully stopping the server.
-
string OpenDreamGitTagPrefix
The prefix to the OpenDream semver as tags appear in the git repository.
-
const uint DefaultMinimumPasswordLength
The default value for ServerInformationBase.MinimumPasswordLength.
-
const ushort DefaultApiPort
The default value of ApiPort.
-
uint RestartTimeoutMinutes
The timeout minutes for restarting the server.
-
uint ByondTopicTimeout
The timeout in milliseconds for sending and receiving topics to/from DreamDaemon. Note that a single ...
-
const uint DefaultRestartTimeoutMinutes
The default value for RestartTimeoutMinutes.
-
const uint DefaultUserLimit
The default value for ServerInformationBase.UserLimit.
-
Version? ConfigVersion
The Version the file says it is.
-
string? GitHubAccessToken
A classic GitHub personal access token to use for bypassing rate limits on requests....
-
const uint DefaultByondTopicTimeout
The default value for ByondTopicTimeout.
-
const uint DefaultInstanceLimit
The default value for ServerInformationBase.InstanceLimit.
-
const uint DefaultUserGroupLimit
The default value for ServerInformationBase.UserGroupLimit.
- -
const uint DefaultShutdownTimeoutMinutes
The default value for ShutdownTimeoutMinutes.
-
bool SkipAddingByondFirewallException
If the netsh.exe execution to exempt DreamDaemon from Windows firewall should be skipped.
+ +
uint? DeploymentDirectoryCopyTasksPerCore
A limit on the amount of tasks used for asynchronous I/O when copying directories during the deployme...
+
const string Section
The key for the Microsoft.Extensions.Configuration.IConfigurationSection the GeneralConfiguration res...
+
bool OpenDreamSuppressInstallOutput
If the dotnet output of creating an OpenDream installation should be suppressed. Known to cause issue...
+
const string DefaultOpenDreamGitTagPrefix
The default value for OpenDreamGitTagPrefix.
+
GeneralConfiguration()
Initializes a new instance of the GeneralConfiguration class.
+
void CheckCompatibility(ILogger logger)
Validates the current ConfigVersion's compatibility and provides migration instructions.
+
Uri OpenDreamGitUrl
Location of a publically accessible OpenDream repository.
+
static readonly Version CurrentConfigVersion
The current ConfigVersion.
+
bool HostApiDocumentation
If the swagger documentation and UI should be made avaiable.
+
bool UseBasicWatchdog
If the Components.Watchdog.BasicWatchdog should be preferred.
+
const string DefaultOpenDreamGitUrl
The default value for OpenDreamGitUrl.
+
uint ShutdownTimeoutMinutes
The timeout minutes for gracefully stopping the server.
+
string OpenDreamGitTagPrefix
The prefix to the OpenDream semver as tags appear in the git repository.
+
const uint DefaultMinimumPasswordLength
The default value for ServerInformationBase.MinimumPasswordLength.
+
const ushort DefaultApiPort
The default value of ApiPort.
+
uint RestartTimeoutMinutes
The timeout minutes for restarting the server.
+
uint ByondTopicTimeout
The timeout in milliseconds for sending and receiving topics to/from DreamDaemon. Note that a single ...
+
const uint DefaultRestartTimeoutMinutes
The default value for RestartTimeoutMinutes.
+
const uint DefaultUserLimit
The default value for ServerInformationBase.UserLimit.
+
Version? ConfigVersion
The Version the file says it is.
+
string? GitHubAccessToken
A classic GitHub personal access token to use for bypassing rate limits on requests....
+
const uint DefaultByondTopicTimeout
The default value for ByondTopicTimeout.
+
const uint DefaultInstanceLimit
The default value for ServerInformationBase.InstanceLimit.
+
const uint DefaultUserGroupLimit
The default value for ServerInformationBase.UserGroupLimit.
+ +
const uint DefaultShutdownTimeoutMinutes
The default value for ShutdownTimeoutMinutes.
+
List< string >? AdditionalEventScriptsDirectories
List of directories that have their contents merged with instance EventScripts directories when execu...
+
bool SkipAddingByondFirewallException
If the netsh.exe execution to exempt DreamDaemon from Windows firewall should be skipped.
Attribute for bringing in the master versions list from MSBuild that aren't embedded into assemblies ...
string RawConfigurationVersion
The Version string of the Configuration version built.
static MasterVersionsAttribute Instance
Return the Assembly's instance of the MasterVersionsAttribute.
diff --git a/_general_configuration_extensions_8cs_source.html b/_general_configuration_extensions_8cs_source.html index 5d79a033f69..741dfd7de0e 100644 --- a/_general_configuration_extensions_8cs_source.html +++ b/_general_configuration_extensions_8cs_source.html @@ -107,8 +107,8 @@
28 }
29}
- -
uint? DeploymentDirectoryCopyTasksPerCore
A limit on the amount of tasks used for asynchronous I/O when copying directories during the deployme...
+ +
uint? DeploymentDirectoryCopyTasksPerCore
A limit on the amount of tasks used for asynchronous I/O when copying directories during the deployme...
static ? int GetCopyDirectoryTaskThrottle(this GeneralConfiguration generalConfiguration)
Gets the total number of tasks that may run simultaneously during an asynchronous directory copy oper...
diff --git a/_git_hub_client_factory_8cs_source.html b/_git_hub_client_factory_8cs_source.html index 9a701b66fe8..1188c88e6cb 100644 --- a/_git_hub_client_factory_8cs_source.html +++ b/_git_hub_client_factory_8cs_source.html @@ -372,8 +372,8 @@
Represents configurable settings for a git repository.
const string TgsAppPrivateKeyPrefix
Prefix for TGS encoded app private keys. This is encoded in the format PREFIX + (APP_ID OR CLIENT_ID)...
- -
string? GitHubAccessToken
A classic GitHub personal access token to use for bypassing rate limits on requests....
+ +
string? GitHubAccessToken
A classic GitHub personal access token to use for bypassing rate limits on requests....
const string DefaultCacheKey
The clientCache KeyValuePair<TKey, TValue>.Key used in place of null when accessing a configuration-b...
readonly Dictionary< string,(GitHubClient Client, DateTimeOffset LastUsed)> clientCache
Cache of created GitHubClients and last used times, keyed by access token.
diff --git a/_hard_link_dmb_provider_8cs_source.html b/_hard_link_dmb_provider_8cs_source.html index 91daa0cc659..a81ee826879 100644 --- a/_hard_link_dmb_provider_8cs_source.html +++ b/_hard_link_dmb_provider_8cs_source.html @@ -407,7 +407,7 @@
bool Swapped
If MakeActive(CancellationToken) has been run.
const string LiveGameDirectory
The directory where the BaseProvider is symlinked to.
IFilesystemLinkFactory LinkFactory
The IFilesystemLinkFactory to use.
- +
static async ValueTask< SemaphoreSlimContext > Lock(SemaphoreSlim semaphore, CancellationToken cancellationToken, ILogger? logger=null)
Asyncronously locks a semaphore .
Provides absolute paths to the latest compiled .dmbs.
diff --git a/_i_post_setup_services_8cs_source.html b/_i_post_setup_services_8cs_source.html index 6824ea5481d..09d35f065ee 100644 --- a/_i_post_setup_services_8cs_source.html +++ b/_i_post_setup_services_8cs_source.html @@ -113,7 +113,7 @@
Configuration options for the Database.DatabaseContext.
Configuration options pertaining to elasticsearch log storage.
- +
Unstable configuration options used internally by TGS.
Configuration options pertaining to user security.
diff --git a/_i_signal_checker_8cs_source.html b/_i_signal_checker_8cs_source.html index 12d9d38cb00..34b01945e9c 100644 --- a/_i_signal_checker_8cs_source.html +++ b/_i_signal_checker_8cs_source.html @@ -86,8 +86,7 @@
2using System.Threading;
3using System.Threading.Tasks;
4
-
- +
6{
10 public interface ISignalChecker
@@ -96,10 +95,9 @@
19 }
20}
-
For relaying signals received to the host process.
ValueTask CheckSignals(Func< string?,(int Pid, Task ChildLifetime)> startChildAndGetPid, CancellationToken cancellationToken)
Relays signals received to the host process.
- +
672
- +
677 {
678 logger.LogDebug("Running as user: {username}", Environment.UserName);
679
@@ -726,7 +726,6 @@
readonly TaskCompletionSource readyTcs
The TaskCompletionSource for Ready.
readonly Dictionary< long, ReferenceCountingContainer< IInstance, InstanceWrapper > > instances
Map of instance EntityId.Ids to the respective ReferenceCountingContainer<TWrapped,...
readonly IPlatformIdentifier platformIdentifier
The IPlatformIdentifier for the InstanceManager.
-
void CheckSystemCompatibility()
Check we have a valid system and configuration.
readonly IJobService jobService
The IJobService for the InstanceManager.
async ValueTask OnlineInstance(Models.Instance metadata, CancellationToken cancellationToken)
Online an IInstance.A ValueTask representing the running operation.
readonly InternalConfiguration internalConfiguration
The InternalConfiguration for the InstanceManager.
@@ -736,6 +735,7 @@
readonly CancellationTokenSource startupCancellationTokenSource
The CancellationTokenSource for Initialize(CancellationToken).
IBridgeRegistration RegisterHandler(IBridgeHandler bridgeHandler)
Register a given bridgeHandler .A representative IBridgeRegistration.
+
void PreflightChecks()
Check we have a valid system and configuration.
Task? startupTask
The Task returned by Initialize(CancellationToken).
readonly ISystemIdentityFactory systemIdentityFactory
The ISystemIdentityFactory for the InstanceManager.
readonly ILogger< InstanceManager > logger
The ILogger for the InstanceManager.
@@ -765,8 +765,8 @@
string AccessIdentifier
Used to identify and authenticate the DreamDaemon instance.
- -
void CheckCompatibility(ILogger logger)
Validates the current ConfigVersion's compatibility and provides migration instructions.
+ +
void CheckCompatibility(ILogger logger)
Validates the current ConfigVersion's compatibility and provides migration instructions.
Unstable configuration options used internally by TGS.
bool UsingDocker
If the server is running inside of a Docker container.
Configuration for the server swarm system.
diff --git a/_noop_signal_checker_8cs_source.html b/_noop_signal_checker_8cs_source.html index 365143de8e0..be41335afa2 100644 --- a/_noop_signal_checker_8cs_source.html +++ b/_noop_signal_checker_8cs_source.html @@ -105,7 +105,7 @@
ValueTask CheckSignals(Func< string?,(int, Task)> startChildAndGetPid, CancellationToken cancellationToken)
For relaying signals received to the host process.
- +