]>
git.proxmox.com Git - proxmox-backup.git/blob - src/bin/proxmox-backup-api.rs
1 extern crate proxmox_backup
;
3 //use proxmox_backup::tools;
4 use proxmox_backup
::api_schema
::router
::*;
5 use proxmox_backup
::api_schema
::config
::*;
6 use proxmox_backup
::server
::rest
::*;
7 use proxmox_backup
::server
;
8 use proxmox_backup
::tools
::daemon
;
9 use proxmox_backup
::auth_helpers
::*;
10 use proxmox_backup
::config
;
13 use lazy_static
::lazy_static
;
16 use futures
::future
::Future
;
22 if let Err(err
) = run() {
23 eprintln
!("Error: {}", err
);
24 std
::process
::exit(-1);
28 fn run() -> Result
<(), Error
> {
29 if let Err(err
) = syslog
::init(
30 syslog
::Facility
::LOG_DAEMON
,
31 log
::LevelFilter
::Info
,
32 Some("proxmox-backup-api")) {
33 bail
!("unable to inititialize syslog - {}", err
);
36 server
::create_task_log_dir()?
;
38 config
::create_configdir()?
;
40 if let Err(err
) = generate_auth_key() {
41 bail
!("unable to generate auth key - {}", err
);
43 let _
= private_auth_key(); // load with lazy_static
45 if let Err(err
) = generate_csrf_key() {
46 bail
!("unable to generate csrf key - {}", err
);
48 let _
= csrf_secret(); // load with lazy_static
51 static ref ROUTER
: Router
= proxmox_backup
::api2
::router();
54 let config
= ApiConfig
::new(
55 env
!("PROXMOX_JSDIR"), &ROUTER
, RpcEnvironmentType
::PRIVILEGED
);
57 let rest_server
= RestServer
::new(config
);
59 // http server future:
60 let server
= daemon
::create_daemon(
61 ([127,0,0,1], 82).into(),
63 Ok(hyper
::Server
::builder(listener
.incoming())
65 .map_err(|e
| eprintln
!("server error: {}", e
))
72 if let Err(err
) = server
::server_state_init() {
73 eprintln
!("unable to start daemon - {}", err
);