- Fixed build system to clone source repositories instead of downloading binaries - Enhanced scripts/fetch-github.sh with proper git repo cloning and branch handling - Updated scripts/compile-components.sh for RFS compilation with build-binary feature - Added minimal firmware installation for essential network drivers (73 modules) - Created comprehensive zinit configuration set (15 config files including getty) - Added util-linux package for getty/agetty console support - Optimized package selection for minimal 27MB initramfs footprint - Successfully builds bootable vmlinuz.efi with embedded initramfs - Confirmed working: VM boot, console login, network drivers, zinit init system Components: - initramfs.cpio.xz: 27MB compressed minimal Zero-OS image - vmlinuz.efi: 35MB bootable kernel with embedded initramfs - Complete Zero-OS toolchain: zinit, rfs, mycelium compiled from source
102 lines
2.4 KiB
TOML
102 lines
2.4 KiB
TOML
[package]
|
|
name = "rfs"
|
|
version = "0.2.0"
|
|
edition = "2018"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
[build-dependencies]
|
|
git-version = "0.3.5"
|
|
|
|
[[bin]]
|
|
name = "rfs"
|
|
path = "src/main.rs"
|
|
required-features = ["build-binary"]
|
|
|
|
[features]
|
|
build-binary = [
|
|
"dep:polyfuse",
|
|
"dep:simple_logger",
|
|
"dep:daemonize",
|
|
"dep:clap",
|
|
"parallel-download"
|
|
]
|
|
parallel-download = []
|
|
|
|
[lib]
|
|
name = "rfs"
|
|
path = "src/lib.rs"
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.44"
|
|
time = "0.3"
|
|
sqlx = { version = "0.7.4", features = [ "runtime-tokio-rustls", "sqlite" ] }
|
|
tokio = { version = "1", features = ["full"] }
|
|
libc = "0.2"
|
|
futures = "0.3"
|
|
thiserror = "1.0"
|
|
bytes = "1.1.0"
|
|
log = "0.4"
|
|
lru = "0.7.0"
|
|
|
|
snap = "1.0.5"
|
|
bb8-redis = "0.13"
|
|
async-trait = "0.1.53"
|
|
url = "2.3.1"
|
|
blake2b_simd = "1"
|
|
aes-gcm = "0.10"
|
|
hex = "0.4"
|
|
rand = "0.8"
|
|
# next are only needed for the binarys
|
|
clap = { version = "4.2", features = ["derive"], optional = true}
|
|
simple_logger = {version = "1.0.1", optional = true}
|
|
daemonize = { version = "0.5", optional = true }
|
|
tempfile = { version = "3.3.0"}
|
|
workers = { git="https://github.com/threefoldtech/tokio-worker-pool.git" }
|
|
rust-s3 = "0.34.0-rc3"
|
|
openssl = { version = "0.10", features = ["vendored"] }
|
|
regex = "1.9.6"
|
|
which = "6.0"
|
|
reqwest = { version = "0.11", features = ["json"] }
|
|
nix = "0.23.0"
|
|
# Docker functionality dependencies
|
|
bollard = "0.15.0"
|
|
sha2 = "0.10"
|
|
futures-util = "0.3"
|
|
uuid = { version = "1.3.1", features = ["v4"] }
|
|
tempdir = "0.3"
|
|
serde_json = "1.0"
|
|
toml = "0.4.2"
|
|
serde = { version = "1.0.159" , features = ["derive"] }
|
|
tokio-async-drop = "0.1.0"
|
|
walkdir = "2.5.0"
|
|
|
|
axum = "0.7"
|
|
axum-macros = "0.4.1"
|
|
tower = { version = "0.4", features = ["util", "timeout", "load-shed", "limit"] }
|
|
tower-http = { version = "0.5.2", features = ["fs", "cors", "add-extension", "auth", "compression-full", "trace", "limit"] }
|
|
mime_guess = "2.0.5"
|
|
mime = "0.3.17"
|
|
percent-encoding = "2.3.1"
|
|
tracing = "0.1.40"
|
|
askama = "0.12.1"
|
|
hyper = { version = "1.4.0", features = ["full"] }
|
|
chrono = "0.4.38"
|
|
jsonwebtoken = "9.3.0"
|
|
utoipa = { version = "4", features = ["axum_extras"] }
|
|
utoipa-swagger-ui = { version = "7", features = ["axum"] }
|
|
hostname-validator = "1.1.1"
|
|
sha256 = "1.5.0"
|
|
|
|
[dependencies.polyfuse]
|
|
branch = "master"
|
|
git = "https://github.com/muhamadazmy/polyfuse"
|
|
optional = true
|
|
|
|
[dev-dependencies]
|
|
reqwest = { version = "0.11", features = ["blocking"] }
|
|
assert_cmd = "2.0"
|
|
|
|
[profile.release]
|
|
lto = true
|
|
codegen-units = 1
|