From bf0f7924189444683077ce80b7d72303b2b20145 Mon Sep 17 00:00:00 2001 From: trinity-1686a Date: Sat, 8 Feb 2025 15:36:48 +0100 Subject: [PATCH] add redirect_all to WebsiteConfig model --- src/api/admin/bucket.rs | 1 + src/api/s3/website.rs | 1 + src/garage/admin/bucket.rs | 1 + src/model/bucket_table.rs | 10 ++++++++++ 4 files changed, 13 insertions(+) diff --git a/src/api/admin/bucket.rs b/src/api/admin/bucket.rs index d5fd0e6b..a6025a9e 100644 --- a/src/api/admin/bucket.rs +++ b/src/api/admin/bucket.rs @@ -423,6 +423,7 @@ pub async fn handle_update_bucket( "Please specify indexDocument when enabling website access.", )?, error_document: wa.error_document, + redirect_all: None, routing_rules: Vec::new(), })); } else { diff --git a/src/api/s3/website.rs b/src/api/s3/website.rs index 9c1422b5..69e1b19d 100644 --- a/src/api/s3/website.rs +++ b/src/api/s3/website.rs @@ -238,6 +238,7 @@ impl WebsiteConfiguration { .map(|x| x.suffix.0) .unwrap_or_else(|| "index.html".to_string()), error_document: self.error_document.map(|x| x.key.0), + redirect_all: None, routing_rules: self .routing_rules .rules diff --git a/src/garage/admin/bucket.rs b/src/garage/admin/bucket.rs index a9b4cc50..9afb90d0 100644 --- a/src/garage/admin/bucket.rs +++ b/src/garage/admin/bucket.rs @@ -393,6 +393,7 @@ impl AdminRpcHandler { Some(WebsiteConfig { index_document: query.index_document.clone(), error_document: query.error_document.clone(), + redirect_all: None, routing_rules: Vec::new(), }) } else { diff --git a/src/model/bucket_table.rs b/src/model/bucket_table.rs index b2679323..d15f8977 100644 --- a/src/model/bucket_table.rs +++ b/src/model/bucket_table.rs @@ -171,9 +171,18 @@ mod v2 { pub struct WebsiteConfig { pub index_document: String, pub error_document: Option, + // this field is currently unused, but present so adding it in the future doesn't + // need a new migration + pub redirect_all: Option, pub routing_rules: Vec, } + #[derive(PartialEq, Eq, Clone, Debug, Serialize, Deserialize)] + pub struct RedirectAll { + pub hostname: String, + pub protocol: String, + } + #[derive(PartialEq, Eq, Clone, Debug, Serialize, Deserialize)] pub struct RoutingRule { pub condition: Option, @@ -212,6 +221,7 @@ mod v2 { wc_opt.map(|wc| WebsiteConfig { index_document: wc.index_document, error_document: wc.error_document, + redirect_all: None, routing_rules: vec![], }) }),