userver
C++ Async Framework
Loading...
Searching...
No Matches
provider_component.hpp
1
#
pragma
once
2
3
/// @file userver/storages/secdist/component.hpp
4
/// @brief @copybrief components::DefaultSecdistProvider
5
6
#
include
<
string
>
7
8
#
include
<
userver
/
components
/
component_base
.
hpp
>
9
#
include
<
userver
/
storages
/
secdist
/
provider
.
hpp
>
10
#
include
<
userver
/
storages
/
secdist
/
secdist
.
hpp
>
11
12
USERVER_NAMESPACE_BEGIN
13
14
namespace
storages::
secdist
{
15
16
class
DefaultLoader
final
:
public
storages::
secdist
::
SecdistProvider
{
17
public
:
18
struct
Settings
{
19
std::string config_path;
20
SecdistFormat
format{
SecdistFormat
::kJson};
21
bool
missing_ok{
false
};
22
std::optional<std::string> environment_secrets_key;
23
engine
::TaskProcessor* blocking_task_processor{
nullptr
};
24
formats
::
json
::
Value
inline_config;
25
};
26
27
explicit
DefaultLoader(
Settings
settings);
28
29
formats
::
json
::
Value
Get()
const
override
;
30
31
private
:
32
Settings
settings_;
33
};
34
35
}
// namespace storages::secdist
36
37
namespace
components
{
38
39
/// @ingroup userver_components
40
///
41
/// @brief Component that stores security related data (keys, passwords, ...).
42
///
43
/// The component must be configured in service config.
44
///
45
/// ## Static options of components::DefaultSecdistProvider :
46
/// @include{doc} scripts/docs/en/components_schema/core/src/storages/secdist/provider_component.md
47
///
48
/// Options inherited from @ref components::ComponentBase :
49
/// @include{doc} scripts/docs/en/components_schema/core/src/components/impl/component_base.md
50
class
DefaultSecdistProvider
final
:
public
ComponentBase
,
public
storages::
secdist
::
SecdistProvider
{
51
public
:
52
/// @ingroup userver_component_names
53
/// @brief The default name of @ref components::DefaultSecdistProvider
54
static
constexpr
std::string_view
kName
=
"default-secdist-provider"
;
55
56
DefaultSecdistProvider(
const
ComponentConfig&,
const
ComponentContext&);
57
58
formats
::
json
::
Value
Get()
const
override
;
59
60
static
yaml_config
::Schema GetStaticConfigSchema();
61
62
private
:
63
storages::
secdist
::DefaultLoader loader_;
64
};
65
66
template
<>
67
inline
constexpr
bool
kHasValidate<DefaultSecdistProvider> =
true
;
68
69
}
// namespace components
70
71
USERVER_NAMESPACE_END
userver
storages
secdist
provider_component.hpp
Generated on Fri Dec 5 2025 12:18:31 for userver by
Doxygen
1.13.2