initial commit

This commit is contained in:
Ara Sadoyan
2025-02-07 15:12:28 +01:00
parent 320348c85f
commit b503f866b1
12 changed files with 2047 additions and 62 deletions

66
src/web/start.rs Normal file
View File

@@ -0,0 +1,66 @@
use crate::web::proxyhttp::{GetHost, LB};
use dashmap::DashMap;
use pingora_core::server::Server;
use std::sync::atomic::AtomicUsize;
/*
pub fn run1() {
let mut upstreams = LoadBalancer::try_from_iter(vec!["192.168.1.10:8000", "192.168.1.1:8000", "127.0.0.1:8000"]).unwrap();
env_logger::init();
let hc = TcpHealthCheck::new();
upstreams.set_health_check(hc);
upstreams.health_check_frequency = Some(Duration::from_secs(1));
let background = background_service("health check", upstreams);
let upstreams = background.task();
let mut server = Server::new(None).unwrap();
server.bootstrap();
let mut proxy = pingora_proxy::http_proxy_service(&server.configuration, proxyhttp::LB(upstreams));
proxy.add_tcp("0.0.0.0:6193");
server.add_service(background);
server.add_service(proxy);
server.run_forever();
}
*/
pub fn run() {
env_logger::init();
let mut server = Server::new(None).unwrap();
server.bootstrap();
// let backends = Backends::new(Box::new(SD));
// let load_balancer = LoadBalancer::from_backends(backends);
// load_balancer.set_health_check(TcpHealthCheck::new());
// load_balancer.health_check_frequency = Some(Duration::from_secs(1));
// load_balancer.update_frequency = Some(Duration::from_secs(1));
// let background = background_service("load balancer", load_balancer);
let upstreams_map: DashMap<String, (Vec<(String, u16)>, AtomicUsize)> = DashMap::new();
let mut ll = LB {
upstreams_map,
// upstreams_maps: DashMap::new(),
};
add_hosts(&mut ll);
let mut lb = pingora_proxy::http_proxy_service(&server.configuration, ll);
lb.add_tcp("0.0.0.0:6193");
server.add_service(lb);
// server.add_service(background);
server.run_forever();
}
fn add_hosts(lb: &mut LB) {
lb.set_host("myip.netangels.net", "192.168.1.1", 8000);
lb.set_host("myip.netangels.net", "127.0.0.1", 8000);
lb.set_host("myip.netangels.net", "127.0.0.2", 8000);
lb.set_host("polo.netangels.net", "192.168.1.1", 8000);
lb.set_host("polo.netangels.net", "192.168.1.10", 8000);
lb.set_host("glop.netangels.net", "192.168.1.20", 8000);
}