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.
56 lines
1.2 KiB
C++
56 lines
1.2 KiB
C++
/*
|
|
* Copyright (C) 2024 ScyllaDB
|
|
*
|
|
*/
|
|
|
|
/*
|
|
* SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "db/extensions.hh"
|
|
|
|
namespace encryption {
|
|
|
|
using base_error = db::extension_storage_exception;
|
|
|
|
class permission_error : public db::extension_storage_permission_error {
|
|
public:
|
|
using mybase = db::extension_storage_permission_error;
|
|
using mybase::mybase;
|
|
};
|
|
|
|
class configuration_error : public db::extension_storage_misconfigured {
|
|
public:
|
|
using mybase = db::extension_storage_misconfigured;
|
|
using mybase::mybase;
|
|
};
|
|
|
|
class service_error : public base_error {
|
|
public:
|
|
using base_error::base_error;
|
|
};
|
|
|
|
class missing_resource_error : public db::extension_storage_resource_unavailable {
|
|
public:
|
|
using mybase = db::extension_storage_resource_unavailable;
|
|
using mybase::mybase;
|
|
};
|
|
|
|
// #4970 - not 100% correct, but network errors are
|
|
// generally intermittent/recoverable. Mark as a non-isolating
|
|
// error.
|
|
class network_error : public missing_resource_error {
|
|
public:
|
|
using missing_resource_error::missing_resource_error;
|
|
};
|
|
|
|
class malformed_response_error : public service_error {
|
|
public:
|
|
using service_error::service_error;
|
|
};
|
|
|
|
}
|
|
|