Bulk transfer of EAR functionality. Includes all providers etc. Could maybe break up into smaller blocks, but once it gets down to the core of it, would require messing with code instead of just moving. So this is it. Note: KMIP support is disabled unless you happen to have the kmipc SDK in your scylla dir. Adds optional encryption of sstables and commitlog, using block level file encryption. Provides key sourcing from various sources, such as local files or popular KMS systems.
40 lines
682 B
C++
40 lines
682 B
C++
/*
|
|
* Copyright (C) 2015 ScyllaDB
|
|
*
|
|
*/
|
|
|
|
/*
|
|
* SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "encryption.hh"
|
|
|
|
namespace db {
|
|
class extensions;
|
|
}
|
|
|
|
namespace replica {
|
|
class database;
|
|
}
|
|
|
|
namespace service {
|
|
class migration_manager;
|
|
}
|
|
|
|
namespace encryption {
|
|
|
|
class replicated_key_provider_factory : public key_provider_factory {
|
|
public:
|
|
replicated_key_provider_factory();
|
|
~replicated_key_provider_factory();
|
|
|
|
shared_ptr<key_provider> get_provider(encryption_context&, const options&) override;
|
|
|
|
static void init(db::extensions&);
|
|
static future<> on_started(::replica::database&, service::migration_manager&);
|
|
};
|
|
|
|
}
|