diff options
Diffstat (limited to 'src/garage')
-rw-r--r-- | src/garage/Cargo.toml | 1 | ||||
-rw-r--r-- | src/garage/admin_rpc.rs | 3 | ||||
-rw-r--r-- | src/garage/main.rs | 15 | ||||
-rw-r--r-- | src/garage/server.rs | 6 |
4 files changed, 25 insertions, 0 deletions
diff --git a/src/garage/Cargo.toml b/src/garage/Cargo.toml index cb16bcd4..39288f40 100644 --- a/src/garage/Cargo.toml +++ b/src/garage/Cargo.toml @@ -19,6 +19,7 @@ garage_rpc = { version = "0.1", path = "../rpc" } garage_table = { version = "0.1.1", path = "../table" } garage_model = { version = "0.1.1", path = "../model" } garage_api = { version = "0.1.1", path = "../api" } +garage_web = { version = "0.1", path = "../web" } bytes = "0.4" rand = "0.7" diff --git a/src/garage/admin_rpc.rs b/src/garage/admin_rpc.rs index a23d3e95..65bd24c0 100644 --- a/src/garage/admin_rpc.rs +++ b/src/garage/admin_rpc.rs @@ -155,6 +155,9 @@ impl AdminRpcHandler { &query.key_id, &query.bucket, allow_read, allow_write ))) } + BucketOperation::Website(query) => { + Ok(AdminRPC::Ok(format!("test"))) + } } } diff --git a/src/garage/main.rs b/src/garage/main.rs index 1185871f..7996d1f9 100644 --- a/src/garage/main.rs +++ b/src/garage/main.rs @@ -141,6 +141,21 @@ pub enum BucketOperation { /// Allow key to read or write to bucket #[structopt(name = "deny")] Deny(PermBucketOpt), + + /// Expose as website or not + #[structopt(name = "website")] + Website(WebsiteOpt), +} + +#[derive(Serialize, Deserialize, StructOpt, Debug)] +pub struct WebsiteOpt { + /// Create + #[structopt(long = "create")] + pub create: bool, + + /// Delete + #[structopt(long = "delete")] + pub delete: bool, } #[derive(Serialize, Deserialize, StructOpt, Debug)] diff --git a/src/garage/server.rs b/src/garage/server.rs index 6caea5eb..ec78c067 100644 --- a/src/garage/server.rs +++ b/src/garage/server.rs @@ -11,6 +11,7 @@ use garage_util::error::Error; use garage_api::api_server; use garage_model::garage::Garage; use garage_rpc::rpc_server::RpcServer; +use garage_web::web_server; use crate::admin_rpc::*; @@ -56,6 +57,7 @@ pub async fn run_server(config_file: PathBuf) -> Result<(), Error> { info!("Initializing RPC and API servers..."); let run_rpc_server = Arc::new(rpc_server).run(wait_from(watch_cancel.clone())); let api_server = api_server::run_api_server(garage.clone(), wait_from(watch_cancel.clone())); + let web_server = web_server::run_web_server(garage.clone(), wait_from(watch_cancel.clone())); futures::try_join!( garage @@ -78,6 +80,10 @@ pub async fn run_server(config_file: PathBuf) -> Result<(), Error> { info!("API server exited"); rv }), + web_server.map(|rv| { + info!("Web server exited"); + rv + }), background.run().map(|rv| { info!("Background runner exited"); Ok(rv) |