Contains functions and types to start a userver based service/tool. More...
Classes | |
| class | AuthCheckerSettings |
| Component that loads auth configuration settings from a components::Secdist component if the latter was registered in components::ComponentList. More... | |
| class | CachingComponentBase |
| Base class for caching components. More... | |
| class | ClickHouse |
| ClickHouse client component. More... | |
| class | ComponentConfig |
| class | ComponentContext |
| Class to retrieve other components. More... | |
| class | ComponentList |
| A list to keep a unique list of components to start with components::Run(), utils::DaemonMain() or components::RunOnce(). More... | |
| class | ComponentsLoadCancelledException |
| Exception that is thrown from components::ComponentContext::FindComponent() if a component load failed. More... | |
| class | DefaultSecdistProvider |
| Component that stores security related data (keys, passwords, ...). More... | |
| class | DumpConfigurator |
| Helper component that manages common configuration for userver dumps. More... | |
| class | DynamicConfig |
| Component that stores the runtime config. More... | |
| class | DynamicConfigClient |
| Component that starts a clients::dynamic_config::Client client. More... | |
| class | DynamicConfigClientUpdater |
| Component that does a periodic update of runtime configs. More... | |
| class | DynamicConfigFallbacks |
| Component that setup runtime configs based on fallbacks from file. More... | |
| class | DynamicConfigUpdatesSinkBase |
| Base class for components acting as dynamic config updates sinks. More... | |
| class | FsCache |
| Component for storing files in memory. More... | |
| class | HeadersPropagatorComponent |
| Headers Propagator Component can scrape configured headers and then enrich HttpClient request with them. More... | |
| class | HttpClient |
| Component that manages clients::http::Client. More... | |
| struct | InMemoryConfig |
| class | LoggableComponentBase |
| Base class for all application components, it depends on components::Logger and components::Tracer. More... | |
| class | Logging |
| Logging component More... | |
| class | LoggingConfigurator |
| Helper component to configure logging. More... | |
| class | ManagerControllerComponent |
| Component that prepares the engine internals and starts all the other components. More... | |
| class | Mongo |
| MongoDB client component. More... | |
| class | MongoCache |
| Base class for all caches polling mongo collection More... | |
| class | MultiMongo |
| Dynamically configurable MongoDB client component. More... | |
| class | PostgreCache |
| Caching component for PostgreSQL. See Caching Component for PostgreSQL. More... | |
| class | Postgres |
| PosgreSQL client component. More... | |
| class | ProcessStarter |
| Component for getting the engine::subprocess::ProcessStarter. More... | |
| class | RabbitMQ |
| RabbitMQ (AMQP 0.9.1) client component. More... | |
| class | Redis |
| Redis client component. More... | |
| class | Secdist |
| Component that stores security related data (keys, passwords, ...). More... | |
| class | Server |
| Component that listens for incoming requests, manages incoming connections and passes the requests to the appropriate handler. More... | |
| class | SingleThreadedTaskProcessors |
| Component that starts multiple single threaded task processors. More... | |
| class | StatisticsStorage |
| Component that keeps a utils::statistics::Storage storage for metrics. More... | |
| class | SystemStatisticsCollector |
| Component for system resource usage statistics collection. More... | |
| class | TcpAcceptorBase |
| Component for accepting incoming TCP connections. More... | |
| class | TestsuiteSupport |
| Testsuite support component. More... | |
| class | Tracer |
| Component that initializes the request tracing facilities. More... | |
Typedefs | |
| using | ComponentConfigMap = std::unordered_map< std::string, const ComponentConfig & > |
Enumerations | |
| enum class | ComponentHealth { kOk , kFallback , kFatal } |
| State of the component. More... | |
| enum class | ConfigFileMode { kRequired , kNotRequired } |
| enum class | ValidationMode { kOnlyTurnedOn , kAll } |
Functions | |
| ComponentList | CommonComponentList () |
| Returns the most common list of components with runtime config updates and HTTP client. | |
| ComponentList | CommonServerComponentList () |
| Returns the most common list of components to start a fully functional server. | |
| ComponentConfig | Parse (const yaml_config::YamlConfig &value, formats::parse::To< ComponentConfig >) |
| std::string | GetCurrentComponentName (const ComponentConfig &config) |
| Equivalent to config.Name() but works with forward declaration of the components::ComponentConfig. | |
| ComponentList | MinimalComponentList () |
| Returns a list of components to do basic logging, component initialization and configuration. | |
| ComponentList | MinimalServerComponentList () |
| Returns a list of components to start a basic HTTP server. | |
| void | Run (const std::string &config_path, const std::optional< std::string > &config_vars_path, const std::optional< std::string > &config_vars_override_path, const ComponentList &component_list) |
| void | Run (const InMemoryConfig &config, const ComponentList &component_list) |
| void | RunOnce (const std::string &config_path, const std::optional< std::string > &config_vars_path, const std::optional< std::string > &config_vars_override_path, const ComponentList &component_list) |
| void | RunOnce (const InMemoryConfig &config, const ComponentList &component_list) |
| void | RunForPrintConfigSchema (const ComponentList &component_list) |
| ValidationMode | Parse (const yaml_config::YamlConfig &value, formats::parse::To< ValidationMode >) |
Variables | |
| template<> | |
| constexpr bool | kHasValidate< HttpClient > = true |
| template<> | |
| constexpr bool | kHasValidate< DumpConfigurator > = true |
| template<> | |
| constexpr bool | kHasValidate< FsCache > = true |
| template<typename Component > | |
| constexpr bool | kHasValidate = false |
| template<typename Component > | |
| constexpr auto | kConfigFileMode = ConfigFileMode::kRequired |
| template<> | |
| constexpr bool | kHasValidate< LoggingConfigurator > = true |
| }@ | |
| template<> | |
| constexpr auto | kConfigFileMode< ManagerControllerComponent > |
| template<> | |
| constexpr bool | kHasValidate< ProcessStarter > = true |
| template<> | |
| constexpr bool | kHasValidate< SingleThreadedTaskProcessors > = true |
| template<> | |
| constexpr bool | kHasValidate< StatisticsStorage > = true |
| template<> | |
| constexpr auto | kConfigFileMode< StatisticsStorage > |
| template<> | |
| constexpr bool | kHasValidate< Tracer > = true |
| template<> | |
| constexpr bool | kHasValidate< DynamicConfigClient > = true |
| template<> | |
| constexpr bool | kHasValidate< DynamicConfigFallbacks > = true |
| template<> | |
| constexpr bool | kHasValidate< DynamicConfig > = true |
| template<> | |
| constexpr bool | kHasValidate< DynamicConfigClientUpdater > = true |
| template<> | |
| constexpr bool | kHasValidate< Logging > = true |
| template<> | |
| constexpr bool | kHasValidate< Server > = true |
| template<> | |
| constexpr bool | kHasValidate< AuthCheckerSettings > = true |
| template<> | |
| constexpr auto | kConfigFileMode< AuthCheckerSettings > |
| template<> | |
| constexpr bool | kHasValidate< Secdist > = true |
| template<> | |
| constexpr bool | kHasValidate< DefaultSecdistProvider > = true |
| template<> | |
| constexpr bool | kHasValidate< TestsuiteSupport > = true |
| template<> | |
| constexpr bool | kHasValidate< SystemStatisticsCollector > = true |
| const std::string | kFetchAndParseStage = "fetch_and_parse" |
| constexpr std::chrono::milliseconds | kCpuRelaxThreshold {10} |
| constexpr std::chrono::milliseconds | kCpuRelaxInterval {2} |
| template<class MongoCacheTraits > | |
| constexpr bool | kHasValidate< MongoCache< MongoCacheTraits > > = true |
| template<> | |
| constexpr bool | kHasValidate< Mongo > = true |
| template<> | |
| constexpr bool | kHasValidate< MultiMongo > = true |
| template<typename PostgreCachePolicy > | |
| constexpr bool | kHasValidate< PostgreCache< PostgreCachePolicy > > = true |
| template<> | |
| constexpr bool | kHasValidate< Postgres > = true |
| template<> | |
| constexpr bool | kHasValidate< Redis > = true |
| template<> | |
| constexpr bool | kHasValidate< ClickHouse > = true |
| template<> | |
| constexpr bool | kHasValidate< RabbitMQ > = true |
Contains functions and types to start a userver based service/tool.
| using components::ComponentConfigMap = typedef std::unordered_map<std::string, const ComponentConfig&> |
Definition at line 30 of file component_config.hpp.
|
strong |
State of the component.
| Enumerator | |
|---|---|
| kOk | component is alive and fine |
| kFallback | component in fallback state, but the service keeps working |
| kFatal | component is sick, service can not work without it |
Definition at line 14 of file component_base.hpp.
|
strong |
Whether the static config for the component must always be present, or can be missing
| Enumerator | |
|---|---|
| kRequired | component must be setup in config |
| kNotRequired | component must be not setup in config |
Definition at line 25 of file component_base.hpp.
|
strong |
Definition at line 12 of file static_config_validator.hpp.
| void components::Run | ( | const InMemoryConfig & | config, |
| const ComponentList & | component_list | ||
| ) |
Starts a server with the provided component list and config. Ropens the logging files on SIGUSR1.
| void components::Run | ( | const std::string & | config_path, |
| const std::optional< std::string > & | config_vars_path, | ||
| const std::optional< std::string > & | config_vars_override_path, | ||
| const ComponentList & | component_list | ||
| ) |
Starts a server with the provided component list and config loaded from file. Ropens the logging files on SIGUSR1.
| void components::RunOnce | ( | const InMemoryConfig & | config, |
| const ComponentList & | component_list | ||
| ) |
Runs the component list once with the config.
| void components::RunOnce | ( | const std::string & | config_path, |
| const std::optional< std::string > & | config_vars_path, | ||
| const std::optional< std::string > & | config_vars_override_path, | ||
| const ComponentList & | component_list | ||
| ) |
Runs the component list once with the config loaded from file.
|
inlineconstexpr |
Specialize this to customize the loading of component settings
Definition at line 71 of file component_base.hpp.
|
inlineconstexpr |
Definition at line 49 of file auth_checker_settings_component.hpp.
|
inlineconstexpr |
Definition at line 83 of file manager_controller_component.hpp.
|
inlineconstexpr |
Definition at line 65 of file statistics_storage.hpp.
|
inlineconstexpr |
Definition at line 31 of file base_mongo_cache.hpp.
|
inlineconstexpr |
Definition at line 30 of file base_mongo_cache.hpp.
|
inline |
Definition at line 28 of file base_mongo_cache.hpp.
|
inlineconstexpr |
Specialize it for typename Component to validate static config against schema from Component::GetStaticConfigSchema
Definition at line 65 of file component_base.hpp.
|
inlineconstexpr |
Definition at line 46 of file auth_checker_settings_component.hpp.
|
inlineconstexpr |
Definition at line 77 of file component.hpp.
|
inlineconstexpr |
Definition at line 74 of file provider_component.hpp.
|
inlineconstexpr |
Definition at line 48 of file dump_configurator.hpp.
|
inlineconstexpr |
Definition at line 91 of file component.hpp.
|
inlineconstexpr |
Definition at line 60 of file component.hpp.
|
inlineconstexpr |
Definition at line 132 of file component.hpp.
|
inlineconstexpr |
Definition at line 54 of file component.hpp.
|
inlineconstexpr |
Definition at line 46 of file fs_cache.hpp.
|
inlineconstexpr |
Definition at line 87 of file component.hpp.
|
inlineconstexpr |
Definition at line 125 of file component.hpp.
|
inlineconstexpr |
}@
Definition at line 67 of file logging_configurator.hpp.
|
inlineconstexpr |
Definition at line 92 of file component.hpp.
|
inlineconstexpr |
Definition at line 158 of file base_mongo_cache.hpp.
|
inlineconstexpr |
Definition at line 188 of file component.hpp.
|
inlineconstexpr |
Definition at line 436 of file base_postgres_cache.hpp.
|
inlineconstexpr |
Definition at line 184 of file component.hpp.
|
inlineconstexpr |
Definition at line 40 of file process_starter.hpp.
|
inlineconstexpr |
Definition at line 77 of file component.hpp.
|
inlineconstexpr |
Definition at line 140 of file component.hpp.
|
inlineconstexpr |
Definition at line 55 of file component.hpp.
|
inlineconstexpr |
Definition at line 114 of file component.hpp.
|
inlineconstexpr |
Definition at line 52 of file single_threaded_task_processors.hpp.
|
inlineconstexpr |
Definition at line 62 of file statistics_storage.hpp.
|
inlineconstexpr |
Definition at line 58 of file system_statistics_collector.hpp.
|
inlineconstexpr |
Definition at line 91 of file testsuite_support.hpp.
|
inlineconstexpr |
Definition at line 47 of file tracer.hpp.