Starting to be S3 compatible

This commit is contained in:
Alex Auvolat
2020-04-24 17:46:52 +00:00
parent d8f5e643bc
commit f2e05986c4
8 changed files with 543 additions and 38 deletions
+8 -1
View File
@@ -11,7 +11,6 @@ pub struct Config {
pub metadata_dir: PathBuf,
pub data_dir: PathBuf,
pub api_bind_addr: SocketAddr,
pub rpc_bind_addr: SocketAddr,
pub bootstrap_peers: Vec<SocketAddr>,
@@ -32,6 +31,8 @@ pub struct Config {
pub data_replication_factor: usize,
pub rpc_tls: Option<TlsConfig>,
pub s3_api: ApiConfig,
}
#[derive(Deserialize, Debug, Clone)]
@@ -41,6 +42,12 @@ pub struct TlsConfig {
pub node_key: String,
}
#[derive(Deserialize, Debug, Clone)]
pub struct ApiConfig {
pub api_bind_addr: SocketAddr,
pub s3_region: String,
}
fn default_max_concurrent_rpc_requests() -> usize {
12
}
+4
View File
@@ -69,6 +69,9 @@ pub enum Error {
#[error(display = "Bad request: {}", _0)]
BadRequest(String),
#[error(display = "Forbidden: {}", _0)]
Forbidden(String),
#[error(display = "Not found")]
NotFound,
@@ -84,6 +87,7 @@ impl Error {
match self {
Error::BadRequest(_) => StatusCode::BAD_REQUEST,
Error::NotFound => StatusCode::NOT_FOUND,
Error::Forbidden(_) => StatusCode::FORBIDDEN,
Error::RPC(_) => StatusCode::SERVICE_UNAVAILABLE,
_ => StatusCode::INTERNAL_SERVER_ERROR,
}