aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index 4a0c0ec..3a51702 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,6 +1,7 @@
#[macro_use]
extern crate anyhow;
+use std::net::SocketAddr;
use structopt::StructOpt;
mod cert;
@@ -27,6 +28,14 @@ struct Opt {
/// Node name
#[structopt(long = "node-name", env = "TRICOT_NODE_NAME", default_value = "<none>")]
pub node_name: String,
+
+ /// Bind address for HTTP server
+ #[structopt(long = "http-bind-addr", env = "TRICOT_HTTP_BIND_ADDR", default_value = "0.0.0.0:80")]
+ pub http_bind_addr: SocketAddr,
+
+ /// Bind address for HTTPS server
+ #[structopt(long = "https-bind-addr", env = "TRICOT_HTTPS_BIND_ADDR", default_value = "0.0.0.0:443")]
+ pub https_bind_addr: SocketAddr,
}
#[tokio::main(flavor = "multi_thread", worker_threads = 10)]
@@ -50,13 +59,17 @@ async fn main() {
.watch_proxy_config(rx_proxy_config.clone()),
);
- tokio::spawn(http::serve_http(consul.clone()));
+ tokio::spawn(http::serve_http(opt.http_bind_addr, consul.clone()));
tokio::spawn(https::serve_https(
+ opt.https_bind_addr,
cert_store.clone(),
rx_proxy_config.clone(),
));
while rx_proxy_config.changed().await.is_ok() {
- info!("Proxy config: {:#?}", *rx_proxy_config.borrow());
+ info!("Proxy config:");
+ for ent in rx_proxy_config.borrow().entries.iter() {
+ info!(" {:?}", ent);
+ }
}
}