Skip to content

Commit 10ed752

Browse files
committed
vmm: Better config fallback for tproxy_enabled
1 parent 3e35940 commit 10ed752

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

dstack-types/src/lib.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ pub struct AppCompose {
1919
pub public_sysinfo: bool,
2020
#[serde(default)]
2121
pub kms_enabled: bool,
22-
#[serde(default, alias = "tproxy_enabled")]
22+
#[serde(deserialize_with = "deserialize_gateway_enabled", flatten)]
2323
pub gateway_enabled: bool,
2424
#[serde(default)]
2525
pub local_key_provider_enabled: bool,
@@ -31,6 +31,21 @@ pub struct AppCompose {
3131
pub no_instance_id: bool,
3232
}
3333

34+
fn deserialize_gateway_enabled<'de, D>(deserializer: D) -> Result<bool, D::Error>
35+
where
36+
D: serde::Deserializer<'de>,
37+
{
38+
#[derive(Deserialize)]
39+
struct GatewayEnabled {
40+
#[serde(default)]
41+
gateway_enabled: bool,
42+
#[serde(default)]
43+
tproxy_enabled: bool,
44+
}
45+
let value = GatewayEnabled::deserialize(deserializer)?;
46+
Ok(value.gateway_enabled || value.tproxy_enabled)
47+
}
48+
3449
#[derive(Deserialize, Serialize, Debug, Clone, Copy)]
3550
#[serde(rename_all = "snake_case")]
3651
pub enum KeyProviderKind {

0 commit comments

Comments
 (0)