]> git.proxmox.com Git - proxmox-backup.git/blame - src/bin/proxmox-backup-proxy.rs
buildsys: don't cache non-binary data
[proxmox-backup.git] / src / bin / proxmox-backup-proxy.rs
CommitLineData
02c7a755
DM
1extern crate proxmox_backup;
2
02c7a755
DM
3use proxmox_backup::api::router::*;
4use proxmox_backup::api::config::*;
5use proxmox_backup::server::rest::*;
d01e2420 6use proxmox_backup::auth_helpers::*;
02c7a755
DM
7
8//use failure::*;
9use lazy_static::lazy_static;
10
11use futures::future::Future;
12
13use hyper;
14
15fn main() {
16
17 if let Err(err) = syslog::init(
18 syslog::Facility::LOG_DAEMON,
19 log::LevelFilter::Info,
20 Some("proxmox-backup-proxy")) {
21 eprintln!("unable to inititialize syslog: {}", err);
22 std::process::exit(-1);
23 }
24
d01e2420
DM
25 let _ = public_auth_key(); // load with lazy_static
26 let _ = csrf_secret(); // load with lazy_static
27
02c7a755
DM
28 let addr = ([0,0,0,0,0,0,0,0], 8007).into();
29
30 lazy_static!{
31 static ref ROUTER: Router = proxmox_backup::api2::router();
32 }
33
34 let mut config = ApiConfig::new(
6285b251 35 env!("PROXMOX_JSDIR"), &ROUTER, RpcEnvironmentType::PUBLIC);
02c7a755
DM
36
37 // add default dirs which includes jquery and bootstrap
38 // my $base = '/usr/share/libpve-http-server-perl';
39 // add_dirs($self->{dirs}, '/css/' => "$base/css/");
40 // add_dirs($self->{dirs}, '/js/' => "$base/js/");
41 // add_dirs($self->{dirs}, '/fonts/' => "$base/fonts/");
42 config.add_alias("novnc", "/usr/share/novnc-pve");
43 config.add_alias("extjs", "/usr/share/javascript/extjs");
44 config.add_alias("fontawesome", "/usr/share/fonts-font-awesome");
45 config.add_alias("xtermjs", "/usr/share/pve-xtermjs");
46 config.add_alias("widgettoolkit", "/usr/share/javascript/proxmox-widget-toolkit");
47
48 let rest_server = RestServer::new(config);
49
50 let server = hyper::Server::bind(&addr)
51 .serve(rest_server)
52 .map_err(|e| eprintln!("server error: {}", e));
53
54
55 // Run this server for... forever!
56 hyper::rt::run(server);
57}