pack compressed assets into single binary (#2344)

* pack compressed assets into single binary

* update naming

* tweaks

* fix build

* fix cargo lock

* rename CLI

* remove explicit ref name
This commit is contained in:
Aiden McClelland
2023-07-12 16:51:05 -06:00
committed by GitHub
parent 4676f0595c
commit a7e501d874
32 changed files with 831 additions and 691 deletions

View File

@@ -598,7 +598,6 @@ dependencies = [
"beau_collector",
"clap 2.34.0",
"dashmap",
"embassy-os",
"emver",
"failure",
"indexmap",
@@ -615,6 +614,7 @@ dependencies = [
"serde",
"serde_json",
"serde_yaml 0.8.26",
"start-os",
]
[[package]]
@@ -1169,112 +1169,6 @@ dependencies = [
"zeroize",
]
[[package]]
name = "embassy-os"
version = "0.3.4-rev.3"
dependencies = [
"aes",
"async-compression",
"async-stream",
"async-trait",
"base32",
"base64 0.13.1",
"base64ct",
"basic-cookies",
"bollard",
"bytes",
"chrono",
"ciborium",
"clap 3.2.23",
"color-eyre",
"cookie",
"cookie_store 0.19.0",
"current_platform",
"digest 0.10.6",
"digest 0.9.0",
"divrem",
"ed25519",
"ed25519-dalek",
"embassy_container_init",
"emver",
"fd-lock-rs",
"futures",
"git-version",
"gpt",
"helpers",
"hex",
"hmac 0.12.1",
"http",
"hyper",
"hyper-ws-listener",
"imbl 2.0.0",
"indexmap",
"ipnet",
"iprange",
"isocountry",
"itertools 0.10.5",
"josekit",
"jsonpath_lib",
"lazy_static",
"libc",
"log",
"mbrman",
"models",
"nix 0.25.1",
"nom",
"num",
"num_enum",
"openssh-keys",
"openssl",
"p256 0.12.0",
"patch-db",
"pbkdf2",
"pin-project",
"pkcs8",
"prettytable-rs",
"proptest",
"proptest-derive",
"rand 0.7.3",
"rand 0.8.5",
"regex",
"reqwest",
"reqwest_cookie_store",
"rpassword",
"rpc-toolkit",
"rust-argon2",
"scopeguard",
"serde",
"serde_json",
"serde_with 2.2.0",
"serde_yaml 0.9.16",
"sha2 0.10.6",
"sha2 0.9.9",
"simple-logging",
"sqlx",
"ssh-key",
"stderrlog",
"tar",
"thiserror",
"tokio",
"tokio-rustls",
"tokio-socks",
"tokio-stream",
"tokio-tar",
"tokio-tungstenite",
"tokio-util",
"toml",
"torut",
"tracing",
"tracing-error 0.2.0",
"tracing-futures",
"tracing-subscriber 0.3.16",
"trust-dns-server",
"typed-builder",
"url",
"uuid 1.2.2",
"zeroize",
]
[[package]]
name = "embassy_container_init"
version = "0.1.0"
@@ -2036,6 +1930,25 @@ dependencies = [
"bitmaps 3.2.0",
]
[[package]]
name = "include_dir"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e"
dependencies = [
"include_dir_macros",
]
[[package]]
name = "include_dir_macros"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f"
dependencies = [
"proc-macro2 1.0.50",
"quote 1.0.23",
]
[[package]]
name = "indenter"
version = "0.3.3"
@@ -2492,6 +2405,16 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
[[package]]
name = "new_mime_guess"
version = "4.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2d684d1b59e0dc07b37e2203ef576987473288f530082512aff850585c61b1f"
dependencies = [
"mime",
"unicase",
]
[[package]]
name = "nibble_vec"
version = "0.1.0"
@@ -4208,6 +4131,114 @@ dependencies = [
"zeroize",
]
[[package]]
name = "start-os"
version = "0.3.4-rev.3"
dependencies = [
"aes",
"async-compression",
"async-stream",
"async-trait",
"base32",
"base64 0.13.1",
"base64ct",
"basic-cookies",
"bollard",
"bytes",
"chrono",
"ciborium",
"clap 3.2.23",
"color-eyre",
"cookie",
"cookie_store 0.19.0",
"current_platform",
"digest 0.10.6",
"digest 0.9.0",
"divrem",
"ed25519",
"ed25519-dalek",
"embassy_container_init",
"emver",
"fd-lock-rs",
"futures",
"git-version",
"gpt",
"helpers",
"hex",
"hmac 0.12.1",
"http",
"hyper",
"hyper-ws-listener",
"imbl 2.0.0",
"include_dir",
"indexmap",
"ipnet",
"iprange",
"isocountry",
"itertools 0.10.5",
"josekit",
"jsonpath_lib",
"lazy_static",
"libc",
"log",
"mbrman",
"models",
"new_mime_guess",
"nix 0.25.1",
"nom",
"num",
"num_enum",
"openssh-keys",
"openssl",
"p256 0.12.0",
"patch-db",
"pbkdf2",
"pin-project",
"pkcs8",
"prettytable-rs",
"proptest",
"proptest-derive",
"rand 0.7.3",
"rand 0.8.5",
"regex",
"reqwest",
"reqwest_cookie_store",
"rpassword",
"rpc-toolkit",
"rust-argon2",
"scopeguard",
"serde",
"serde_json",
"serde_with 2.2.0",
"serde_yaml 0.9.16",
"sha2 0.10.6",
"sha2 0.9.9",
"simple-logging",
"sqlx",
"ssh-key",
"stderrlog",
"tar",
"thiserror",
"tokio",
"tokio-rustls",
"tokio-socks",
"tokio-stream",
"tokio-tar",
"tokio-tungstenite",
"tokio-util",
"toml",
"torut",
"tracing",
"tracing-error 0.2.0",
"tracing-futures",
"tracing-subscriber 0.3.16",
"trust-dns-server",
"typed-builder",
"url",
"uuid 1.2.2",
"zeroize",
]
[[package]]
name = "stderrlog"
version = "0.5.4"
@@ -4845,6 +4876,15 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81"
[[package]]
name = "unicase"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
dependencies = [
"version_check",
]
[[package]]
name = "unicode-bidi"
version = "0.3.8"

View File

@@ -11,7 +11,7 @@ anyhow = { version = "1.0.40", features = ["backtrace"] }
beau_collector = "0.2.1"
clap = "2.33.3"
dashmap = "5.3.2"
embassy-os = { path = "../../backend", default-features = false }
start-os = { path = "../../backend", default-features = false }
emver = { version = "0.1.7", git = "https://github.com/Start9Labs/emver-rs.git", features = [
"serde",
] }

View File

@@ -1,6 +1,6 @@
use std::{path::Path, process::Stdio};
use embassy::disk::main::DEFAULT_PASSWORD;
use startos::disk::main::DEFAULT_PASSWORD;
pub fn create_backup(
mountpoint: impl AsRef<Path>,
@@ -19,17 +19,21 @@ pub fn create_backup(
let mut data_cmd = std::process::Command::new("duplicity");
for exclude in exclude.lines().map(|s| s.trim()).filter(|s| !s.is_empty()) {
if exclude.to_string().starts_with('!') {
data_cmd.arg(format!(
"--include={}",
data_path
.join(exclude.to_string().trim_start_matches('!'))
.display()
)).arg("--allow-source-mismatch");
data_cmd
.arg(format!(
"--include={}",
data_path
.join(exclude.to_string().trim_start_matches('!'))
.display()
))
.arg("--allow-source-mismatch");
} else {
data_cmd.arg(format!(
"--exclude={}",
data_path.join(exclude.to_string()).display()
)).arg("--allow-source-mismatch");
data_cmd
.arg(format!(
"--exclude={}",
data_path.join(exclude.to_string()).display()
))
.arg("--allow-source-mismatch");
}
}
let data_output = data_cmd

View File

@@ -3,11 +3,11 @@ use std::collections::{BTreeMap, BTreeSet, HashMap};
use std::path::Path;
use beau_collector::BeauCollector;
use embassy::config::action::SetResult;
use embassy::config::{spec, Config};
use embassy::s9pk::manifest::PackageId;
use embassy::status::health_check::HealthCheckId;
use linear_map::LinearMap;
use startos::config::action::SetResult;
use startos::config::{spec, Config};
use startos::s9pk::manifest::PackageId;
use startos::status::health_check::HealthCheckId;
pub mod rules;

View File

@@ -7,8 +7,8 @@ use pest::Parser;
use rand::SeedableRng;
use serde_json::Value;
use embassy::config::util::STATIC_NULL;
use embassy::config::Config;
use startos::config::util::STATIC_NULL;
use startos::config::Config;
#[derive(Parser)]
#[grammar = "config/rule_parser.pest"]

View File

@@ -19,8 +19,8 @@ use clap::{App, Arg, SubCommand};
use config::{
apply_dependency_configuration, validate_configuration, validate_dependency_configuration,
};
use embassy::config::action::ConfigRes;
use serde_json::json;
use startos::config::action::ConfigRes;
const PROPERTIES_FALLBACK_MESSAGE: &str =
"Could not find properties. The service might still be starting";