userver: components::Secdist Class Reference
Loading...
Searching...
No Matches
components::Secdist Class Referencefinal

#include <userver/storages/secdist/component.hpp>

Detailed Description

Component that stores security related data (keys, passwords, ...).

The component must be configured in service config.

Secdist requires a provider storages::secdist::SecdistProvider You can implement your own or use components::DefaultSecdistProvider

Static configuration example:

# yaml
secdist: # Component that stores configuration of hosts and passwords
provider: default-secdist-provider
default-secdist-provider: # Component that loads configuration of hosts and passwords
config: /etc/redis_service/secure_data.json # Values are supposed to be stored in this file
missing-ok: true # ... but if the file is missing it is still ok
environment-secrets-key: SECDIST_CONFIG # ... values will be loaded from this environment value

Static options:

Name Description Default value
provider optional secdist provider component name 'default-secdist-provider'
config path to the config file with data ''
format config format, either json or yaml 'json'
missing-ok do not terminate components load if no file found by the config option false
environment-secrets-key name of environment variable from which to load additional data -
update-period period between data updates in utils::StringToDuration() suitable format ('0s' for no updates) 0s
blocking-task-processor name of task processor for background blocking operations
Examples
samples/digest_auth_service/auth_digest.cpp, samples/production_service/production_service.cpp, and samples/redis_service/redis_service.cpp.

Definition at line 42 of file component.hpp.

+ Inheritance diagram for components::Secdist:
+ Collaboration diagram for components::Secdist:

Public Member Functions

 Secdist (const ComponentConfig &, const ComponentContext &)
 
const storages::secdist::SecdistConfigGet () const
 
rcu::ReadablePtr< storages::secdist::SecdistConfigGetSnapshot () const
 
storages::secdist::SecdistGetStorage ()
 
- Public Member Functions inherited from components::ComponentBase
 ComponentBase (const ComponentConfig &, const ComponentContext &)
 
 ComponentBase (ComponentBase &&)=delete
 
 ComponentBase (const ComponentBase &)=delete
 
 ~ComponentBase () override=default
 
ComponentHealth GetComponentHealth () const override
 
void OnLoadingCancelled () override
 
void OnAllComponentsLoaded () override
 
void OnAllComponentsAreStopping () override
 
- Public Member Functions inherited from components::RawComponentBase
 RawComponentBase (RawComponentBase &&)=delete
 
 RawComponentBase (const RawComponentBase &)=delete
 

Static Public Member Functions

static yaml_config::Schema GetStaticConfigSchema ()
 
- Static Public Member Functions inherited from components::ComponentBase
static yaml_config::Schema GetStaticConfigSchema ()
 
- Static Public Member Functions inherited from components::RawComponentBase
static yaml_config::Schema GetStaticConfigSchema ()
 

Static Public Attributes

static constexpr std::string_view kName = "secdist"
 The default name of components::Secdist.
 

Additional Inherited Members

- Protected Types inherited from components::ComponentBase
using LoggableComponentBase = ComponentBase
 Legacy alias, use ComponentBase instead.
 

The documentation for this class was generated from the following file: