diff --git a/adapter/rest/src/config.rs b/adapter/rest/src/config.rs index e946c27..1530037 100644 --- a/adapter/rest/src/config.rs +++ b/adapter/rest/src/config.rs @@ -4,14 +4,21 @@ use code0_flow::flow_config::env_with_default; #[derive(Clone)] pub struct HttpServerConfig { pub port: u16, + pub external_port: u16, pub host: String, + pub external_host: String, } impl LoadConfig for HttpServerConfig { fn load() -> Self { + let port = env_with_default("HTTP_SERVER_PORT", 8080); + let host = env_with_default("HTTP_SERVER_HOST", String::from("127.0.0.1")); + Self { - port: env_with_default("HTTP_SERVER_PORT", 8080), - host: env_with_default("HTTP_SERVER_HOST", String::from("127.0.0.1")), + host: host.clone(), + port, + external_port: env_with_default("EXTERNAL_HTTP_SERVER_PORT", port), + external_host: env_with_default("EXTERNAL_HTTP_SERVER_HOST", host), } } } diff --git a/adapter/rest/src/main.rs b/adapter/rest/src/main.rs index 717c69f..9a8f40f 100644 --- a/adapter/rest/src/main.rs +++ b/adapter/rest/src/main.rs @@ -40,8 +40,8 @@ async fn main() { }; log::info!("Successfully created runner for http service"); - let addr = runner.get_server_config().port; - let host = runner.get_server_config().host.clone(); + let external_addr = runner.get_server_config().external_port; + let external_host = runner.get_server_config().external_host.clone(); let configs = vec![ModuleDefinitionAppendix { module_identifier: String::from("draco-rest"), @@ -49,8 +49,8 @@ async fn main() { flow_type_identifier: vec![String::from("REST")], value: Some(tucana::shared::module_definition::Value::Endpoint( Endpoint { - host, - port: addr as i64, + host: external_host, + port: external_addr as i64, endpoint: String::from(r"/${{project_slug}}${{httpURL}}"), }, )),