[package]
-name = "apitest"
+name = "proxmox-backup"
version = "0.1.0"
authors = ["Dietmar Maurer <dietmar@proxmox.com>"]
edition = "2018"
[lib]
-name = "apitest"
+name = "proxmox_backup"
path = "src/lib.rs"
version = "0.1.0"
authors = ["Dietmar Maurer <dietmar@proxmox.com>"]
-PACKAGE=api-test-server
+PACKAGE=proxmox-backup
PKGVER=0.1
PKGREL=1
+++ /dev/null
-debian/pbs.bash-completion pbs
-debian/backup-client.bash-completion backup-client
+++ /dev/null
-[Unit]
-Description=Proxmox API Test Server
-ConditionPathExists=/usr/sbin/api-test-server
-After=syslog.service
-After=network.target
-
-[Service]
-ExecStart=/usr/sbin/api-test-server start
-Type=simple
-Restart=on-failure
-
-[Install]
-WantedBy=multi-user.target
-rust-api-test-server (0.1-1) unstable; urgency=medium
+proxmox-backup (0.1-1) unstable; urgency=medium
[ Proxmox Support Team ]
* first try
-Source: rust-api-test-server
+Source: proxmox-backup
Section: admin
Priority: optional
Maintainer: Proxmox Support Team <support@proxmox.com>
Standards-Version: 3.9.5
Homepage: https://www.proxmox.com
-Package: api-test-server
+Package: proxmox-backup
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends},
libjs-extjs (>= 6.0.1),
fonts-font-awesome,
proxmox-widget-toolkit,
-Description: API Test Server
+Description: Proxmox Backup Server
This is experimental code used to test Rust.
-target/release/api-test-server /usr/sbin
+target/release/proxmox-backup-api /usr/sbin
target/release/pbs /usr/sbin
target/release/backup-client /usr/sbin
-www/images/logo-128.png /usr/share/javascript/proxmox-backup-server/images/
-www/images/proxmox_logo.png /usr/share/javascript/proxmox-backup-server/images/
-www/proxmox-backup-gui.js /usr/share/javascript/proxmox-backup-server/js/
-
+www/images/logo-128.png /usr/share/javascript/proxmox-backup/images/
+www/images/proxmox_logo.png /usr/share/javascript/proxmox-backup/images/
+www/proxmox-backup-gui.js /usr/share/javascript/proxmox-backup/js/
--- /dev/null
+debian/pbs.bash-completion pbs
+debian/backup-client.bash-completion backup-client
--- /dev/null
+[Unit]
+Description=Proxmox API Test Server
+ConditionPathExists=/usr/sbin/proxmox-backup-api
+After=syslog.service
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/proxmox-backup-api start
+Type=simple
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
+++ /dev/null
-extern crate apitest;
-
-use std::sync::Arc;
-
-use apitest::api::schema::*;
-use apitest::api::router::*;
-use apitest::api::config::*;
-use apitest::server::rest::*;
-use apitest::getopts;
-
-//use failure::*;
-use lazy_static::lazy_static;
-
-use futures::future::Future;
-
-use hyper;
-
-fn main() {
-
- let command : Arc<Schema> = StringSchema::new("Command.")
- .format(Arc::new(ApiStringFormat::Enum(vec![
- "start".into(),
- "status".into(),
- "stop".into()
- ])))
- .into();
-
- let schema = ObjectSchema::new("Parameters.")
- .required("command", command);
-
- let args: Vec<String> = std::env::args().skip(1).collect();
-
- let options = match getopts::parse_arguments(&args, &vec!["command"], &schema) {
- Ok((options, rest)) => {
- if !rest.is_empty() {
- eprintln!("Error: got additional arguments: {:?}", rest);
- std::process::exit(-1);
- }
- options
- }
- Err(err) => {
- eprintln!("Error: unable to parse arguments:\n{}", err);
- std::process::exit(-1);
- }
- };
-
- let command = options["command"].as_str().unwrap();
-
- match command {
- "start" => {
- println!("Starting server.");
- },
- "stop" => {
- println!("Stopping server.");
- std::process::exit(0);
- },
- "status" => {
- println!("Server status.");
- std::process::exit(0);
- },
- _ => {
- eprintln!("got unexpected command {}", command);
- std::process::exit(-1);
- },
- }
-
- let addr = ([0, 0, 0, 0], 8007).into();
-
- lazy_static!{
- static ref ROUTER: Router = apitest::api3::router();
- }
-
- let mut config = ApiConfig::new("/usr/share/javascript/proxmox-backup-server", &ROUTER);
-
- // add default dirs which includes jquery and bootstrap
- // my $base = '/usr/share/libpve-http-server-perl';
- // add_dirs($self->{dirs}, '/css/' => "$base/css/");
- // add_dirs($self->{dirs}, '/js/' => "$base/js/");
- // add_dirs($self->{dirs}, '/fonts/' => "$base/fonts/");
- config.add_alias("novnc", "/usr/share/novnc-pve");
- config.add_alias("extjs", "/usr/share/javascript/extjs");
- config.add_alias("fontawesome", "/usr/share/fonts-font-awesome");
- config.add_alias("xtermjs", "/usr/share/pve-xtermjs");
- config.add_alias("widgettoolkit", "/usr/share/javascript/proxmox-widget-toolkit");
-
- let rest_server = RestServer::new(config);
-
- let server = hyper::Server::bind(&addr)
- .serve(rest_server)
- .map_err(|e| eprintln!("server error: {}", e));
-
-
- // Run this server for... forever!
- hyper::rt::run(server);
-}
-extern crate apitest;
+extern crate proxmox_backup;
use failure::*;
use std::os::unix::io::AsRawFd;
-use apitest::tools;
-use apitest::cli::command::*;
-use apitest::api::schema::*;
-use apitest::api::router::*;
-//use apitest::backup::chunk_store::*;
-//use apitest::backup::image_index::*;
-//use apitest::config::datastore;
-use apitest::backup::datastore::*;
+use proxmox_backup::tools;
+use proxmox_backup::cli::command::*;
+use proxmox_backup::api::schema::*;
+use proxmox_backup::api::router::*;
+//use proxmox_backup::backup::chunk_store::*;
+//use proxmox_backup::backup::image_index::*;
+//use proxmox_backup::config::datastore;
+use proxmox_backup::backup::datastore::*;
use serde_json::{Value};
-
fn required_string_param<'a>(param: &'a Value, name: &str) -> &'a str {
param[name].as_str().expect(&format!("missing parameter '{}'", name))
}
.required("store", StringSchema::new("Datastore name."))
))
.arg_param(vec!["filename"])
- .completion_cb("store", apitest::config::datastore::complete_datastore_name);
+ .completion_cb("store", proxmox_backup::config::datastore::complete_datastore_name);
if let Err(err) = run_cli_command(&cmd_def.into()) {
-extern crate apitest;
+extern crate proxmox_backup;
-//use apitest::api3;
-use apitest::cli::command::*;
+//use proxmox_backup::api3;
+use proxmox_backup::cli::command::*;
fn datastore_commands() -> CommandLineInterface {
- use apitest::api3::config::datastore;
+ use proxmox_backup::api3::config::datastore;
let cmd_def = CliCommandMap::new()
.insert("list", CliCommand::new(datastore::get()).into())
.insert("remove",
CliCommand::new(datastore::delete())
.arg_param(vec!["name"])
- .completion_cb("name", apitest::config::datastore::complete_datastore_name)
+ .completion_cb("name", proxmox_backup::config::datastore::complete_datastore_name)
.into());
cmd_def.into()
--- /dev/null
+extern crate proxmox_backup;
+
+use std::sync::Arc;
+
+use proxmox_backup::api::schema::*;
+use proxmox_backup::api::router::*;
+use proxmox_backup::api::config::*;
+use proxmox_backup::server::rest::*;
+use proxmox_backup::getopts;
+
+//use failure::*;
+use lazy_static::lazy_static;
+
+use futures::future::Future;
+
+use hyper;
+
+fn main() {
+
+ let command : Arc<Schema> = StringSchema::new("Command.")
+ .format(Arc::new(ApiStringFormat::Enum(vec![
+ "start".into(),
+ "status".into(),
+ "stop".into()
+ ])))
+ .into();
+
+ let schema = ObjectSchema::new("Parameters.")
+ .required("command", command);
+
+ let args: Vec<String> = std::env::args().skip(1).collect();
+
+ let options = match getopts::parse_arguments(&args, &vec!["command"], &schema) {
+ Ok((options, rest)) => {
+ if !rest.is_empty() {
+ eprintln!("Error: got additional arguments: {:?}", rest);
+ std::process::exit(-1);
+ }
+ options
+ }
+ Err(err) => {
+ eprintln!("Error: unable to parse arguments:\n{}", err);
+ std::process::exit(-1);
+ }
+ };
+
+ let command = options["command"].as_str().unwrap();
+
+ match command {
+ "start" => {
+ println!("Starting server.");
+ },
+ "stop" => {
+ println!("Stopping server.");
+ std::process::exit(0);
+ },
+ "status" => {
+ println!("Server status.");
+ std::process::exit(0);
+ },
+ _ => {
+ eprintln!("got unexpected command {}", command);
+ std::process::exit(-1);
+ },
+ }
+
+ let addr = ([0, 0, 0, 0], 8007).into();
+
+ lazy_static!{
+ static ref ROUTER: Router = proxmox_backup::api3::router();
+ }
+
+ let mut config = ApiConfig::new("/usr/share/javascript/proxmox-backup", &ROUTER);
+
+ // add default dirs which includes jquery and bootstrap
+ // my $base = '/usr/share/libpve-http-server-perl';
+ // add_dirs($self->{dirs}, '/css/' => "$base/css/");
+ // add_dirs($self->{dirs}, '/js/' => "$base/js/");
+ // add_dirs($self->{dirs}, '/fonts/' => "$base/fonts/");
+ config.add_alias("novnc", "/usr/share/novnc-pve");
+ config.add_alias("extjs", "/usr/share/javascript/extjs");
+ config.add_alias("fontawesome", "/usr/share/fonts-font-awesome");
+ config.add_alias("xtermjs", "/usr/share/pve-xtermjs");
+ config.add_alias("widgettoolkit", "/usr/share/javascript/proxmox-widget-toolkit");
+
+ let rest_server = RestServer::new(config);
+
+ let server = hyper::Server::bind(&addr)
+ .serve(rest_server)
+ .map_err(|e| eprintln!("server error: {}", e));
+
+
+ // Run this server for... forever!
+ hyper::rt::run(server);
+}