diff --git a/Cargo.lock b/Cargo.lock index 71b8636f..e7b028ae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -162,7 +162,7 @@ dependencies = [ ] [[package]] -name = "client" +name = "cli" version = "1.4.1" dependencies = [ "anyhow", @@ -183,6 +183,10 @@ dependencies = [ "wgctrl", ] +[[package]] +name = "client" +version = "0.1.0" + [[package]] name = "colored" version = "2.0.0" diff --git a/Cargo.toml b/Cargo.toml index 05e25f8d..f3e31833 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace] -members = ["server", "client", "hostsfile", "shared", "publicip"] +members = ["server", "cli", "client", "hostsfile", "shared", "publicip"] [profile.release] codegen-units = 1 diff --git a/client/.gitignore b/cli/.gitignore similarity index 100% rename from client/.gitignore rename to cli/.gitignore diff --git a/client/.rpm/innernet.spec b/cli/.rpm/innernet.spec similarity index 100% rename from client/.rpm/innernet.spec rename to cli/.rpm/innernet.spec diff --git a/cli/Cargo.toml b/cli/Cargo.toml new file mode 100644 index 00000000..b15cbfab --- /dev/null +++ b/cli/Cargo.toml @@ -0,0 +1,67 @@ +[package] +authors = ["Jake McGinty "] +description = "A CLI client to manage innernet network interfaces." +edition = "2018" +homepage = "https://github.com/tonarino/innernet" +license = "MIT" +name = "cli" +publish = false +repository = "https://github.com/tonarino/innernet" +version = "1.4.1" + +[[bin]] +name = "innernet" +path = "src/main.rs" + +[dependencies] +anyhow = "1" +colored = "2" +dialoguer = "0.8" +hostsfile = { path = "../hostsfile" } +indoc = "1" +ipnetwork = { git = "https://github.com/mcginty/ipnetwork" } # pending https://github.com/achanda/ipnetwork/pull/129 +lazy_static = "1" +log = "0.4" +regex = { version = "1", default-features = false, features = ["std"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +shared = { path = "../shared", default-features = false } +structopt = "0.3" +ureq = { version = "2", default-features = false, features = ["json"] } +wgctrl = { path = "../wgctrl-rs" } + +[dev-dependencies] +tempfile = "3" + +[package.metadata.deb] +assets = [ + ["target/release/innernet", "usr/bin/", "755"], + ["target/release/innernet", "usr/bin/inn", "755"], + ["innernet@.service", "usr/lib/systemd/system/", "644"], + ["../doc/innernet.8.gz", "usr/share/man/man8/", "644"], + ["../doc/innernet.completions.bash", "etc/bash_completion.d/innernet", "644"], + ["../doc/innernet.completions.fish", "usr/share/fish/vendor_completions.d/innernet.fish", "644"], + ["../doc/innernet.completions.zsh", "usr/share/zsh/site-functions/_innernet", "644"], +] +depends = "libc6, libgcc1, systemd" +extended-description = "innernet client binary for fetching peer information and conducting admin tasks such as adding a new peer." +maintainer = "tonari " +name = "innernet" +priority = "optional" +section = "net" + +[package.metadata.rpm] +package = "innernet" + +[package.metadata.rpm.cargo] +buildflags = ["--release"] + +[package.metadata.rpm.files] +"../../doc/innernet.8.gz" = { path = "/usr/share/man/man8/innernet.8.gz" } +"../innernet@.service" = { path = "/usr/lib/systemd/system/innernet@.service" } +"../../doc/innernet.completions.bash" = { path = "/etc/bash_completion.d/innernet" } +"../../doc/innernet.completions.fish" = { path = "/usr/share/fish/vendor_completions.d/innernet.fish" } +"../../doc/innernet.completions.zsh" = { path = "/usr/share/zsh/site-functions/_innernet" } + +[package.metadata.rpm.targets] +innernet = { path = "/usr/bin/innernet" } diff --git a/client/innernet.target b/cli/innernet.target similarity index 100% rename from client/innernet.target rename to cli/innernet.target diff --git a/client/innernet@.service b/cli/innernet@.service similarity index 100% rename from client/innernet@.service rename to cli/innernet@.service diff --git a/client/src/data_store.rs b/cli/src/data_store.rs similarity index 100% rename from client/src/data_store.rs rename to cli/src/data_store.rs diff --git a/client/src/main.rs b/cli/src/main.rs similarity index 100% rename from client/src/main.rs rename to cli/src/main.rs diff --git a/client/src/util.rs b/cli/src/util.rs similarity index 100% rename from client/src/util.rs rename to cli/src/util.rs diff --git a/client/Cargo.toml b/client/Cargo.toml index dcbff6b4..4224d17c 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -1,67 +1,9 @@ [package] -authors = ["Jake McGinty "] -description = "A client to manage innernet network interfaces." -edition = "2018" -homepage = "https://github.com/tonarino/innernet" -license = "MIT" name = "client" -publish = false -repository = "https://github.com/tonarino/innernet" -version = "1.4.1" +version = "0.1.0" +authors = ["Bram Vandenbogaerde "] +edition = "2018" -[[bin]] -name = "innernet" -path = "src/main.rs" +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -anyhow = "1" -colored = "2" -dialoguer = "0.8" -hostsfile = { path = "../hostsfile" } -indoc = "1" -ipnetwork = { git = "https://github.com/mcginty/ipnetwork" } # pending https://github.com/achanda/ipnetwork/pull/129 -lazy_static = "1" -log = "0.4" -regex = { version = "1", default-features = false, features = ["std"] } -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" -shared = { path = "../shared", default-features = false } -structopt = "0.3" -ureq = { version = "2", default-features = false, features = ["json"] } -wgctrl = { path = "../wgctrl-rs" } - -[dev-dependencies] -tempfile = "3" - -[package.metadata.deb] -assets = [ - ["target/release/innernet", "usr/bin/", "755"], - ["target/release/innernet", "usr/bin/inn", "755"], - ["innernet@.service", "usr/lib/systemd/system/", "644"], - ["../doc/innernet.8.gz", "usr/share/man/man8/", "644"], - ["../doc/innernet.completions.bash", "etc/bash_completion.d/innernet", "644"], - ["../doc/innernet.completions.fish", "usr/share/fish/vendor_completions.d/innernet.fish", "644"], - ["../doc/innernet.completions.zsh", "usr/share/zsh/site-functions/_innernet", "644"], -] -depends = "libc6, libgcc1, systemd" -extended-description = "innernet client binary for fetching peer information and conducting admin tasks such as adding a new peer." -maintainer = "tonari " -name = "innernet" -priority = "optional" -section = "net" - -[package.metadata.rpm] -package = "innernet" - -[package.metadata.rpm.cargo] -buildflags = ["--release"] - -[package.metadata.rpm.files] -"../../doc/innernet.8.gz" = { path = "/usr/share/man/man8/innernet.8.gz" } -"../innernet@.service" = { path = "/usr/lib/systemd/system/innernet@.service" } -"../../doc/innernet.completions.bash" = { path = "/etc/bash_completion.d/innernet" } -"../../doc/innernet.completions.fish" = { path = "/usr/share/fish/vendor_completions.d/innernet.fish" } -"../../doc/innernet.completions.zsh" = { path = "/usr/share/zsh/site-functions/_innernet" } - -[package.metadata.rpm.targets] -innernet = { path = "/usr/bin/innernet" } diff --git a/client/src/lib.rs b/client/src/lib.rs new file mode 100644 index 00000000..31e1bb20 --- /dev/null +++ b/client/src/lib.rs @@ -0,0 +1,7 @@ +#[cfg(test)] +mod tests { + #[test] + fn it_works() { + assert_eq!(2 + 2, 4); + } +}