Contains functions and types to start a userver based service/tool.
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 dynamic 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 | 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 | State | 
| 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 | 
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) | 
| 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< DynamicConfigClient > = true | 
| template<> | |
| constexpr bool | kHasValidate< DynamicConfig > = true | 
| template<> | |
| constexpr auto | kConfigFileMode< DynamicConfig > | 
| 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< Tracer > = true | 
| template<> | |
| constexpr auto | kConfigFileMode< Tracer > = ConfigFileMode::kNotRequired | 
| 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 | 
| using components::ComponentConfigMap | 
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. Reopens 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. Reopens 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 124 of file component.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 88 of file manager_controller_component.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 65 of file statistics_storage.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 50 of file component.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 121 of file component.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 60 of file component.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 138 of file component.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 46 of file fs_cache.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 88 of file component.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 130 of file component.hpp.
      
  | 
  inlineconstexpr | 
}@
Definition at line 67 of file logging_configurator.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 116 of file component.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 161 of file base_mongo_cache.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 214 of file component.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 439 of file base_postgres_cache.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 188 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 165 of file component.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 63 of file component.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 120 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 95 of file testsuite_support.hpp.
      
  | 
  inlineconstexpr | 
Definition at line 47 of file component.hpp.