aboutsummaryrefslogtreecommitdiff
path: root/src/garage
diff options
context:
space:
mode:
Diffstat (limited to 'src/garage')
-rw-r--r--src/garage/Cargo.toml1
-rw-r--r--src/garage/admin_rpc.rs3
-rw-r--r--src/garage/main.rs15
-rw-r--r--src/garage/server.rs6
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)