#pragma once #include #include #include #include #include namespace sk { struct queue_config { std::string pull_addr; std::string push_addr; unsigned int nb_threads; }; struct bubblewrap_config { std::vector args; }; struct docker_config : bubblewrap_config { std::string image; }; using runner_strategy_config = std::variant; struct runner_config { unsigned int timeout; std::unordered_map strategies; }; struct config { queue_config queue; runner_config runner; static config read_or_default(const std::filesystem::path &path, bool expect_present = false); }; }