Skip to content

Commit 853b869

Browse files
committed
refactor core: get rid of DefaultSecdistProvider component
1 parent 0737152 commit 853b869

File tree

42 files changed

+248
-295
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+248
-295
lines changed

clickhouse/functional_tests/basic_chaos/clickhouse_service.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
#include <userver/server/handlers/http_handler_json_base.hpp>
1212
#include <userver/storages/clickhouse.hpp>
1313
#include <userver/storages/secdist/component.hpp>
14-
#include <userver/storages/secdist/provider_component.hpp>
1514
#include <userver/utils/boost_uuid4.hpp>
1615
#include <userver/utils/daemon_run.hpp>
1716

@@ -214,7 +213,6 @@ int main(int argc, char* argv[]) {
214213
.Append<chaos::KeyValue>()
215214
.Append<chaos::UuidsHandler>()
216215
.Append<components::Secdist>()
217-
.Append<components::DefaultSecdistProvider>()
218216
.Append<clients::dns::Component>()
219217
.Append<components::ClickHouse>("clickhouse-database");
220218

clickhouse/functional_tests/metrics/service.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#include <userver/storages/clickhouse/query.hpp>
1616

1717
#include <userver/storages/secdist/component.hpp>
18-
#include <userver/storages/secdist/provider_component.hpp>
1918

2019
#include <userver/utils/daemon_run.hpp>
2120
#include "userver/clients/http/component.hpp"
@@ -116,8 +115,7 @@ int main(int argc, char* argv[]) {
116115
.Append<components::TestsuiteSupport>()
117116
.Append<server::handlers::TestsControl>()
118117
.Append<clients::dns::Component>()
119-
.Append<components::Secdist>()
120-
.Append<components::DefaultSecdistProvider>();
118+
.Append<components::Secdist>();
121119

122120
return utils::DaemonMain(argc, argv, components_list);
123121
}

core/functional_tests/cache_update/service.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
#include <userver/dump/common_containers.hpp>
1111
#include <userver/server/handlers/http_handler_base.hpp>
1212
#include <userver/server/handlers/ping.hpp>
13-
#include <userver/storages/secdist/component.hpp>
14-
#include <userver/storages/secdist/provider_component.hpp>
1513
#include <userver/tracing/manager_component.hpp>
1614
#include <userver/utils/daemon_run.hpp>
1715

core/functional_tests/https/service.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#include <userver/clients/dns/component.hpp>
22
#include <userver/storages/secdist/component.hpp>
3-
#include <userver/storages/secdist/provider_component.hpp>
43
#include <userver/testsuite/testsuite_support.hpp>
54

65
#include <userver/alerts/handler.hpp>
@@ -20,7 +19,6 @@
2019
int main(int argc, char* argv[]) {
2120
const auto component_list = components::MinimalServerComponentList()
2221
.Append<https::HttpServerHandler>()
23-
.Append<components::DefaultSecdistProvider>()
2422
.Append<components::Secdist>()
2523
.Append<components::LoggingConfigurator>()
2624
.Append<components::HttpClient>()

core/functional_tests/metrics/service.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#include <userver/dump/common_containers.hpp>
99
#include <userver/server/handlers/ping.hpp>
1010
#include <userver/storages/secdist/component.hpp>
11-
#include <userver/storages/secdist/provider_component.hpp>
1211
#include <userver/tracing/manager_component.hpp>
1312
#include <userver/utils/daemon_run.hpp>
1413

@@ -62,7 +61,6 @@ int main(int argc, const char* const argv[]) {
6261
.AppendComponentList(components::CommonComponentList())
6362
.AppendComponentList(components::CommonServerComponentList())
6463
.Append<components::Secdist>()
65-
.Append<components::DefaultSecdistProvider>()
6664
.Append<functional_tests::CachedTranslations>()
6765
.Append<functional_tests::LruCachedTranslations>()
6866
.Append<server::handlers::Ping>();

core/functional_tests/uctl/service.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#include <userver/dump/common_containers.hpp>
99
#include <userver/server/handlers/ping.hpp>
1010
#include <userver/storages/secdist/component.hpp>
11-
#include <userver/storages/secdist/provider_component.hpp>
1211
#include <userver/tracing/manager_component.hpp>
1312
#include <userver/utils/daemon_run.hpp>
1413

@@ -18,7 +17,6 @@ int main(int argc, const char* const argv[]) {
1817
.AppendComponentList(components::CommonComponentList())
1918
.AppendComponentList(components::CommonServerComponentList())
2019
.Append<components::Secdist>()
21-
.Append<components::DefaultSecdistProvider>()
2220
.Append<server::handlers::Ping>();
2321
return utils::DaemonMain(argc, argv, component_list);
2422
}

core/include/userver/storages/secdist/component.hpp

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55

66
#include <string>
77

8-
#include <userver/components/loggable_component_base.hpp>
9-
#include <userver/storages/secdist/secdist.hpp>
8+
#include <userver/storages/secdist/component_base.hpp>
109

1110
USERVER_NAMESPACE_BEGIN
1211

@@ -39,24 +38,15 @@ namespace components {
3938

4039
// clang-format on
4140

42-
class Secdist final : public LoggableComponentBase {
41+
class Secdist final : public SecdistComponentBase {
4342
public:
4443
/// @ingroup userver_component_names
4544
/// @brief The default name of components::Secdist
4645
static constexpr std::string_view kName = "secdist";
4746

4847
Secdist(const ComponentConfig&, const ComponentContext&);
4948

50-
const storages::secdist::SecdistConfig& Get() const;
51-
52-
rcu::ReadablePtr<storages::secdist::SecdistConfig> GetSnapshot() const;
53-
54-
storages::secdist::Secdist& GetStorage();
55-
5649
static yaml_config::Schema GetStaticConfigSchema();
57-
58-
private:
59-
storages::secdist::Secdist secdist_;
6050
};
6151

6252
template <>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#pragma once
2+
3+
/// @file userver/storages/secdist/component_base.hpp
4+
/// @brief @copybrief components::SecdistComponentBase
5+
6+
#include <string>
7+
8+
#include <userver/components/loggable_component_base.hpp>
9+
#include <userver/storages/secdist/secdist.hpp>
10+
11+
USERVER_NAMESPACE_BEGIN
12+
13+
namespace components {
14+
// clang-format off
15+
16+
/// @ingroup userver_components
17+
///
18+
/// @brief Component that stores security related data (keys, passwords, ...).
19+
///
20+
/// The component must be configured in service config.
21+
///
22+
/// Secdist requires a provider storages::secdist::SecdistProvider
23+
/// You can implement your own or use components::DefaultSecdistProvider
24+
///
25+
/// ## Static configuration example:
26+
///
27+
/// @snippet samples/redis_service/static_config.yaml Sample secdist static config
28+
///
29+
/// ## Static options:
30+
/// Name | Description | Default value
31+
/// ---- | ----------- | -------------
32+
/// provider | optional secdist provider component name | 'default-secdist-provider'
33+
/// config | path to the config file with data | ''
34+
/// format | config format, either `json` or `yaml` | 'json'
35+
/// missing-ok | do not terminate components load if no file found by the config option | false
36+
/// environment-secrets-key | name of environment variable from which to load additional data | -
37+
/// update-period | period between data updates in utils::StringToDuration() suitable format ('0s' for no updates) | 0s
38+
/// blocking-task-processor | name of task processor for background blocking operations | --
39+
40+
// clang-format on
41+
42+
class SecdistComponentBase : public LoggableComponentBase {
43+
public:
44+
SecdistComponentBase(const ComponentConfig&, const ComponentContext&,
45+
storages::secdist::SecdistConfig::Settings&&);
46+
47+
const storages::secdist::SecdistConfig& Get() const;
48+
49+
rcu::ReadablePtr<storages::secdist::SecdistConfig> GetSnapshot() const;
50+
51+
storages::secdist::Secdist& GetStorage();
52+
53+
static yaml_config::Schema GetStaticConfigSchema();
54+
55+
private:
56+
storages::secdist::Secdist secdist_;
57+
};
58+
59+
} // namespace components
60+
61+
USERVER_NAMESPACE_END
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#pragma once
2+
3+
/// @file userver/storages/secdist/component.hpp
4+
/// @brief @copybrief components::DefaultSecdistProvider
5+
6+
#include <string>
7+
8+
#include <userver/storages/secdist/provider.hpp>
9+
#include <userver/storages/secdist/secdist.hpp>
10+
11+
USERVER_NAMESPACE_BEGIN
12+
13+
namespace storages::secdist {
14+
15+
class DefaultProvider final : public storages::secdist::SecdistProvider {
16+
public:
17+
struct Settings {
18+
std::string config_path;
19+
SecdistFormat format{SecdistFormat::kJson};
20+
bool missing_ok{false};
21+
std::optional<std::string> environment_secrets_key;
22+
engine::TaskProcessor* blocking_task_processor{nullptr};
23+
};
24+
25+
explicit DefaultProvider(Settings settings);
26+
27+
formats::json::Value Get() const override;
28+
29+
private:
30+
Settings settings_;
31+
};
32+
33+
} // namespace storages::secdist
34+
35+
USERVER_NAMESPACE_END

core/include/userver/storages/secdist/provider_component.hpp

Lines changed: 0 additions & 78 deletions
This file was deleted.

0 commit comments

Comments
 (0)