diff --git a/Cargo.lock b/Cargo.lock index e1cd660f636..d76b85326df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2347,6 +2347,20 @@ dependencies = [ "uuid", ] +[[package]] +name = "omicron-deploy" +version = "0.1.0" +dependencies = [ + "anyhow", + "crossbeam", + "omicron-package", + "omicron-sled-agent", + "serde", + "serde_derive", + "structopt", + "thiserror", +] + [[package]] name = "omicron-gateway" version = "0.1.0" @@ -2456,8 +2470,6 @@ name = "omicron-package" version = "0.1.0" dependencies = [ "anyhow", - "crossbeam", - "flate2", "futures", "hex", "indicatif", diff --git a/Cargo.toml b/Cargo.toml index 9e8055be407..e2d0bd52ef5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,7 @@ [workspace] members = [ "common", + "deploy", "gateway", "gateway-client", "gateway-messages", @@ -29,6 +30,7 @@ members = [ default-members = [ "common", + "deploy", "gateway", "gateway-client", "gateway-messages", diff --git a/deploy/.gitignore b/deploy/.gitignore new file mode 100644 index 00000000000..ea8c4bf7f35 --- /dev/null +++ b/deploy/.gitignore @@ -0,0 +1 @@ +/target diff --git a/deploy/Cargo.toml b/deploy/Cargo.toml new file mode 100644 index 00000000000..370375e1293 --- /dev/null +++ b/deploy/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "omicron-deploy" +description = "Tools for deploying Omicron software to target machines" +version = "0.1.0" +edition = "2021" +license = "MPL-2.0" + +[dependencies] +anyhow = "1.0" +crossbeam = "0.8" +omicron-sled-agent = { path = "../sled-agent" } +omicron-package = { path = "../package" } +serde = { version = "1.0", features = [ "derive" ] } +serde_derive = "1.0" +structopt = "0.3" +thiserror = "1.0" + +# Disable doc builds by default for our binaries to work around issue +# rust-lang/cargo#8373. These docs would not be very useful anyway. +[[bin]] +name = "sled-agent-overlay-files" +doc = false + +[[bin]] +name = "thing-flinger" +doc = false diff --git a/package/README.adoc b/deploy/README.adoc similarity index 100% rename from package/README.adoc rename to deploy/README.adoc diff --git a/package/src/bin/deployment-example.toml b/deploy/src/bin/deployment-example.toml similarity index 100% rename from package/src/bin/deployment-example.toml rename to deploy/src/bin/deployment-example.toml diff --git a/sled-agent/src/bin/sled-agent-overlay-files.rs b/deploy/src/bin/sled-agent-overlay-files.rs similarity index 100% rename from sled-agent/src/bin/sled-agent-overlay-files.rs rename to deploy/src/bin/sled-agent-overlay-files.rs diff --git a/package/src/bin/thing-flinger.rs b/deploy/src/bin/thing-flinger.rs similarity index 99% rename from package/src/bin/thing-flinger.rs rename to deploy/src/bin/thing-flinger.rs index 2b8a6c01f3b..081eb5c672e 100644 --- a/package/src/bin/thing-flinger.rs +++ b/deploy/src/bin/thing-flinger.rs @@ -190,16 +190,16 @@ fn do_sync(config: &Config) -> Result<()> { Ok(()) } -// Build omicron-package and omicron-sled-agent on the builder +// Build omicron-package and omicron-deploy on the builder // -// We need to build omicron-sled-agent for overlay file generation +// We need to build omicron-deploy for overlay file generation fn do_build_minimal(config: &Config) -> Result<()> { let server = &config.servers[&config.builder.server]; let cmd = format!( "cd {} && cargo build -p {} -p {}", config.builder.omicron_path.to_string_lossy(), "omicron-package", - "omicron-sled-agent" + "omicron-deploy" ); ssh_exec(&server, &cmd, false) } diff --git a/package/Cargo.toml b/package/Cargo.toml index f968b3c39b6..d7907f37ee6 100644 --- a/package/Cargo.toml +++ b/package/Cargo.toml @@ -1,13 +1,12 @@ [package] name = "omicron-package" +description = "Tools for building and installing Omicron packages" version = "0.1.0" edition = "2021" license = "MPL-2.0" [dependencies] anyhow = "1.0" -crossbeam = "0.8" -flate2 = "1.0.22" futures = "0.3.21" hex = "0.4.3" indicatif = { version = "0.16.2", features = ["rayon"] } @@ -32,7 +31,3 @@ walkdir = "2.3" [[bin]] name = "omicron-package" doc = false - -[[bin]] -name = "thing-flinger" -doc = false diff --git a/sled-agent/Cargo.toml b/sled-agent/Cargo.toml index b5439a10e41..6cc2069fbeb 100644 --- a/sled-agent/Cargo.toml +++ b/sled-agent/Cargo.toml @@ -1,5 +1,6 @@ [package] name = "omicron-sled-agent" +description = "Services for managing sled-local resources" version = "0.1.0" edition = "2021" license = "MPL-2.0" @@ -67,7 +68,3 @@ doc = false [[bin]] name = "sled-agent" doc = false - -[[bin]] -name = "sled-agent-overlay-files" -doc = false