pub fn run_run(
ctx: &Context,
executor: &Arc<dyn CommandRunner + Send + Sync>,
git_backend: &Arc<dyn GitBackend + Send + Sync>,
connect: Connector,
tui_logging_config: Option<Config>,
build_run_one: &RunOneBuilder,
) -> Result<()>Expand description
Port of run.runRun: loads the configuration, finds edit_mode
reloaders, clones their repositories, resolves the cluster’s DNS
domain, fetches its kubeconfig, runs edit_mode_start lifecycle
hooks, launches every reloader concurrently via
execute_reloaders_concurrently, then runs edit_mode_stop
lifecycle hooks.
git_backend/connect/build_run_one are injected (mirroring
up::run_start’s KubectlFactory and ca/deploy’s Connector
parameter) so tests can exercise this pipeline without a live
cluster, real git clones, or real reloader subprocesses.
§Errors
Returns RunError::NoEditModeReloaders if no reloader has
edit_mode: true; RunError::RepositoryNotDefined if a reloader
references a repository absent from repositories:; an error if
configuration loading, cloning, creating the cluster manager,
resolving the DNS domain, or getting the kubeconfig fails; and,
once every reloader has finished, whatever
collect_reloader_errors reports.