aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs
index 3289c46..d7f1e24 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,21 +1,33 @@
#[macro_use]
extern crate anyhow;
+mod cert;
+mod cert_store;
mod consul;
+mod http;
mod proxy_config;
-mod acme;
use log::*;
-#[tokio::main]
+#[tokio::main(flavor = "multi_thread")]
async fn main() {
+ if std::env::var("RUST_LOG").is_err() {
+ std::env::set_var("RUST_LOG", "tricot=debug")
+ }
pretty_env_logger::init();
info!("Starting Tricot");
let consul = consul::Consul::new("http://10.42.0.21:8500", "tricot/");
let mut rx_proxy_config = proxy_config::spawn_proxy_config_task(consul.clone(), "carcajou");
- tokio::spawn(acme::acme_task(consul.clone(), rx_proxy_config.clone()));
+ let cert_store = cert_store::CertStore::new(consul.clone());
+ tokio::spawn(
+ cert_store
+ .clone()
+ .watch_proxy_config(rx_proxy_config.clone()),
+ );
+
+ tokio::spawn(http::serve_http(consul.clone()));
while rx_proxy_config.changed().await.is_ok() {
info!("Proxy config: {:#?}", *rx_proxy_config.borrow());