[INFO] cloning repository https://github.com/Omni-Forge/OmniOrchestrator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Omni-Forge/OmniOrchestrator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOmni-Forge%2FOmniOrchestrator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOmni-Forge%2FOmniOrchestrator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bab88be943287e9130bb2c0432382f2d4fa9dcf9
[INFO] checking Omni-Forge/OmniOrchestrator against try#1bd50d4315eb15970d395b6be5823f9384707693 for pr-140151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOmni-Forge%2FOmniOrchestrator" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Omni-Forge/OmniOrchestrator on toolchain 1bd50d4315eb15970d395b6be5823f9384707693
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/Omni-Forge/OmniOrchestrator
[INFO] finished tweaking git repo https://github.com/Omni-Forge/OmniOrchestrator
[INFO] tweaked toml for git repo https://github.com/Omni-Forge/OmniOrchestrator written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Omni-Forge/OmniOrchestrator already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 63 packages to latest compatible versions
[INFO] [stderr]       Adding async-channel v1.9.0
[INFO] [stderr]       Adding async-channel v2.3.1
[INFO] [stderr]       Adding async-executor v1.13.1
[INFO] [stderr]       Adding async-global-executor v2.4.1
[INFO] [stderr]       Adding async-io v1.13.0
[INFO] [stderr]       Adding async-io v2.4.0
[INFO] [stderr]       Adding async-lock v2.8.0
[INFO] [stderr]       Adding async-lock v3.4.0
[INFO] [stderr]       Adding async-std v1.13.1
[INFO] [stderr]       Adding async-task v4.7.1
[INFO] [stderr]       Adding atomic-waker v1.1.2
[INFO] [stderr]     Updating bitflags v2.6.0 -> v2.9.0
[INFO] [stderr]       Adding blocking v1.6.1
[INFO] [stderr]     Updating bytemuck v1.20.0 -> v1.22.0
[INFO] [stderr]       Adding bytemuck_derive v1.9.3
[INFO] [stderr]       Adding chrysalis_rs v0.1.0
[INFO] [stderr]       Adding dotenv v0.15.0
[INFO] [stderr]     Updating errno v0.3.9 -> v0.3.11
[INFO] [stderr]       Adding event-listener v2.5.3
[INFO] [stderr]       Adding event-listener-strategy v0.5.4
[INFO] [stderr]       Adding fastrand v1.9.0
[INFO] [stderr]       Adding futures-lite v1.13.0
[INFO] [stderr]       Adding futures-lite v2.6.0
[INFO] [stderr]       Adding getrandom v0.3.2
[INFO] [stderr]       Adding gloo-timers v0.3.0
[INFO] [stderr]       Adding hadris-common v0.0.1
[INFO] [stderr]       Adding hadris-iso v0.0.1 (available: v0.0.2)
[INFO] [stderr]       Adding instant v0.1.13
[INFO] [stderr]       Adding io-lifetimes v1.0.11
[INFO] [stderr]       Adding kv-log-macro v1.0.7
[INFO] [stderr]     Updating libc v0.2.164 -> v0.2.172
[INFO] [stderr]       Adding libomni v0.2.3
[INFO] [stderr]       Adding libssh2-sys v0.3.1
[INFO] [stderr]       Adding linux-raw-sys v0.3.8
[INFO] [stderr]       Adding linux-raw-sys v0.9.4
[INFO] [stderr]     Updating log v0.4.22 -> v0.4.27
[INFO] [stderr]       Adding pest v2.8.0
[INFO] [stderr]       Adding pest_derive v2.8.0
[INFO] [stderr]       Adding pest_generator v2.8.0
[INFO] [stderr]       Adding pest_meta v2.8.0
[INFO] [stderr]       Adding piper v0.2.4
[INFO] [stderr]       Adding polling v2.8.0
[INFO] [stderr]       Adding polling v3.7.4
[INFO] [stderr]       Adding r-efi v5.2.0
[INFO] [stderr]       Adding rand v0.9.1
[INFO] [stderr]       Adding rand_chacha v0.9.0
[INFO] [stderr]       Adding rand_core v0.9.3
[INFO] [stderr]       Adding rustix v0.37.28
[INFO] [stderr]       Adding rustix v1.0.5
[INFO] [stderr]       Adding serde_json v1.0.140
[INFO] [stderr]  Downgrading serde_json5 v1.0.133 -> v0.2.1
[INFO] [stderr]       Adding socket2 v0.4.10
[INFO] [stderr]       Adding ssh2 v0.9.5
[INFO] [stderr]     Updating tempfile v3.14.0 -> v3.19.1
[INFO] [stderr]     Updating thiserror v2.0.11 -> v2.0.12
[INFO] [stderr]     Updating thiserror-impl v2.0.11 -> v2.0.12
[INFO] [stderr]     Updating tracing v0.1.40 -> v0.1.41
[INFO] [stderr]     Updating tracing-core v0.1.32 -> v0.1.33
[INFO] [stderr]       Adding ucd-trie v0.1.7
[INFO] [stderr]       Adding value-bag v1.11.1
[INFO] [stderr]       Adding waker-fn v1.2.0
[INFO] [stderr]       Adding wasi v0.14.2+wasi-0.2.4
[INFO] [stderr]       Adding wit-bindgen-rt v0.39.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a60faefa340f34a544c065d8f09278f376ea872bb7507ca47068217b1c8ae437
[INFO] running `Command { std: "docker" "start" "-a" "a60faefa340f34a544c065d8f09278f376ea872bb7507ca47068217b1c8ae437", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a60faefa340f34a544c065d8f09278f376ea872bb7507ca47068217b1c8ae437", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a60faefa340f34a544c065d8f09278f376ea872bb7507ca47068217b1c8ae437", kill_on_drop: false }`
[INFO] [stdout] a60faefa340f34a544c065d8f09278f376ea872bb7507ca47068217b1c8ae437
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6898ea1c60683e0405adaf7e6f50d6fed3f28929899ac75eba5fec656da575b6
[INFO] running `Command { std: "docker" "start" "-a" "6898ea1c60683e0405adaf7e6f50d6fed3f28929899ac75eba5fec656da575b6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking value-bag v1.11.1
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking bytes v1.8.0
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking foldhash v0.1.4
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v0.38.40
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking hashbrown v0.15.1
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking fastrand v2.2.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling cc v1.2.16
[INFO] [stderr]    Compiling polling v2.8.0
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]     Checking litemap v0.7.4
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]    Compiling rustix v0.37.28
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling event-listener v5.4.0
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling async-io v1.13.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling deranged v0.3.11
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.0
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]    Compiling futures-lite v2.6.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling tokio v1.41.1
[INFO] [stderr]    Compiling icu_properties_data v1.5.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling openssl-src v300.4.2+3.4.1
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling async-task v4.7.1
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]     Checking icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling base64ct v1.6.0
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling piper v0.2.4
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling async-channel v2.3.1
[INFO] [stderr]    Compiling async-lock v3.4.0
[INFO] [stderr]    Compiling blocking v1.6.1
[INFO] [stderr]    Compiling async-executor v1.13.1
[INFO] [stderr]    Compiling der v0.7.9
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling ring v0.17.11
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling linux-raw-sys v0.3.8
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling libz-sys v1.1.21
[INFO] [stderr]    Compiling async-lock v2.8.0
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling socket2 v0.4.10
[INFO] [stderr]    Compiling kv-log-macro v1.0.7
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling ref-cast v1.0.23
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]    Compiling iana-time-zone v0.1.61
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]    Compiling tinyvec v1.8.1
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling zstd-sys v2.0.14+zstd.1.5.7
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]    Compiling uuid v1.11.0
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling tokio-stream v0.1.16
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking is-terminal v0.4.13
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]    Compiling libloading v0.8.6
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling bindgen v0.71.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling frunk_core v0.4.3
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling bytemuck_derive v1.9.3
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]    Compiling ref-cast-impl v1.0.23
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling frunk_proc_macro_helpers v0.1.3
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking inlinable_string v0.1.15
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling zstd-safe v7.2.3
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]     Checking openssl-probe v0.1.5
[INFO] [stderr]    Compiling whoami v1.5.2
[INFO] [stderr]     Checking winnow v0.6.20
[INFO] [stderr]    Compiling rsa v0.9.7
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling pear v0.2.9
[INFO] [stderr]     Checking tokio-util v0.7.12
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking toml_edit v0.22.22
[INFO] [stderr]    Compiling pest v2.8.0
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling hyper v0.14.31
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling devise_core v0.4.2
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling devise_codegen v0.4.2
[INFO] [stderr]    Compiling subprocess v0.2.9
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling stable-pattern v0.1.0
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]    Compiling bigdecimal v0.4.7
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking async-io v2.4.0
[INFO] [stderr]    Compiling rust_decimal v1.36.0
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]    Compiling state v0.6.0
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]    Compiling devise v0.4.2
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling rocket_http v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling tempfile v3.19.1
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]     Checking toml v0.8.19
[INFO] [stderr]    Compiling pest_meta v2.8.0
[INFO] [stderr]     Checking async-global-executor v2.4.1
[INFO] [stderr]    Compiling frunk_derives v0.4.3
[INFO] [stderr]    Compiling frunk_proc_macros v0.1.3
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking async-std v1.13.1
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling proc-macro-crate v3.2.0
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling rocket v0.5.1
[INFO] [stderr]    Compiling multer v2.1.0
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]    Compiling rocket_codegen v0.5.1
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]    Compiling pest_generator v2.8.0
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking sqlx-core v0.8.3
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking ubyte v0.10.4
[INFO] [stderr]    Compiling mysql-common-derive v0.31.2
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]    Compiling derive_utils v0.15.0
[INFO] [stderr]     Checking btoi v0.4.3
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.14
[INFO] [stderr]    Compiling anyhow v1.0.96
[INFO] [stderr]    Compiling mysql v25.0.1
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking saturating v0.1.0
[INFO] [stderr]     Checking binascii v0.1.4
[INFO] [stderr]     Checking atomic v0.5.3
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling pest_derive v2.8.0
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]    Compiling io-enum v1.2.0
[INFO] [stderr]     Checking chrysalis_rs v0.1.0
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking pem v3.0.5
[INFO] [stderr]     Checking hadris-common v0.0.1
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]     Checking bufstream v0.1.4
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking hadris-iso v0.0.1
[INFO] [stderr]     Checking frunk v0.4.3
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking serde_json5 v0.2.1
[INFO] [stderr]    Compiling mysql_common v0.32.4
[INFO] [stderr]     Checking sqlx-sqlite v0.8.3
[INFO] [stderr]     Checking sqlx-mysql v0.8.3
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.3
[INFO] [stderr]    Compiling sqlx-macros v0.8.3
[INFO] [stderr]     Checking sqlx v0.8.3
[INFO] [stderr]     Checking libomni v0.2.3
[INFO] [stderr]     Checking rocket-multipart-form-data v0.10.7
[INFO] [stderr]     Checking ssh2 v0.9.5
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking omni-orchestrator v0.1.0-in-dev-3b4d9b8a2f2cf00cac4618bc5c7d728d857336a8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/db/v1/queries/app.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Context`
[INFO] [stdout]  --> src/db/v1/queries/alert.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromRow`
[INFO] [stdout]  --> src/db/v1/queries/alert.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sqlx::{FromRow, MySql, Pool};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromRow`
[INFO] [stdout]  --> src/db/v1/queries/build.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sqlx::{FromRow, MySql, Pool};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/db/v1/queries/metadata.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout] 8  | / /// Global mutex for synchronizing metadata operations.
[INFO] [stdout] 9  | | ///
[INFO] [stdout] 10 | | /// This mutex prevents race conditions when multiple threads attempt to modify
[INFO] [stdout] 11 | | /// the metadata table simultaneously. It's particularly important for operations
[INFO] [stdout] 12 | | /// like table creation and key deduplication which require exclusive access.
[INFO] [stdout]    | |_----------------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/db/v1/queries/metadata.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Context`
[INFO] [stdout]  --> src/db/v1/queries/worker.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MySql` and `Pool`
[INFO] [stdout]  --> src/db/v1/queries/worker.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sqlx::{MySql, Pool};
[INFO] [stdout]   |            ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing`
[INFO] [stdout]  --> src/db/v1/queries/worker.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::json::Json`
[INFO] [stdout]  --> src/db/v1/queries/backup.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rocket::{serde::json::Json, State};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromRow`
[INFO] [stdout]  --> src/db/v1/queries/metrics.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use sqlx::{FromRow, MySql, Pool};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/db/v1/queries/provider.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/api/index.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / /// Global singleton instance of the routes collection
[INFO] [stdout] 62 | | /// Stores information about all registered API routes
[INFO] [stdout]    | |_-----------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/api/index.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Builder` and `Target`
[INFO] [stdout]  --> src/api/index.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use env_logger::{Builder, Target};
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::Client`
[INFO] [stdout]  --> src/api/index.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use reqwest::Client;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::serde::json::Json`
[INFO] [stdout]  --> src/api/index.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rocket::serde::json::Json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> src/api/index.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{env, sync::Arc};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/api/index.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/api/v1/apps.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/api/v1/apps.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/api/v1/apps.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Value` and `json`
[INFO] [stdout]   --> src/api/v1/alerts.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rocket::serde::json::{json, Json, Value};
[INFO] [stdout]    |                           ^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `delete`, `http::ContentType`, `post`, and `put`
[INFO] [stdout]   --> src/api/v1/alerts.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rocket::{delete, get, http::ContentType, post, put, Data, State};
[INFO] [stdout]    |              ^^^^^^       ^^^^^^^^^^^^^^^^^  ^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/api/v1/alerts.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::MySql`
[INFO] [stdout]   --> src/api/v1/alerts.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use sqlx::MySql;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/api/v1/alerts.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/api/v1/alerts.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/api/v1/alerts.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::http::Status`
[INFO] [stdout]   --> src/api/v1/builds.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rocket::http::Status;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `delete`, `http::ContentType`, `post`, and `put`
[INFO] [stdout]   --> src/api/v1/builds.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rocket::{delete, get, http::ContentType, post, put, Data, State};
[INFO] [stdout]    |              ^^^^^^       ^^^^^^^^^^^^^^^^^  ^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/db/v1/queries/app.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Context`
[INFO] [stdout]  --> src/db/v1/queries/alert.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromRow`
[INFO] [stdout]  --> src/db/v1/queries/alert.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sqlx::{FromRow, MySql, Pool};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::http::Status`
[INFO] [stdout]  --> src/api/v1/regions.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rocket::http::Status;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromRow`
[INFO] [stdout]  --> src/db/v1/queries/build.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sqlx::{FromRow, MySql, Pool};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Value` and `json`
[INFO] [stdout]  --> src/api/v1/regions.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rocket::serde::json::{json, Json, Value};
[INFO] [stdout]   |                           ^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `delete`, `http::ContentType`, `post`, and `put`
[INFO] [stdout]  --> src/api/v1/regions.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rocket::{delete, get, http::ContentType, post, put, Data, State};
[INFO] [stdout]   |              ^^^^^^       ^^^^^^^^^^^^^^^^^  ^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/db/v1/queries/metadata.rs:8:1
[INFO] [stdout]    |
[INFO] [stdout] 8  | / /// Global mutex for synchronizing metadata operations.
[INFO] [stdout] 9  | | ///
[INFO] [stdout] 10 | | /// This mutex prevents race conditions when multiple threads attempt to modify
[INFO] [stdout] 11 | | /// the metadata table simultaneously. It's particularly important for operations
[INFO] [stdout] 12 | | /// like table creation and key deduplication which require exclusive access.
[INFO] [stdout]    | |_----------------------------------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/db/v1/queries/metadata.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Context`
[INFO] [stdout]  --> src/db/v1/queries/worker.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use anyhow::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MySql` and `Pool`
[INFO] [stdout]  --> src/db/v1/queries/worker.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use sqlx::{MySql, Pool};
[INFO] [stdout]   |            ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing`
[INFO] [stdout]  --> src/db/v1/queries/worker.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::json::Json`
[INFO] [stdout]  --> src/db/v1/queries/backup.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rocket::{serde::json::Json, State};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FromRow`
[INFO] [stdout]  --> src/db/v1/queries/metrics.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use sqlx::{FromRow, MySql, Pool};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/db/v1/queries/provider.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/api/v1/regions.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/api/v1/regions.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/api/index.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | / /// Global singleton instance of the routes collection
[INFO] [stdout] 62 | | /// Stores information about all registered API routes
[INFO] [stdout]    | |_-----------------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/api/v1/regions.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rocket::serde::{Deserialize, Serialize};
[INFO] [stdout]   |                     ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rocket::{post, get};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/status.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rocket::serde::{Deserialize, Serialize};
[INFO] [stdout]   |                     ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CloudConfig`, `HostDeploymentStatus`, `ServiceStatus`, and `SshHost`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/status.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::super::models::{CloudConfig, ApiResponse, HostDeploymentStatus, ServiceStatus, SshHost};
[INFO] [stdout]   |                            ^^^^^^^^^^^               ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rocket::serde::{Deserialize, Serialize};
[INFO] [stdout]   |                     ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> src/api/index.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Builder` and `Target`
[INFO] [stdout]  --> src/api/index.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use env_logger::{Builder, Target};
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rocket::{post, get};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::Client`
[INFO] [stdout]  --> src/api/index.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use reqwest::Client;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::serde::json::Json`
[INFO] [stdout]  --> src/api/index.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rocket::serde::json::Json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `env`
[INFO] [stdout]  --> src/api/index.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::{env, sync::Arc};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/api/index.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/api/v1/apps.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CloudConfig` and `HostDeploymentStatus`
[INFO] [stdout]   --> src/api/v1/platforms/subroutes/bootstrap.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::super::models::{CloudConfig, ApiResponse, HostDeploymentStatus, ServiceStatus, SshHost};
[INFO] [stdout]    |                            ^^^^^^^^^^^               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::models::ServiceStatus`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/network.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::super::models::ServiceStatus;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/api/v1/apps.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rocket::serde::{Deserialize, Serialize};
[INFO] [stdout]   |                     ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/api/v1/apps.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rocket::{post, get};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `update_host_services`
[INFO] [stdout]   --> src/api/v1/platforms/subroutes/monitoring.rs:12:40
[INFO] [stdout]    |
[INFO] [stdout] 12 | use super::utils::{update_host_status, update_host_services};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CloudConfig`, `HostDeploymentStatus`, and `SshHost`
[INFO] [stdout]   --> src/api/v1/platforms/subroutes/monitoring.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::super::models::{CloudConfig, ApiResponse, HostDeploymentStatus, ServiceStatus, SshHost};
[INFO] [stdout]    |                            ^^^^^^^^^^^               ^^^^^^^^^^^^^^^^^^^^                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::serde::json::Json`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rocket::serde::json::Json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GLOBAL_CONFIGS`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/utils.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::api::v1::platforms::state::{GLOBAL_CONFIGS,GLOBAL_DEPLOYMENT_STATUS};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::serde::json::Json`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rocket::serde::json::Json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get` and `post`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rocket::{post, get};
[INFO] [stdout]   |              ^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Value` and `json`
[INFO] [stdout]   --> src/api/v1/workers.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rocket::serde::json::{json, Json, Value};
[INFO] [stdout]    |                           ^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `delete`, `http::ContentType`, `post`, and `put`
[INFO] [stdout]   --> src/api/v1/workers.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rocket::{delete, get, http::ContentType, post, put, Data, State};
[INFO] [stdout]    |              ^^^^^^       ^^^^^^^^^^^^^^^^^  ^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/api/v1/workers.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/api/v1/workers.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/api/v1/workers.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/api/v1/workers.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `delete`
[INFO] [stdout]  --> src/api/v1/control/backup.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rocket::{get, post, delete};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pool`
[INFO] [stdout]  --> src/api/v1/control/backup.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sqlx::{MySql, Pool};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delete` and `post`
[INFO] [stdout]  --> src/api/v1/metrics.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rocket::{delete, get, post, serde::json::Json, State};
[INFO] [stdout]   |              ^^^^^^       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Value` and `json`
[INFO] [stdout]   --> src/api/v1/alerts.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rocket::serde::json::{json, Json, Value};
[INFO] [stdout]    |                           ^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `control::*`
[INFO] [stdout]   --> src/api/v1/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use control::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `delete`, `http::ContentType`, `post`, and `put`
[INFO] [stdout]   --> src/api/v1/alerts.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rocket::{delete, get, http::ContentType, post, put, Data, State};
[INFO] [stdout]    |              ^^^^^^       ^^^^^^^^^^^^^^^^^  ^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/api/v1/alerts.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/config/mod.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | / /// Global static reference to the server configuration.
[INFO] [stdout] 78 | | ///
[INFO] [stdout] 79 | | /// This lazy_static provides thread-safe access to the server configuration
[INFO] [stdout] 80 | | /// throughout the application. It is initialized when first accessed,
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | | /// Panics if the configuration cannot be read or written, which would
[INFO] [stdout] 87 | | /// prevent the server from starting properly.
[INFO] [stdout]    | |_---------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sqlx::MySql`
[INFO] [stdout]   --> src/api/v1/alerts.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use sqlx::MySql;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/backup/model.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> src/backup/coordinator/coordinator.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/backup/coordinator/coordinator.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use log::{info, warn, error, debug};
[INFO] [stdout]    |                 ^^^^         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> src/backup/coordinator/coordinator.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/api/v1/alerts.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backup/coordinator/system_core.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, error};
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backup/coordinator/director.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, error};
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backup/coordinator/orchestrator.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, error};
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backup/coordinator/network.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, error};
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/api/v1/alerts.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/api/v1/alerts.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backup/coordinator/app_definitions.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, error};
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::http::Status`
[INFO] [stdout]   --> src/api/v1/builds.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rocket::http::Status;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]   --> src/backup/coordinator/volume_data.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{debug, error, info, warn};
[INFO] [stdout]    |           ^^^^^  ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `delete`, `http::ContentType`, `post`, and `put`
[INFO] [stdout]   --> src/api/v1/builds.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rocket::{delete, get, http::ContentType, post, put, Data, State};
[INFO] [stdout]    |              ^^^^^^       ^^^^^^^^^^^^^^^^^  ^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/backup/coordinator/manifest.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]  --> src/backup/coordinator/manifest.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{info, warn, error, debug};
[INFO] [stdout]   |           ^^^^  ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context`, `anyhow`, and `bail`
[INFO] [stdout]  --> src/backup/coordinator/manifest.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]   |                      ^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `manifest::create_backup_manifest`
[INFO] [stdout]   --> src/backup/coordinator/mod.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) use manifest::create_backup_manifest;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::http::Status`
[INFO] [stdout]  --> src/api/v1/regions.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rocket::http::Status;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Value` and `json`
[INFO] [stdout]  --> src/api/v1/regions.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rocket::serde::json::{json, Json, Value};
[INFO] [stdout]   |                           ^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `delete`, `http::ContentType`, `post`, and `put`
[INFO] [stdout]  --> src/api/v1/regions.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rocket::{delete, get, http::ContentType, post, put, Data, State};
[INFO] [stdout]   |              ^^^^^^       ^^^^^^^^^^^^^^^^^  ^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/api/v1/regions.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/api/v1/regions.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/api/v1/regions.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn`
[INFO] [stdout]  --> src/backup/iso.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{info, warn, error, debug};
[INFO] [stdout]   |                 ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context`, `anyhow`, and `bail`
[INFO] [stdout]   --> src/backup/iso.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]    |                      ^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rocket::serde::{Deserialize, Serialize};
[INFO] [stdout]   |                     ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rocket::{post, get};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/backup/validation.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> src/backup/validation.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{info, warn, error, debug};
[INFO] [stdout]    |                       ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `bail`
[INFO] [stdout]   --> src/backup/validation.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]    |                      ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/backup/export.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{info, warn, error, debug};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `bail`
[INFO] [stdout]  --> src/backup/export.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]   |                      ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]   --> src/backup/export.rs:47:32
[INFO] [stdout]    |
[INFO] [stdout] 47 |         use serde_json::{json, Value};
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/backup/recovery.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/init.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/backup/recovery.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{info, warn, error, debug};
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> src/backup/recovery.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `model::Backup`
[INFO] [stdout]   --> src/backup/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use model::Backup;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/status.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rocket::serde::{Deserialize, Serialize};
[INFO] [stdout]   |                     ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `coordinator::BackupCoordinator`
[INFO] [stdout]   --> src/backup/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use coordinator::BackupCoordinator;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `validation::BackupValidator`
[INFO] [stdout]   --> src/backup/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use validation::BackupValidator;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `export::BackupExporter`
[INFO] [stdout]   --> src/backup/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use export::BackupExporter;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iso::IsoManager`
[INFO] [stdout]   --> src/backup/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use iso::IsoManager;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `coordinator::BackupJobStatus`
[INFO] [stdout]   --> src/backup/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use coordinator::BackupJobStatus;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/network/client.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn`
[INFO] [stdout]  --> src/network/client.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{info, warn, error, debug};
[INFO] [stdout]   |                 ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CloudConfig`, `HostDeploymentStatus`, `ServiceStatus`, and `SshHost`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/status.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::super::models::{CloudConfig, ApiResponse, HostDeploymentStatus, ServiceStatus, SshHost};
[INFO] [stdout]   |                            ^^^^^^^^^^^               ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]   --> src/network/client.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json::{json, Value};
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnvironmentNode` and `NodeType`
[INFO] [stdout]  --> src/network/mod.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use discovery::{EnvironmentNode, NodeType};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rocket::serde::{Deserialize, Serialize};
[INFO] [stdout]   |                     ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::NetworkClient`
[INFO] [stdout]   --> src/network/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use client::NetworkClient;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rocket::{post, get};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`, and `UNIX_EPOCH`
[INFO] [stdout]  --> src/app_autoscaler/app.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^           ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/bootstrap.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CloudConfig` and `HostDeploymentStatus`
[INFO] [stdout]   --> src/api/v1/platforms/subroutes/bootstrap.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::super::models::{CloudConfig, ApiResponse, HostDeploymentStatus, ServiceStatus, SshHost};
[INFO] [stdout]    |                            ^^^^^^^^^^^               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::models::ServiceStatus`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/network.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::super::models::ServiceStatus;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rocket::serde::{Deserialize, Serialize};
[INFO] [stdout]   |                     ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rocket::{post, get};
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/monitoring.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `update_host_services`
[INFO] [stdout]   --> src/api/v1/platforms/subroutes/monitoring.rs:12:40
[INFO] [stdout]    |
[INFO] [stdout] 12 | use super::utils::{update_host_status, update_host_services};
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CloudConfig`, `HostDeploymentStatus`, and `SshHost`
[INFO] [stdout]   --> src/api/v1/platforms/subroutes/monitoring.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::super::models::{CloudConfig, ApiResponse, HostDeploymentStatus, ServiceStatus, SshHost};
[INFO] [stdout]    |                            ^^^^^^^^^^^               ^^^^^^^^^^^^^^^^^^^^                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::serde::json::Json`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/utils.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rocket::serde::json::Json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GLOBAL_CONFIGS`
[INFO] [stdout]  --> src/api/v1/platforms/subroutes/utils.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::api::v1::platforms::state::{GLOBAL_CONFIGS,GLOBAL_DEPLOYMENT_STATUS};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rocket::serde::json::Json`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rocket::serde::json::Json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::RwLock`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get` and `post`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rocket::{post, get};
[INFO] [stdout]   |              ^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]  --> src/api/v1/platforms/models.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Value` and `json`
[INFO] [stdout]   --> src/api/v1/workers.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rocket::serde::json::{json, Json, Value};
[INFO] [stdout]    |                           ^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Data`, `delete`, `http::ContentType`, `post`, and `put`
[INFO] [stdout]   --> src/api/v1/workers.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use rocket::{delete, get, http::ContentType, post, put, Data, State};
[INFO] [stdout]    |              ^^^^^^       ^^^^^^^^^^^^^^^^^  ^^^^  ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/api/v1/workers.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/app_autoscaler/app.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Serialize, Deserialize, Serializer, Deserializer};
[INFO] [stdout]   |                                     ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/app_autoscaler/agent.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{info, error};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeType`
[INFO] [stdout]  --> src/app_autoscaler/agent.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::node_types::{Node, NodeType};
[INFO] [stdout]   |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeType` and `Node`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use node_types::{Node, NodeType};
[INFO] [stdout]    |                      ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/api/v1/workers.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/api/v1/workers.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> src/api/v1/workers.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `delete`
[INFO] [stdout]  --> src/api/v1/control/backup.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rocket::{get, post, delete};
[INFO] [stdout]   |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pool`
[INFO] [stdout]  --> src/api/v1/control/backup.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sqlx::{MySql, Pool};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `delete` and `post`
[INFO] [stdout]  --> src/api/v1/metrics.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rocket::{delete, get, post, serde::json::Json, State};
[INFO] [stdout]   |              ^^^^^^       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `control::*`
[INFO] [stdout]   --> src/api/v1/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use control::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppConfig`, `AppInstanceState`, `AppInstance`, and `AppTemplate`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use app::{AppInstance, AppInstanceState, AppConfig, AppTemplate};
[INFO] [stdout]    |               ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/config/mod.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | / /// Global static reference to the server configuration.
[INFO] [stdout] 78 | | ///
[INFO] [stdout] 79 | | /// This lazy_static provides thread-safe access to the server configuration
[INFO] [stdout] 80 | | /// throughout the application. It is initialized when first accessed,
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | | /// Panics if the configuration cannot be read or written, which would
[INFO] [stdout] 87 | | /// prevent the server from starting properly.
[INFO] [stdout]    | |_---------------------------------------------^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> src/backup/model.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]   --> src/backup/coordinator/coordinator.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/backup/coordinator/coordinator.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use log::{info, warn, error, debug};
[INFO] [stdout]    |                 ^^^^         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> src/backup/coordinator/coordinator.rs:26:31
[INFO] [stdout]    |
[INFO] [stdout] 26 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backup/coordinator/system_core.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, error};
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backup/coordinator/director.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, error};
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backup/coordinator/orchestrator.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, error};
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backup/coordinator/network.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, error};
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `info`
[INFO] [stdout]   --> src/backup/coordinator/app_definitions.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{info, error};
[INFO] [stdout]    |           ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]   --> src/backup/coordinator/volume_data.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | use log::{debug, error, info, warn};
[INFO] [stdout]    |           ^^^^^  ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/backup/coordinator/manifest.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]  --> src/backup/coordinator/manifest.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{info, warn, error, debug};
[INFO] [stdout]   |           ^^^^  ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context`, `anyhow`, and `bail`
[INFO] [stdout]  --> src/backup/coordinator/manifest.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]   |                      ^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `manifest::create_backup_manifest`
[INFO] [stdout]   --> src/backup/coordinator/mod.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) use manifest::create_backup_manifest;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn`
[INFO] [stdout]  --> src/backup/iso.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{info, warn, error, debug};
[INFO] [stdout]   |                 ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context`, `anyhow`, and `bail`
[INFO] [stdout]   --> src/backup/iso.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]    |                      ^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/backup/validation.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> src/backup/validation.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use log::{info, warn, error, debug};
[INFO] [stdout]    |                       ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `bail`
[INFO] [stdout]   --> src/backup/validation.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]    |                      ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/backup/export.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{info, warn, error, debug};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `bail`
[INFO] [stdout]  --> src/backup/export.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]   |                      ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]   --> src/backup/export.rs:47:32
[INFO] [stdout]    |
[INFO] [stdout] 47 |         use serde_json::{json, Value};
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/backup/recovery.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/backup/recovery.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 | use log::{info, warn, error, debug};
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]   --> src/backup/recovery.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 | use anyhow::{Result, Context, bail, anyhow};
[INFO] [stdout]    |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `model::Backup`
[INFO] [stdout]   --> src/backup/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use model::Backup;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `coordinator::BackupCoordinator`
[INFO] [stdout]   --> src/backup/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use coordinator::BackupCoordinator;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `validation::BackupValidator`
[INFO] [stdout]   --> src/backup/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use validation::BackupValidator;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `export::BackupExporter`
[INFO] [stdout]   --> src/backup/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use export::BackupExporter;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iso::IsoManager`
[INFO] [stdout]   --> src/backup/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use iso::IsoManager;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `coordinator::BackupJobStatus`
[INFO] [stdout]   --> src/backup/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use coordinator::BackupJobStatus;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/network/client.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `warn`
[INFO] [stdout]  --> src/network/client.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::{info, warn, error, debug};
[INFO] [stdout]   |                 ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]   --> src/network/client.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde_json::{json, Value};
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EnvironmentNode` and `NodeType`
[INFO] [stdout]  --> src/network/mod.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use discovery::{EnvironmentNode, NodeType};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::NetworkClient`
[INFO] [stdout]   --> src/network/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use client::NetworkClient;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`, and `UNIX_EPOCH`
[INFO] [stdout]  --> src/app_autoscaler/app.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^           ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/app_autoscaler/app.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Serialize, Deserialize, Serializer, Deserializer};
[INFO] [stdout]   |                                     ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Agent` and `CloudAgent`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use agent::{Agent, CloudAgent};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MetricThreshold`, `MetricsCollector`, and `ScalingAction`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use metrics::{MetricsCollector, MetricThreshold, ScalingAction};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `policy::ScalingPolicy`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use policy::ScalingPolicy;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `app_autoscaler::AppAutoscaler`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use app_autoscaler::AppAutoscaler;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `policy::create_default_cpu_memory_scaling_policy`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use policy::create_default_cpu_memory_scaling_policy;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`, and `UNIX_EPOCH`
[INFO] [stdout]  --> src/worker_autoscaler/vm.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^           ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/worker_autoscaler/vm.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Serialize, Deserialize, Serializer, Deserializer};
[INFO] [stdout]   |                                     ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/worker_autoscaler/director.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{info, error};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeType`
[INFO] [stdout]  --> src/worker_autoscaler/director.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::node_types::{Node, NodeType};
[INFO] [stdout]   |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeType` and `Node`
[INFO] [stdout]   --> src/worker_autoscaler/mod.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use node_types::{Node, NodeType};
[INFO] [stdout]    |                      ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VMState` and `VM`
[INFO] [stdout]   --> src/worker_autoscaler/mod.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use vm::{VM, VMState, VMConfig, VMTemplate};
[INFO] [stdout]    |              ^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Director`
[INFO] [stdout]   --> src/worker_autoscaler/mod.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use director::{Director, CloudDirector};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MetricThreshold`, `MetricsCollector`, and `ScalingAction`
[INFO] [stdout]   --> src/worker_autoscaler/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use metrics::{MetricsCollector, MetricThreshold, ScalingAction};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `policy::ScalingPolicy`
[INFO] [stdout]   --> src/worker_autoscaler/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use policy::ScalingPolicy;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/app_autoscaler/agent.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{info, error};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeType`
[INFO] [stdout]  --> src/app_autoscaler/agent.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::node_types::{Node, NodeType};
[INFO] [stdout]   |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeType` and `Node`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use node_types::{Node, NodeType};
[INFO] [stdout]    |                      ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppConfig`, `AppInstanceState`, `AppInstance`, and `AppTemplate`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use app::{AppInstance, AppInstanceState, AppConfig, AppTemplate};
[INFO] [stdout]    |               ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Agent` and `CloudAgent`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use agent::{Agent, CloudAgent};
[INFO] [stdout]    |                 ^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MetricThreshold`, `MetricsCollector`, and `ScalingAction`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use metrics::{MetricsCollector, MetricThreshold, ScalingAction};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `policy::ScalingPolicy`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use policy::ScalingPolicy;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `app_autoscaler::AppAutoscaler`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use app_autoscaler::AppAutoscaler;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `policy::create_default_cpu_memory_scaling_policy`
[INFO] [stdout]   --> src/app_autoscaler/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use policy::create_default_cpu_memory_scaling_policy;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration`, `SystemTime`, and `UNIX_EPOCH`
[INFO] [stdout]  --> src/worker_autoscaler/vm.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^           ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer`
[INFO] [stdout]  --> src/worker_autoscaler/vm.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Serialize, Deserialize, Serializer, Deserializer};
[INFO] [stdout]   |                                     ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/worker_autoscaler/director.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{info, error};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NodeType`
[INFO] [stdout]  --> src/worker_autoscaler/director.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::node_types::{Node, NodeType};
[INFO] [stdout]   |                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `NodeType` and `Node`
[INFO] [stdout]   --> src/worker_autoscaler/mod.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use node_types::{Node, NodeType};
[INFO] [stdout]    |                      ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VMState` and `VM`
[INFO] [stdout]   --> src/worker_autoscaler/mod.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use vm::{VM, VMState, VMConfig, VMTemplate};
[INFO] [stdout]    |              ^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Director`
[INFO] [stdout]   --> src/worker_autoscaler/mod.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use director::{Director, CloudDirector};
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MetricThreshold`, `MetricsCollector`, and `ScalingAction`
[INFO] [stdout]   --> src/worker_autoscaler/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use metrics::{MetricsCollector, MetricThreshold, ScalingAction};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `policy::ScalingPolicy`
[INFO] [stdout]   --> src/worker_autoscaler/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use policy::ScalingPolicy;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/db/v1/queries/metadata.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let result = sqlx::query(
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/db/v1/queries/metadata.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let result = sqlx::query(
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |     if let Some(name) = name {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `description`
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |     if let Some(description) = description {
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |     if let Some(name) = name {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `description`
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:154:17
[INFO] [stdout]     |
[INFO] [stdout] 154 |     if let Some(description) = description {
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_description`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/db/v1/queries/user.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |     if let Some(name) = name {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `email`
[INFO] [stdout]    --> src/db/v1/queries/user.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |     if let Some(email) = email {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_email`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active`
[INFO] [stdout]    --> src/db/v1/queries/user.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |     if let Some(active) = active {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/db/v1/queries/user.rs:199:17
[INFO] [stdout]     |
[INFO] [stdout] 199 |     if let Some(name) = name {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `email`
[INFO] [stdout]    --> src/db/v1/queries/user.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |     if let Some(email) = email {
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_email`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active`
[INFO] [stdout]    --> src/db/v1/queries/user.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |     if let Some(active) = active {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/api/v1/apps.rs:257:28
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub async fn get_app_stats(app_id: String, pool: &State<sqlx::Pool<MySql>>) -> Json<AppStats> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool`
[INFO] [stdout]    --> src/api/v1/apps.rs:257:44
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub async fn get_app_stats(app_id: String, pool: &State<sqlx::Pool<MySql>>) -> Json<AppStats> {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/api/v1/apps.rs:278:24
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub async fn start_app(app_id: String) -> Option<Json<Application>> {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/api/v1/apps.rs:292:23
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub async fn stop_app(app_id: String) -> Option<Json<Application>> {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/api/v1/apps.rs:307:24
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub async fn scale_app(app_id: String, scale: Json<ScaleRequest>) -> Option<Json<Application>> {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]    --> src/api/v1/apps.rs:307:40
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub async fn scale_app(app_id: String, scale: Json<ScaleRequest>) -> Option<Json<Application>> {
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/api/v1/apps.rs:257:28
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub async fn get_app_stats(app_id: String, pool: &State<sqlx::Pool<MySql>>) -> Json<AppStats> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pool`
[INFO] [stdout]    --> src/api/v1/apps.rs:257:44
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub async fn get_app_stats(app_id: String, pool: &State<sqlx::Pool<MySql>>) -> Json<AppStats> {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_pool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/api/v1/apps.rs:278:24
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub async fn start_app(app_id: String) -> Option<Json<Application>> {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/api/v1/apps.rs:292:23
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub async fn stop_app(app_id: String) -> Option<Json<Application>> {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app_id`
[INFO] [stdout]    --> src/api/v1/apps.rs:307:24
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub async fn scale_app(app_id: String, scale: Json<ScaleRequest>) -> Option<Json<Application>> {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_app_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scale`
[INFO] [stdout]    --> src/api/v1/apps.rs:307:40
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub async fn scale_app(app_id: String, scale: Json<ScaleRequest>) -> Option<Json<Application>> {
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_scale`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment_id`
[INFO] [stdout]   --> src/backup/recovery.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let environment_id = self.register_target_environment(target_environment).await?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backup`
[INFO] [stdout]    --> src/backup/recovery.rs:506:9
[INFO] [stdout]     |
[INFO] [stdout] 506 |         backup: &Backup,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nodes`
[INFO] [stdout]    --> src/backup/recovery.rs:507:9
[INFO] [stdout]     |
[INFO] [stdout] 507 |         nodes: &[EnvironmentNode],
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adaptation_mode`
[INFO] [stdout]    --> src/backup/recovery.rs:508:9
[INFO] [stdout]     |
[INFO] [stdout] 508 |         adaptation_mode: &str,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adaptation_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment_id`
[INFO] [stdout]   --> src/backup/recovery.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let environment_id = self.register_target_environment(target_environment).await?;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backup`
[INFO] [stdout]    --> src/backup/recovery.rs:506:9
[INFO] [stdout]     |
[INFO] [stdout] 506 |         backup: &Backup,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nodes`
[INFO] [stdout]    --> src/backup/recovery.rs:507:9
[INFO] [stdout]     |
[INFO] [stdout] 507 |         nodes: &[EnvironmentNode],
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adaptation_mode`
[INFO] [stdout]    --> src/backup/recovery.rs:508:9
[INFO] [stdout]     |
[INFO] [stdout] 508 |         adaptation_mode: &str,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adaptation_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backup`
[INFO] [stdout]     --> src/backup/recovery.rs:1262:9
[INFO] [stdout]      |
[INFO] [stdout] 1262 |         backup: &Backup,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nodes`
[INFO] [stdout]     --> src/backup/recovery.rs:1263:9
[INFO] [stdout]      |
[INFO] [stdout] 1263 |         nodes: &[EnvironmentNode],
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adaptation_mode`
[INFO] [stdout]     --> src/backup/recovery.rs:1264:9
[INFO] [stdout]      |
[INFO] [stdout] 1264 |         adaptation_mode: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adaptation_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/network/client.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         config: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/network/client.rs:298:9
[INFO] [stdout]     |
[INFO] [stdout] 298 |         config: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/network/client.rs:304:13
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let node = self.find_node_by_id(node_id).await?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backup`
[INFO] [stdout]     --> src/backup/recovery.rs:1262:9
[INFO] [stdout]      |
[INFO] [stdout] 1262 |         backup: &Backup,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nodes`
[INFO] [stdout]     --> src/backup/recovery.rs:1263:9
[INFO] [stdout]      |
[INFO] [stdout] 1263 |         nodes: &[EnvironmentNode],
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `adaptation_mode`
[INFO] [stdout]     --> src/backup/recovery.rs:1264:9
[INFO] [stdout]      |
[INFO] [stdout] 1264 |         adaptation_mode: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_adaptation_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/network/client.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         config: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/network/client.rs:298:9
[INFO] [stdout]     |
[INFO] [stdout] 298 |         config: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/network/client.rs:304:13
[INFO] [stdout]     |
[INFO] [stdout] 304 |         let node = self.find_node_by_id(node_id).await?;
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backup`
[INFO] [stdout]    --> src/backup/coordinator/manifest.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn create_recovery_scripts(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backup`
[INFO] [stdout]    --> src/backup/iso.rs:351:28
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn create_recovery_scripts(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backup`
[INFO] [stdout]    --> src/backup/coordinator/manifest.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn create_recovery_scripts(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backup`
[INFO] [stdout]    --> src/backup/iso.rs:351:28
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn create_recovery_scripts(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_backup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_apps_by_org` is never used
[INFO] [stdout]    --> src/db/v1/queries/app.rs:166:14
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub async fn get_apps_by_org(pool: &Pool<MySql>, org_id: i64) -> anyhow::Result<Vec<App>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_maintenance_mode` is never used
[INFO] [stdout]    --> src/db/v1/queries/app.rs:404:14
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub async fn set_maintenance_mode(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_alerts_by_app_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/alert.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub async fn get_alerts_by_app_id(pool: &Pool<MySql>, app_id: Option<i64>) -> anyhow::Result<Vec<Alert>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_audit_logs_by_resource` is never used
[INFO] [stdout]    --> src/db/v1/queries/audit_log.rs:161:14
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub async fn get_audit_logs_by_resource(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_audit_logs` is never used
[INFO] [stdout]    --> src/db/v1/queries/audit_log.rs:214:14
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub async fn get_user_audit_logs(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_org_audit_logs` is never used
[INFO] [stdout]    --> src/db/v1/queries/audit_log.rs:271:14
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub async fn get_org_audit_logs(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/build.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub async fn create_build(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/build.rs:203:14
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub async fn update_build(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/build.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub async fn delete_build(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_builds_for_app` is never used
[INFO] [stdout]    --> src/db/v1/queries/build.rs:288:14
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub async fn delete_builds_for_app(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_builds` is never used
[INFO] [stdout]   --> src/db/v1/queries/deployment.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub async fn list_builds(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<Vec<Build>> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_build_by_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/deployment.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub async fn get_build_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<Build> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_build` is never used
[INFO] [stdout]   --> src/db/v1/queries/deployment.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub async fn create_build(
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_build_status` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:143:14
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub async fn update_build_status(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_latest_successful_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:195:14
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub async fn get_latest_successful_build(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<Build> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:233:14
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub async fn delete_build(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_app_builds` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:275:14
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub async fn get_app_builds(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_deployments` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:322:14
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub async fn list_deployments(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<Vec<Deployment>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_deployment_by_id` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:354:14
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub async fn get_deployment_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<Deployment> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_deployment` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:393:14
[INFO] [stdout]     |
[INFO] [stdout] 393 | pub async fn create_deployment(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_deployment_status` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:443:14
[INFO] [stdout]     |
[INFO] [stdout] 443 | pub async fn update_deployment_status(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_latest_deployment` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:496:14
[INFO] [stdout]     |
[INFO] [stdout] 496 | pub async fn get_latest_deployment(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<Deployment> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_successful_deployments` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:534:14
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub async fn get_successful_deployments(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_deployment` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:578:14
[INFO] [stdout]     |
[INFO] [stdout] 578 | pub async fn delete_deployment(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_app_deployments` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:620:14
[INFO] [stdout]     |
[INFO] [stdout] 620 | pub async fn get_app_deployments(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_deployment_with_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:669:14
[INFO] [stdout]     |
[INFO] [stdout] 669 | pub async fn get_deployment_with_build(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_instance` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:111:14
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub async fn create_instance(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_instance_status` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:163:14
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub async fn update_instance_status(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_instance` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:218:14
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub async fn delete_instance(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_running_instances` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:254:14
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub async fn get_running_instances(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_running_instances` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:294:14
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub async fn count_running_instances(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<i64> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `terminate_all_instances` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:341:14
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub async fn terminate_all_instances(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_meta_table` is never used
[INFO] [stdout]   --> src/db/v1/queries/metadata.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub async fn create_meta_table(pool: &Pool<MySql>) -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `meta_table_exists` is never used
[INFO] [stdout]    --> src/db/v1/queries/metadata.rs:225:14
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub async fn meta_table_exists(pool: &Pool<MySql>) -> Result<bool> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_duplicate_keys` is never used
[INFO] [stdout]    --> src/db/v1/queries/metadata.rs:337:14
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub async fn cleanup_duplicate_keys(pool: &Pool<MySql>) -> Result<usize> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MetadataCache` is never constructed
[INFO] [stdout]    --> src/db/v1/queries/metadata.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 427 | pub struct MetadataCache {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `set`, and `refresh_cache` are never used
[INFO] [stdout]    --> src/db/v1/queries/metadata.rs:444:12
[INFO] [stdout]     |
[INFO] [stdout] 434 | impl MetadataCache {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub fn new(pool: Pool<MySql>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 472 |     pub async fn get(&mut self, key: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 507 |     pub async fn set(&mut self, key: &str, value: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     pub async fn refresh_cache(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_orgs` is never used
[INFO] [stdout]   --> src/db/v1/queries/org.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub async fn list_orgs(pool: &Pool<MySql>) -> anyhow::Result<Vec<Org>> {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_org_by_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/org.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub async fn get_org_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<Org> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_org` is never used
[INFO] [stdout]   --> src/db/v1/queries/org.rs:91:14
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub async fn create_org(pool: &Pool<MySql>, name: &str) -> anyhow::Result<Org> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_org` is never used
[INFO] [stdout]    --> src/db/v1/queries/org.rs:129:14
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub async fn update_org(pool: &Pool<MySql>, id: i64, name: &str) -> anyhow::Result<Org> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_org` is never used
[INFO] [stdout]    --> src/db/v1/queries/org.rs:177:14
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub async fn delete_org(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_org_member` is never used
[INFO] [stdout]    --> src/db/v1/queries/org.rs:218:14
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub async fn add_org_member(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_org_member` is never used
[INFO] [stdout]    --> src/db/v1/queries/org.rs:264:14
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub async fn remove_org_member(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_org_member_role` is never used
[INFO] [stdout]    --> src/db/v1/queries/org.rs:315:14
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub async fn update_org_member_role(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_roles` is never used
[INFO] [stdout]   --> src/db/v1/queries/permission.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub async fn list_roles(pool: &Pool<MySql>) -> anyhow::Result<Vec<Role>> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_role_by_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/permission.rs:59:14
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub async fn get_role_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<Role> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_role` is never used
[INFO] [stdout]   --> src/db/v1/queries/permission.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub async fn create_role(
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_role` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:139:14
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub async fn update_role(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_role` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:219:14
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub async fn delete_role(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_permission` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:387:14
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub async fn update_permission(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assign_permission_to_role` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:529:14
[INFO] [stdout]     |
[INFO] [stdout] 529 | pub async fn assign_permission_to_role(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_permission_from_role` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:573:14
[INFO] [stdout]     |
[INFO] [stdout] 573 | pub async fn remove_permission_from_role(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_role_permissions` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:611:14
[INFO] [stdout]     |
[INFO] [stdout] 611 | pub async fn get_role_permissions(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assign_role_to_user` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:665:14
[INFO] [stdout]     |
[INFO] [stdout] 665 | pub async fn assign_role_to_user(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_role_from_user` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:709:14
[INFO] [stdout]     |
[INFO] [stdout] 709 | pub async fn remove_role_from_user(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_roles` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:746:14
[INFO] [stdout]     |
[INFO] [stdout] 746 | pub async fn get_user_roles(pool: &Pool<MySql>, user_id: i64) -> anyhow::Result<Vec<Role>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_permissions` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:787:14
[INFO] [stdout]     |
[INFO] [stdout] 787 | pub async fn get_user_permissions(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_region_by_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/region.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub async fn get_region_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<Region> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_region` is never used
[INFO] [stdout]    --> src/db/v1/queries/region.rs:126:14
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub async fn create_region(
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_region_status` is never used
[INFO] [stdout]    --> src/db/v1/queries/region.rs:177:14
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub async fn update_region_status(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_region` is never used
[INFO] [stdout]    --> src/db/v1/queries/region.rs:228:14
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub async fn delete_region(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_active_regions` is never used
[INFO] [stdout]    --> src/db/v1/queries/region.rs:268:14
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub async fn get_active_regions(pool: &Pool<MySql>) -> anyhow::Result<Vec<Region>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_users` is never used
[INFO] [stdout]   --> src/db/v1/queries/user.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub async fn list_users(pool: &Pool<MySql>) -> anyhow::Result<Vec<User>> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_by_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/user.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub async fn get_user_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<User> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_by_email` is never used
[INFO] [stdout]   --> src/db/v1/queries/user.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub async fn get_user_by_email(pool: &Pool<MySql>, email: &str) -> anyhow::Result<User> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_user` is never used
[INFO] [stdout]    --> src/db/v1/queries/user.rs:188:14
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub async fn update_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_user` is never used
[INFO] [stdout]    --> src/db/v1/queries/user.rs:268:14
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub async fn delete_user(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_status` is never used
[INFO] [stdout]    --> src/db/v1/tables.rs:334:4
[INFO] [stdout]     |
[INFO] [stdout] 334 | fn default_status() -> WorkerStatus {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_id` and `state` are never read
[INFO] [stdout]   --> src/leader.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct LeaderElection {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 23 |     /// Unique identifier for the current node
[INFO] [stdout] 24 |     node_id: Arc<str>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     state: Arc<RwLock<SharedState>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start` and `election_cycle` are never used
[INFO] [stdout]    --> src/leader.rs:72:18
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl LeaderElection {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72  |     pub async fn start(&self) {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     async fn election_cycle(&self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/backup/model.rs:46:12
[INFO] [stdout]     |
[INFO] [stdout] 10  | impl Backup {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46  |     pub fn formatted_created_at(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51  |     pub fn is_successful(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56  |     pub fn set_success(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61  |     pub fn set_failed(&mut self, error_msg: Option<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71  |     pub fn set_size(&mut self, size: u64) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |     pub fn mark_validated(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81  |     pub fn mark_restored(&mut self, target_env: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88  |     pub fn has_system_components(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn age_in_days(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn create_backup_job(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn initialize_backup_environment(&self) -> Result<PathBuf, anyhow::Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackupJobStatus` is never constructed
[INFO] [stdout]  --> src/backup/coordinator/types.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct BackupJobStatus {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `BackupJobStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackupCoordinator` is never constructed
[INFO] [stdout]   --> src/backup/coordinator/coordinator.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BackupCoordinator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_backup`, and `launch_backup_jobs` are never used
[INFO] [stdout]    --> src/backup/coordinator/coordinator.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl BackupCoordinator {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 35  |     /// Create a new BackupCoordinator instance
[INFO] [stdout] 36  |     pub fn new(network_client: Arc<NetworkClient>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43  |     pub async fn start_backup(&self, backup: &mut Backup) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     async fn launch_backup_jobs(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_system_core` is never used
[INFO] [stdout]   --> src/backup/coordinator/system_core.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn backup_system_core(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_director` is never used
[INFO] [stdout]   --> src/backup/coordinator/director.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn backup_director(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_orchestrator` is never used
[INFO] [stdout]   --> src/backup/coordinator/orchestrator.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn backup_orchestrator(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_network_config` is never used
[INFO] [stdout]   --> src/backup/coordinator/network.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn backup_network_config(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_app_definitions` is never used
[INFO] [stdout]   --> src/backup/coordinator/app_definitions.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn backup_app_definitions(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_volume_data` is never used
[INFO] [stdout]   --> src/backup/coordinator/volume_data.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub async fn backup_volume_data(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_backup_manifest` is never used
[INFO] [stdout]   --> src/backup/coordinator/manifest.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn create_backup_manifest(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_recovery_index` is never used
[INFO] [stdout]   --> src/backup/coordinator/manifest.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn create_recovery_index(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_digital_signature` is never used
[INFO] [stdout]    --> src/backup/coordinator/manifest.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn create_digital_signature(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_recovery_scripts` is never used
[INFO] [stdout]    --> src/backup/coordinator/manifest.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn create_recovery_scripts(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IsoManager` is never constructed
[INFO] [stdout]   --> src/backup/iso.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct IsoManager {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/backup/iso.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout] 17  | impl IsoManager {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 18  |     /// Create a new IsoManager instance
[INFO] [stdout] 19  |     pub fn new(temp_dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26  |     pub fn validate_iso_structure(&self, iso_path: &Path) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49  |     pub fn create_iso_structure_template(&self, component_type: &str, backup_id: i32) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn create_iso_from_directory(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn encrypt_iso(&self, iso_path: &Path, encryption_method: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn extract_iso_to_directory(&self, iso_path: &Path, output_dir: &Path) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn get_iso_size(&self, iso_path: &Path) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn get_iso_metadata(&self, iso_path: &Path) -> Result<Value> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_backup_manifest` is never used
[INFO] [stdout]    --> src/backup/iso.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub fn create_backup_manifest(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_recovery_index` is never used
[INFO] [stdout]    --> src/backup/iso.rs:302:4
[INFO] [stdout]     |
[INFO] [stdout] 302 | fn create_recovery_index(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_digital_signature` is never used
[INFO] [stdout]    --> src/backup/iso.rs:326:4
[INFO] [stdout]     |
[INFO] [stdout] 326 | fn create_digital_signature(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_recovery_scripts` is never used
[INFO] [stdout]    --> src/backup/iso.rs:351:4
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn create_recovery_scripts(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackupValidator` is never constructed
[INFO] [stdout]   --> src/backup/validation.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct BackupValidator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_backup`, `deep_validate_isos`, and `verify_backup_completeness` are never used
[INFO] [stdout]    --> src/backup/validation.rs:21:12
[INFO] [stdout]     |
[INFO] [stdout] 19  | impl BackupValidator {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 20  |     /// Create a new BackupValidator instance
[INFO] [stdout] 21  |     pub fn new(temp_dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28  |     pub fn validate_backup(&self, backup: &mut Backup, backup_dir: Option<String>) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn deep_validate_isos(&self, backup: &mut Backup, backup_dir: Option<String>) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn verify_backup_completeness(&self, backup: &Backup) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackupExporter` is never constructed
[INFO] [stdout]   --> src/backup/export.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct BackupExporter {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/backup/export.rs:20:12
[INFO] [stdout]     |
[INFO] [stdout] 18  | impl BackupExporter {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 19  |     /// Create a new BackupExporter instance
[INFO] [stdout] 20  |     pub fn new(temp_dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27  |     fn copy_directory_recursive(&self, src: &Path, dst: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46  |     fn create_export_manifest(&self, backup: &Backup, export_dir: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83  |     pub fn prepare_for_export(&self, backup: &Backup, export_path: &Path) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn archive_backup(&self, backup: &Backup, archive_path: Option<&Path>) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn clean_old_backups(&self, backup_ids: &[i32], retention_days: i64) -> Result<Vec<i32>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn remove_backup(&self, backup: &Backup) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn export_metadata_only(&self, backup: &Backup, export_path: &Path) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 397 |     pub fn merge_backups(&self, backup_ids: &[i32], output_name: &str, storage_location: &Path) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecoveryJobStatus` is never constructed
[INFO] [stdout]   --> src/backup/recovery.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct RecoveryJobStatus {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryJobStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackupRecovery` is never constructed
[INFO] [stdout]   --> src/backup/recovery.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct BackupRecovery {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/backup/recovery.rs:41:12
[INFO] [stdout]      |
[INFO] [stdout] 39   | impl BackupRecovery {
[INFO] [stdout]      | ------------------- associated items in this implementation
[INFO] [stdout] 40   |     /// Create a new BackupRecovery instance
[INFO] [stdout] 41   |     pub fn new(network_client: Arc<NetworkClient>, temp_dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56   |     pub async fn start_recovery(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145  |     fn initialize_recovery_environment(&self, backup: &Backup) -> Result<PathBuf> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194  |     fn locate_backup_directory(&self, backup: &Backup) -> Result<PathBuf> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206  |     async fn register_target_environment(&self, environment_name: &str) -> Result<String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227  |     fn generate_recovery_plan(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320  |     async fn execute_recovery_plan(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425  |     async fn verify_stage_completion(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481  |     async fn finalize_recovery(&self, backup: &mut Backup, target_environment: &str) -> Result<()> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 504  |     async fn recover_infrastructure(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 559  |     async fn recover_system_core(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 658  |     async fn recover_directors(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 781  |     async fn recover_orchestrators(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 902  |     async fn recover_network(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1001 |     async fn recover_app_definitions(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1108 |     async fn recover_volume_data(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1260 |     async fn recover_finalization(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1317 |     fn find_component_iso(&self, backup: &Backup, prefix: &str) -> Result<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1344 |     fn find_component_isos(&self, backup: &Backup, prefix: &str) -> Result<Vec<String>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1379 |     pub fn get_recovery_status(&self, backup_id: i32) -> Result<Value> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1435 |     pub async fn cancel_recovery(&self, backup_id: i32) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_details`, `is_online`, and `to_json` are never used
[INFO] [stdout]    --> src/network/discovery.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl EnvironmentNode {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 86  |     /// Create a new EnvironmentNode with default values
[INFO] [stdout] 87  |     pub fn new(node_type: NodeType) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn with_details(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn is_online(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn to_json(&self) -> serde_json::Value {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NetworkClient` is never constructed
[INFO] [stdout]   --> src/network/client.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct NetworkClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NetworkClient` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/network/client.rs:27:12
[INFO] [stdout]     |
[INFO] [stdout] 25  | impl NetworkClient {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 26  |     /// Create a new NetworkClient instance
[INFO] [stdout] 27  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34  |     pub fn initialize(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn register_environment(&self, name: &str, nodes: Vec<EnvironmentNode>) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub async fn discover_environment(&self, environment: &str) -> Result<Vec<EnvironmentNode>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub async fn request_component_backup(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub async fn copy_file_from_node(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub async fn get_node_volumes(&self, node_id: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub async fn request_component_recovery(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     async fn find_node_by_id(&self, node_id: &str) -> Result<EnvironmentNode> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_nodes_and_self` and `is_node_alive` are never used
[INFO] [stdout]    --> src/cluster.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 54  | impl ClusterManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub async fn get_nodes_and_self(&self) -> Vec<NodeInfo> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub async fn is_node_alive(&self, node_uid: Arc<str>) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidMetricValue`, `ScalingFailed`, `MetricNotFound`, and `AgentError` are never constructed
[INFO] [stdout]   --> src/app_autoscaler/error.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub enum AutoscalerError {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 6  |     #[error("Invalid metric value: {0}")]
[INFO] [stdout] 7  |     InvalidMetricValue(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     ScalingFailed(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     MetricNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     AgentError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AutoscalerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_cloud`, `cpu_utilization`, `memory_utilization`, and `storage_utilization` are never used
[INFO] [stdout]    --> src/app_autoscaler/node_types.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout] 45  | impl Node {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 46  |     /// Create a new node with the specified capacity
[INFO] [stdout] 47  |     pub fn new(id: String, name: String, node_type: NodeType, agent_id: String, 
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 66  |     pub fn new_cloud(id: String, name: String, agent_id: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn cpu_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn memory_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn storage_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/app_autoscaler/agent.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait Agent: Send + Sync + std::fmt::Debug {
[INFO] [stdout]    |           ----- methods in this trait
[INFO] [stdout] 15 |     /// Get the unique ID of this agent
[INFO] [stdout] 16 |     async fn id(&self) -> String;
[INFO] [stdout]    |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     async fn get_nodes(&self) -> Result<Vec<Node>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     async fn get_node(&self, node_id: &str) -> Result<Node, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     async fn create_instance(&self, node_id: &str, name: &str, cpu: u32, memory: u32, storage: u32) 
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     async fn terminate_instance(&self, instance_id: &str) -> Result<(), AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     async fn get_instance(&self, instance_id: &str) -> Result<AppInstance, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     async fn get_instance_metrics(&self, instance_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `provider` and `region` are never read
[INFO] [stdout]   --> src/app_autoscaler/agent.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct CloudAgent {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     provider: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 48 |     /// Region for this cloud provider
[INFO] [stdout] 49 |     region: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudAgent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/app_autoscaler/agent.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl CloudAgent {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 57 |     /// Create a new cloud agent
[INFO] [stdout] 58 |     pub fn new(id: String, provider: String, region: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `collect_instance_metrics`, `collect_node_metrics`, and `collect_aggregate_metrics` are never used
[INFO] [stdout]   --> src/app_autoscaler/metrics.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait MetricsCollector: Send + Sync + std::fmt::Debug {
[INFO] [stdout]    |           ---------------- methods in this trait
[INFO] [stdout] 10 |     /// Collect metrics from a specific app instance
[INFO] [stdout] 11 |     async fn collect_instance_metrics(&self, instance_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     async fn collect_node_metrics(&self, node_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     async fn collect_aggregate_metrics(&self) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/app_autoscaler/app_autoscaler.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct AppAutoscaler {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub desired_worker_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub last_evaluation_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     scaling_history: Vec<(Instant, ScalingAction)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     nodes: HashMap<String, Node>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 36 |     /// Default app configuration
[INFO] [stdout] 37 |     default_app_config: AppConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     /// Default node preference for new app instances
[INFO] [stdout] 39 |     preferred_node_type: NodeType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     /// App template for creating new app instances
[INFO] [stdout] 41 |     app_template: AppTemplate,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 42 |     /// Metrics collector for gathering app instance and node metrics
[INFO] [stdout] 43 |     metrics_collector: Option<Arc<dyn MetricsCollector>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppAutoscaler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/app_autoscaler/app_autoscaler.rs:85:12
[INFO] [stdout]     |
[INFO] [stdout] 46  | impl AppAutoscaler {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn add_agent(&mut self, agent: Arc<dyn Agent>) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95  |     pub fn set_metrics_collector(&mut self, collector: Arc<dyn MetricsCollector>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn set_app_template(&mut self, template: AppTemplate) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn set_preferred_node_type(&mut self, node_type: NodeType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub async fn discover_nodes(&mut self) -> Result<(), AutoscalerError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     async fn find_available_node(&self, cpu: u32, memory: u32, storage: u32) -> Option<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     fn get_node_agent(&self, node_id: &str) -> Option<Arc<dyn Agent>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub async fn scale_up(&mut self) -> Result<usize, AutoscalerError> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub async fn scale_down(&mut self) -> Result<usize, AutoscalerError> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 480 |     pub fn get_scaling_history(&self) -> &[(Instant, ScalingAction)] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     pub fn get_scaling_stats(&self) -> HashMap<String, f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidMetricValue`, `ScalingFailed`, `MetricNotFound`, and `DirectorError` are never constructed
[INFO] [stdout]   --> src/worker_autoscaler/error.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub enum AutoscalerError {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 6  |     #[error("Invalid metric value: {0}")]
[INFO] [stdout] 7  |     InvalidMetricValue(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     ScalingFailed(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     MetricNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     DirectorError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AutoscalerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cpu_utilization`, `memory_utilization`, and `storage_utilization` are never used
[INFO] [stdout]    --> src/worker_autoscaler/node_types.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout] 45  | impl Node {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 46  |     /// Create a new node with the specified capacity
[INFO] [stdout] 47  |     pub fn new(id: String, name: String, node_type: NodeType, director_id: String, 
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn cpu_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn memory_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn storage_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_node`, `create_vm`, `terminate_vm`, `get_vm`, and `get_vm_metrics` are never used
[INFO] [stdout]   --> src/worker_autoscaler/director.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Director: Send + Sync + std::fmt::Debug {
[INFO] [stdout]    |           -------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     async fn get_node(&self, node_id: &str) -> Result<Node, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     async fn create_vm(&self, node_id: &str, name: &str, cpu: u32, memory: u32, storage: u32) 
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     async fn terminate_vm(&self, vm_id: &str) -> Result<(), AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     async fn get_vm(&self, vm_id: &str) -> Result<VM, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     async fn get_vm_metrics(&self, vm_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `provider` and `region` are never read
[INFO] [stdout]   --> src/worker_autoscaler/director.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct CloudDirector {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     provider: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 47 |     /// Region for this cloud provider
[INFO] [stdout] 48 |     region: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudDirector` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `collect_vm_metrics`, `collect_node_metrics`, and `collect_aggregate_metrics` are never used
[INFO] [stdout]   --> src/worker_autoscaler/metrics.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait MetricsCollector: Send + Sync + std::fmt::Debug {
[INFO] [stdout]    |           ---------------- methods in this trait
[INFO] [stdout] 10 |     /// Collect metrics from a specific VM
[INFO] [stdout] 11 |     async fn collect_vm_metrics(&self, vm_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     async fn collect_node_metrics(&self, node_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     async fn collect_aggregate_metrics(&self) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `desired_worker_count`, `last_evaluation_time`, `scaling_history`, `default_vm_config`, `preferred_node_type`, and `metrics_collector` are never read
[INFO] [stdout]   --> src/worker_autoscaler/worker_autoscaler.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct WorkerAutoscaler {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub desired_worker_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub last_evaluation_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     scaling_history: Vec<(Instant, ScalingAction)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     default_vm_config: VMConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     /// Default node preference for new VMs
[INFO] [stdout] 39 |     preferred_node_type: NodeType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     metrics_collector: Option<Arc<dyn MetricsCollector>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WorkerAutoscaler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/worker_autoscaler/worker_autoscaler.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout] 46  | impl WorkerAutoscaler {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 95  |     pub fn set_metrics_collector(&mut self, collector: Arc<dyn MetricsCollector>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn set_preferred_node_type(&mut self, node_type: NodeType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     async fn find_available_node(&self, cpu: u32, memory: u32, storage: u32) -> Option<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     fn get_node_director(&self, node_id: &str) -> Option<Arc<dyn Director>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub async fn scale_up(&mut self) -> Result<usize, AutoscalerError> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub async fn scale_down(&mut self) -> Result<usize, AutoscalerError> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 480 |     pub fn get_scaling_history(&self) -> &[(Instant, ScalingAction)] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     pub fn get_scaling_stats(&self) -> HashMap<String, f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/api/v1/platforms/subroutes/init.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         simulate_host_bootstrap(cloud_name.clone(), host).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = simulate_host_bootstrap(cloud_name.clone(), host).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/api/v1/platforms/subroutes/init.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         simulate_host_bootstrap(cloud_name.clone(), host).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let _ = simulate_host_bootstrap(cloud_name.clone(), host).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_apps_by_org` is never used
[INFO] [stdout]    --> src/db/v1/queries/app.rs:166:14
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub async fn get_apps_by_org(pool: &Pool<MySql>, org_id: i64) -> anyhow::Result<Vec<App>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_maintenance_mode` is never used
[INFO] [stdout]    --> src/db/v1/queries/app.rs:404:14
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub async fn set_maintenance_mode(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_alerts_by_app_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/alert.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub async fn get_alerts_by_app_id(pool: &Pool<MySql>, app_id: Option<i64>) -> anyhow::Result<Vec<Alert>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_audit_logs_by_resource` is never used
[INFO] [stdout]    --> src/db/v1/queries/audit_log.rs:161:14
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub async fn get_audit_logs_by_resource(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_audit_logs` is never used
[INFO] [stdout]    --> src/db/v1/queries/audit_log.rs:214:14
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub async fn get_user_audit_logs(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_org_audit_logs` is never used
[INFO] [stdout]    --> src/db/v1/queries/audit_log.rs:271:14
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub async fn get_org_audit_logs(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/build.rs:148:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub async fn create_build(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/build.rs:203:14
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub async fn update_build(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/build.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub async fn delete_build(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_builds_for_app` is never used
[INFO] [stdout]    --> src/db/v1/queries/build.rs:288:14
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub async fn delete_builds_for_app(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_builds` is never used
[INFO] [stdout]   --> src/db/v1/queries/deployment.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub async fn list_builds(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<Vec<Build>> {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_build_by_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/deployment.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub async fn get_build_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<Build> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_build` is never used
[INFO] [stdout]   --> src/db/v1/queries/deployment.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub async fn create_build(
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_build_status` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:143:14
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub async fn update_build_status(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_latest_successful_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:195:14
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub async fn get_latest_successful_build(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<Build> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:233:14
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub async fn delete_build(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_app_builds` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:275:14
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub async fn get_app_builds(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_deployments` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:322:14
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub async fn list_deployments(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<Vec<Deployment>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_deployment_by_id` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:354:14
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub async fn get_deployment_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<Deployment> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_deployment` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:393:14
[INFO] [stdout]     |
[INFO] [stdout] 393 | pub async fn create_deployment(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_deployment_status` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:443:14
[INFO] [stdout]     |
[INFO] [stdout] 443 | pub async fn update_deployment_status(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_latest_deployment` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:496:14
[INFO] [stdout]     |
[INFO] [stdout] 496 | pub async fn get_latest_deployment(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<Deployment> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_successful_deployments` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:534:14
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub async fn get_successful_deployments(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_deployment` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:578:14
[INFO] [stdout]     |
[INFO] [stdout] 578 | pub async fn delete_deployment(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_app_deployments` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:620:14
[INFO] [stdout]     |
[INFO] [stdout] 620 | pub async fn get_app_deployments(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_deployment_with_build` is never used
[INFO] [stdout]    --> src/db/v1/queries/deployment.rs:669:14
[INFO] [stdout]     |
[INFO] [stdout] 669 | pub async fn get_deployment_with_build(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_instance` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:111:14
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub async fn create_instance(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_instance_status` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:163:14
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub async fn update_instance_status(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_instance` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:218:14
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub async fn delete_instance(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_running_instances` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:254:14
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub async fn get_running_instances(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_running_instances` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:294:14
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub async fn count_running_instances(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<i64> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `terminate_all_instances` is never used
[INFO] [stdout]    --> src/db/v1/queries/instance.rs:341:14
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub async fn terminate_all_instances(pool: &Pool<MySql>, app_id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_meta_table` is never used
[INFO] [stdout]   --> src/db/v1/queries/metadata.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub async fn create_meta_table(pool: &Pool<MySql>) -> Result<()> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `meta_table_exists` is never used
[INFO] [stdout]    --> src/db/v1/queries/metadata.rs:225:14
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub async fn meta_table_exists(pool: &Pool<MySql>) -> Result<bool> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_duplicate_keys` is never used
[INFO] [stdout]    --> src/db/v1/queries/metadata.rs:337:14
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub async fn cleanup_duplicate_keys(pool: &Pool<MySql>) -> Result<usize> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MetadataCache` is never constructed
[INFO] [stdout]    --> src/db/v1/queries/metadata.rs:427:12
[INFO] [stdout]     |
[INFO] [stdout] 427 | pub struct MetadataCache {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `set`, and `refresh_cache` are never used
[INFO] [stdout]    --> src/db/v1/queries/metadata.rs:444:12
[INFO] [stdout]     |
[INFO] [stdout] 434 | impl MetadataCache {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub fn new(pool: Pool<MySql>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 472 |     pub async fn get(&mut self, key: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 507 |     pub async fn set(&mut self, key: &str, value: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     pub async fn refresh_cache(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_orgs` is never used
[INFO] [stdout]   --> src/db/v1/queries/org.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub async fn list_orgs(pool: &Pool<MySql>) -> anyhow::Result<Vec<Org>> {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_org_by_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/org.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub async fn get_org_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<Org> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_org` is never used
[INFO] [stdout]   --> src/db/v1/queries/org.rs:91:14
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub async fn create_org(pool: &Pool<MySql>, name: &str) -> anyhow::Result<Org> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_org` is never used
[INFO] [stdout]    --> src/db/v1/queries/org.rs:129:14
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub async fn update_org(pool: &Pool<MySql>, id: i64, name: &str) -> anyhow::Result<Org> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_org` is never used
[INFO] [stdout]    --> src/db/v1/queries/org.rs:177:14
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub async fn delete_org(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_org_member` is never used
[INFO] [stdout]    --> src/db/v1/queries/org.rs:218:14
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub async fn add_org_member(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_org_member` is never used
[INFO] [stdout]    --> src/db/v1/queries/org.rs:264:14
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub async fn remove_org_member(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_org_member_role` is never used
[INFO] [stdout]    --> src/db/v1/queries/org.rs:315:14
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub async fn update_org_member_role(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_roles` is never used
[INFO] [stdout]   --> src/db/v1/queries/permission.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub async fn list_roles(pool: &Pool<MySql>) -> anyhow::Result<Vec<Role>> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_role_by_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/permission.rs:59:14
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub async fn get_role_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<Role> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_role` is never used
[INFO] [stdout]   --> src/db/v1/queries/permission.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub async fn create_role(
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_role` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:139:14
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub async fn update_role(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_role` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:219:14
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub async fn delete_role(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_permission` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:387:14
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub async fn update_permission(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assign_permission_to_role` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:529:14
[INFO] [stdout]     |
[INFO] [stdout] 529 | pub async fn assign_permission_to_role(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_permission_from_role` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:573:14
[INFO] [stdout]     |
[INFO] [stdout] 573 | pub async fn remove_permission_from_role(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_role_permissions` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:611:14
[INFO] [stdout]     |
[INFO] [stdout] 611 | pub async fn get_role_permissions(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assign_role_to_user` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:665:14
[INFO] [stdout]     |
[INFO] [stdout] 665 | pub async fn assign_role_to_user(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_role_from_user` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:709:14
[INFO] [stdout]     |
[INFO] [stdout] 709 | pub async fn remove_role_from_user(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_roles` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:746:14
[INFO] [stdout]     |
[INFO] [stdout] 746 | pub async fn get_user_roles(pool: &Pool<MySql>, user_id: i64) -> anyhow::Result<Vec<Role>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_permissions` is never used
[INFO] [stdout]    --> src/db/v1/queries/permission.rs:787:14
[INFO] [stdout]     |
[INFO] [stdout] 787 | pub async fn get_user_permissions(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_region_by_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/region.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub async fn get_region_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<Region> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_region` is never used
[INFO] [stdout]    --> src/db/v1/queries/region.rs:126:14
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub async fn create_region(
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_region_status` is never used
[INFO] [stdout]    --> src/db/v1/queries/region.rs:177:14
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub async fn update_region_status(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_region` is never used
[INFO] [stdout]    --> src/db/v1/queries/region.rs:228:14
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub async fn delete_region(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_active_regions` is never used
[INFO] [stdout]    --> src/db/v1/queries/region.rs:268:14
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub async fn get_active_regions(pool: &Pool<MySql>) -> anyhow::Result<Vec<Region>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_users` is never used
[INFO] [stdout]   --> src/db/v1/queries/user.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub async fn list_users(pool: &Pool<MySql>) -> anyhow::Result<Vec<User>> {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_by_id` is never used
[INFO] [stdout]   --> src/db/v1/queries/user.rs:55:14
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub async fn get_user_by_id(pool: &Pool<MySql>, id: i64) -> anyhow::Result<User> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_user_by_email` is never used
[INFO] [stdout]   --> src/db/v1/queries/user.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub async fn get_user_by_email(pool: &Pool<MySql>, email: &str) -> anyhow::Result<User> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_user` is never used
[INFO] [stdout]    --> src/db/v1/queries/user.rs:188:14
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub async fn update_user(
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_user` is never used
[INFO] [stdout]    --> src/db/v1/queries/user.rs:268:14
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub async fn delete_user(pool: &Pool<MySql>, id: i64) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_status` is never used
[INFO] [stdout]    --> src/db/v1/tables.rs:334:4
[INFO] [stdout]     |
[INFO] [stdout] 334 | fn default_status() -> WorkerStatus {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `node_id` and `state` are never read
[INFO] [stdout]   --> src/leader.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct LeaderElection {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 23 |     /// Unique identifier for the current node
[INFO] [stdout] 24 |     node_id: Arc<str>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     state: Arc<RwLock<SharedState>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `start` and `election_cycle` are never used
[INFO] [stdout]    --> src/leader.rs:72:18
[INFO] [stdout]     |
[INFO] [stdout] 36  | impl LeaderElection {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72  |     pub async fn start(&self) {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     async fn election_cycle(&self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/backup/model.rs:46:12
[INFO] [stdout]     |
[INFO] [stdout] 10  | impl Backup {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46  |     pub fn formatted_created_at(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51  |     pub fn is_successful(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56  |     pub fn set_success(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61  |     pub fn set_failed(&mut self, error_msg: Option<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71  |     pub fn set_size(&mut self, size: u64) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |     pub fn mark_validated(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81  |     pub fn mark_restored(&mut self, target_env: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88  |     pub fn has_system_components(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn age_in_days(&self) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn create_backup_job(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn initialize_backup_environment(&self) -> Result<PathBuf, anyhow::Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackupJobStatus` is never constructed
[INFO] [stdout]  --> src/backup/coordinator/types.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct BackupJobStatus {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `BackupJobStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackupCoordinator` is never constructed
[INFO] [stdout]   --> src/backup/coordinator/coordinator.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BackupCoordinator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_backup`, and `launch_backup_jobs` are never used
[INFO] [stdout]    --> src/backup/coordinator/coordinator.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl BackupCoordinator {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 35  |     /// Create a new BackupCoordinator instance
[INFO] [stdout] 36  |     pub fn new(network_client: Arc<NetworkClient>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43  |     pub async fn start_backup(&self, backup: &mut Backup) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     async fn launch_backup_jobs(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_system_core` is never used
[INFO] [stdout]   --> src/backup/coordinator/system_core.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn backup_system_core(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_director` is never used
[INFO] [stdout]   --> src/backup/coordinator/director.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn backup_director(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_orchestrator` is never used
[INFO] [stdout]   --> src/backup/coordinator/orchestrator.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn backup_orchestrator(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_network_config` is never used
[INFO] [stdout]   --> src/backup/coordinator/network.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn backup_network_config(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_app_definitions` is never used
[INFO] [stdout]   --> src/backup/coordinator/app_definitions.rs:19:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub async fn backup_app_definitions(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `backup_volume_data` is never used
[INFO] [stdout]   --> src/backup/coordinator/volume_data.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub async fn backup_volume_data(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_backup_manifest` is never used
[INFO] [stdout]   --> src/backup/coordinator/manifest.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn create_backup_manifest(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_recovery_index` is never used
[INFO] [stdout]   --> src/backup/coordinator/manifest.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn create_recovery_index(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_digital_signature` is never used
[INFO] [stdout]    --> src/backup/coordinator/manifest.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn create_digital_signature(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_recovery_scripts` is never used
[INFO] [stdout]    --> src/backup/coordinator/manifest.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn create_recovery_scripts(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IsoManager` is never constructed
[INFO] [stdout]   --> src/backup/iso.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct IsoManager {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/backup/iso.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout] 17  | impl IsoManager {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 18  |     /// Create a new IsoManager instance
[INFO] [stdout] 19  |     pub fn new(temp_dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26  |     pub fn validate_iso_structure(&self, iso_path: &Path) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49  |     pub fn create_iso_structure_template(&self, component_type: &str, backup_id: i32) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn create_iso_from_directory(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn encrypt_iso(&self, iso_path: &Path, encryption_method: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn extract_iso_to_directory(&self, iso_path: &Path, output_dir: &Path) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn get_iso_size(&self, iso_path: &Path) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn get_iso_metadata(&self, iso_path: &Path) -> Result<Value> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_backup_manifest` is never used
[INFO] [stdout]    --> src/backup/iso.rs:231:8
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub fn create_backup_manifest(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_recovery_index` is never used
[INFO] [stdout]    --> src/backup/iso.rs:302:4
[INFO] [stdout]     |
[INFO] [stdout] 302 | fn create_recovery_index(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_digital_signature` is never used
[INFO] [stdout]    --> src/backup/iso.rs:326:4
[INFO] [stdout]     |
[INFO] [stdout] 326 | fn create_digital_signature(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_recovery_scripts` is never used
[INFO] [stdout]    --> src/backup/iso.rs:351:4
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn create_recovery_scripts(backup: &Backup, backup_dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackupValidator` is never constructed
[INFO] [stdout]   --> src/backup/validation.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct BackupValidator {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `validate_backup`, `deep_validate_isos`, and `verify_backup_completeness` are never used
[INFO] [stdout]    --> src/backup/validation.rs:21:12
[INFO] [stdout]     |
[INFO] [stdout] 19  | impl BackupValidator {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 20  |     /// Create a new BackupValidator instance
[INFO] [stdout] 21  |     pub fn new(temp_dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28  |     pub fn validate_backup(&self, backup: &mut Backup, backup_dir: Option<String>) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn deep_validate_isos(&self, backup: &mut Backup, backup_dir: Option<String>) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn verify_backup_completeness(&self, backup: &Backup) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackupExporter` is never constructed
[INFO] [stdout]   --> src/backup/export.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct BackupExporter {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/backup/export.rs:20:12
[INFO] [stdout]     |
[INFO] [stdout] 18  | impl BackupExporter {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 19  |     /// Create a new BackupExporter instance
[INFO] [stdout] 20  |     pub fn new(temp_dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27  |     fn copy_directory_recursive(&self, src: &Path, dst: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46  |     fn create_export_manifest(&self, backup: &Backup, export_dir: &Path) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83  |     pub fn prepare_for_export(&self, backup: &Backup, export_path: &Path) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn archive_backup(&self, backup: &Backup, archive_path: Option<&Path>) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn clean_old_backups(&self, backup_ids: &[i32], retention_days: i64) -> Result<Vec<i32>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn remove_backup(&self, backup: &Backup) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn export_metadata_only(&self, backup: &Backup, export_path: &Path) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 397 |     pub fn merge_backups(&self, backup_ids: &[i32], output_name: &str, storage_location: &Path) -> Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecoveryJobStatus` is never constructed
[INFO] [stdout]   --> src/backup/recovery.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct RecoveryJobStatus {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryJobStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BackupRecovery` is never constructed
[INFO] [stdout]   --> src/backup/recovery.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct BackupRecovery {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/backup/recovery.rs:41:12
[INFO] [stdout]      |
[INFO] [stdout] 39   | impl BackupRecovery {
[INFO] [stdout]      | ------------------- associated items in this implementation
[INFO] [stdout] 40   |     /// Create a new BackupRecovery instance
[INFO] [stdout] 41   |     pub fn new(network_client: Arc<NetworkClient>, temp_dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56   |     pub async fn start_recovery(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145  |     fn initialize_recovery_environment(&self, backup: &Backup) -> Result<PathBuf> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194  |     fn locate_backup_directory(&self, backup: &Backup) -> Result<PathBuf> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206  |     async fn register_target_environment(&self, environment_name: &str) -> Result<String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227  |     fn generate_recovery_plan(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320  |     async fn execute_recovery_plan(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425  |     async fn verify_stage_completion(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481  |     async fn finalize_recovery(&self, backup: &mut Backup, target_environment: &str) -> Result<()> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 504  |     async fn recover_infrastructure(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 559  |     async fn recover_system_core(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 658  |     async fn recover_directors(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 781  |     async fn recover_orchestrators(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 902  |     async fn recover_network(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1001 |     async fn recover_app_definitions(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1108 |     async fn recover_volume_data(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1260 |     async fn recover_finalization(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1317 |     fn find_component_iso(&self, backup: &Backup, prefix: &str) -> Result<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1344 |     fn find_component_isos(&self, backup: &Backup, prefix: &str) -> Result<Vec<String>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1379 |     pub fn get_recovery_status(&self, backup_id: i32) -> Result<Value> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1435 |     pub async fn cancel_recovery(&self, backup_id: i32) -> Result<()> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_details`, `is_online`, and `to_json` are never used
[INFO] [stdout]    --> src/network/discovery.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout] 85  | impl EnvironmentNode {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 86  |     /// Create a new EnvironmentNode with default values
[INFO] [stdout] 87  |     pub fn new(node_type: NodeType) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn with_details(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn is_online(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn to_json(&self) -> serde_json::Value {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NetworkClient` is never constructed
[INFO] [stdout]   --> src/network/client.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct NetworkClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NetworkClient` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/network/client.rs:27:12
[INFO] [stdout]     |
[INFO] [stdout] 25  | impl NetworkClient {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 26  |     /// Create a new NetworkClient instance
[INFO] [stdout] 27  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34  |     pub fn initialize(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn register_environment(&self, name: &str, nodes: Vec<EnvironmentNode>) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub async fn discover_environment(&self, environment: &str) -> Result<Vec<EnvironmentNode>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub async fn request_component_backup(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub async fn copy_file_from_node(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub async fn get_node_volumes(&self, node_id: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub async fn request_component_recovery(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     async fn find_node_by_id(&self, node_id: &str) -> Result<EnvironmentNode> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_nodes_and_self` and `is_node_alive` are never used
[INFO] [stdout]    --> src/cluster.rs:198:18
[INFO] [stdout]     |
[INFO] [stdout] 54  | impl ClusterManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub async fn get_nodes_and_self(&self) -> Vec<NodeInfo> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub async fn is_node_alive(&self, node_uid: Arc<str>) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidMetricValue`, `ScalingFailed`, `MetricNotFound`, and `AgentError` are never constructed
[INFO] [stdout]   --> src/app_autoscaler/error.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub enum AutoscalerError {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 6  |     #[error("Invalid metric value: {0}")]
[INFO] [stdout] 7  |     InvalidMetricValue(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     ScalingFailed(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     MetricNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     AgentError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AutoscalerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_cloud`, `cpu_utilization`, `memory_utilization`, and `storage_utilization` are never used
[INFO] [stdout]    --> src/app_autoscaler/node_types.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout] 45  | impl Node {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 46  |     /// Create a new node with the specified capacity
[INFO] [stdout] 47  |     pub fn new(id: String, name: String, node_type: NodeType, agent_id: String, 
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 66  |     pub fn new_cloud(id: String, name: String, agent_id: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn cpu_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn memory_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn storage_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/app_autoscaler/agent.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait Agent: Send + Sync + std::fmt::Debug {
[INFO] [stdout]    |           ----- methods in this trait
[INFO] [stdout] 15 |     /// Get the unique ID of this agent
[INFO] [stdout] 16 |     async fn id(&self) -> String;
[INFO] [stdout]    |              ^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     async fn get_nodes(&self) -> Result<Vec<Node>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     async fn get_node(&self, node_id: &str) -> Result<Node, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     async fn create_instance(&self, node_id: &str, name: &str, cpu: u32, memory: u32, storage: u32) 
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     async fn terminate_instance(&self, instance_id: &str) -> Result<(), AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     async fn get_instance(&self, instance_id: &str) -> Result<AppInstance, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     async fn get_instance_metrics(&self, instance_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `provider` and `region` are never read
[INFO] [stdout]   --> src/app_autoscaler/agent.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct CloudAgent {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     provider: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 48 |     /// Region for this cloud provider
[INFO] [stdout] 49 |     region: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudAgent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/app_autoscaler/agent.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl CloudAgent {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 57 |     /// Create a new cloud agent
[INFO] [stdout] 58 |     pub fn new(id: String, provider: String, region: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `collect_instance_metrics`, `collect_node_metrics`, and `collect_aggregate_metrics` are never used
[INFO] [stdout]   --> src/app_autoscaler/metrics.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait MetricsCollector: Send + Sync + std::fmt::Debug {
[INFO] [stdout]    |           ---------------- methods in this trait
[INFO] [stdout] 10 |     /// Collect metrics from a specific app instance
[INFO] [stdout] 11 |     async fn collect_instance_metrics(&self, instance_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     async fn collect_node_metrics(&self, node_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     async fn collect_aggregate_metrics(&self) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/app_autoscaler/app_autoscaler.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct AppAutoscaler {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub desired_worker_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub last_evaluation_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     scaling_history: Vec<(Instant, ScalingAction)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     nodes: HashMap<String, Node>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 36 |     /// Default app configuration
[INFO] [stdout] 37 |     default_app_config: AppConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     /// Default node preference for new app instances
[INFO] [stdout] 39 |     preferred_node_type: NodeType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     /// App template for creating new app instances
[INFO] [stdout] 41 |     app_template: AppTemplate,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 42 |     /// Metrics collector for gathering app instance and node metrics
[INFO] [stdout] 43 |     metrics_collector: Option<Arc<dyn MetricsCollector>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppAutoscaler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/app_autoscaler/app_autoscaler.rs:85:12
[INFO] [stdout]     |
[INFO] [stdout] 46  | impl AppAutoscaler {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn add_agent(&mut self, agent: Arc<dyn Agent>) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95  |     pub fn set_metrics_collector(&mut self, collector: Arc<dyn MetricsCollector>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn set_app_template(&mut self, template: AppTemplate) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn set_preferred_node_type(&mut self, node_type: NodeType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub async fn discover_nodes(&mut self) -> Result<(), AutoscalerError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     async fn find_available_node(&self, cpu: u32, memory: u32, storage: u32) -> Option<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     fn get_node_agent(&self, node_id: &str) -> Option<Arc<dyn Agent>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub async fn scale_up(&mut self) -> Result<usize, AutoscalerError> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub async fn scale_down(&mut self) -> Result<usize, AutoscalerError> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 480 |     pub fn get_scaling_history(&self) -> &[(Instant, ScalingAction)] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     pub fn get_scaling_stats(&self) -> HashMap<String, f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidMetricValue`, `ScalingFailed`, `MetricNotFound`, and `DirectorError` are never constructed
[INFO] [stdout]   --> src/worker_autoscaler/error.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub enum AutoscalerError {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 6  |     #[error("Invalid metric value: {0}")]
[INFO] [stdout] 7  |     InvalidMetricValue(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     ScalingFailed(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     MetricNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     DirectorError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AutoscalerError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cpu_utilization`, `memory_utilization`, and `storage_utilization` are never used
[INFO] [stdout]    --> src/worker_autoscaler/node_types.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout] 45  | impl Node {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 46  |     /// Create a new node with the specified capacity
[INFO] [stdout] 47  |     pub fn new(id: String, name: String, node_type: NodeType, director_id: String, 
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn cpu_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn memory_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn storage_utilization(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_node`, `create_vm`, `terminate_vm`, `get_vm`, and `get_vm_metrics` are never used
[INFO] [stdout]   --> src/worker_autoscaler/director.rs:21:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait Director: Send + Sync + std::fmt::Debug {
[INFO] [stdout]    |           -------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 21 |     async fn get_node(&self, node_id: &str) -> Result<Node, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     async fn create_vm(&self, node_id: &str, name: &str, cpu: u32, memory: u32, storage: u32) 
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     async fn terminate_vm(&self, vm_id: &str) -> Result<(), AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     async fn get_vm(&self, vm_id: &str) -> Result<VM, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     async fn get_vm_metrics(&self, vm_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `provider` and `region` are never read
[INFO] [stdout]   --> src/worker_autoscaler/director.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct CloudDirector {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     provider: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 47 |     /// Region for this cloud provider
[INFO] [stdout] 48 |     region: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CloudDirector` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `collect_vm_metrics`, `collect_node_metrics`, and `collect_aggregate_metrics` are never used
[INFO] [stdout]   --> src/worker_autoscaler/metrics.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub trait MetricsCollector: Send + Sync + std::fmt::Debug {
[INFO] [stdout]    |           ---------------- methods in this trait
[INFO] [stdout] 10 |     /// Collect metrics from a specific VM
[INFO] [stdout] 11 |     async fn collect_vm_metrics(&self, vm_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     async fn collect_node_metrics(&self, node_id: &str) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     async fn collect_aggregate_metrics(&self) -> Result<HashMap<String, f32>, AutoscalerError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `desired_worker_count`, `last_evaluation_time`, `scaling_history`, `default_vm_config`, `preferred_node_type`, and `metrics_collector` are never read
[INFO] [stdout]   --> src/worker_autoscaler/worker_autoscaler.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct WorkerAutoscaler {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub desired_worker_count: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub last_evaluation_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     scaling_history: Vec<(Instant, ScalingAction)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     default_vm_config: VMConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     /// Default node preference for new VMs
[INFO] [stdout] 39 |     preferred_node_type: NodeType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     metrics_collector: Option<Arc<dyn MetricsCollector>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WorkerAutoscaler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/worker_autoscaler/worker_autoscaler.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout] 46  | impl WorkerAutoscaler {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 95  |     pub fn set_metrics_collector(&mut self, collector: Arc<dyn MetricsCollector>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn set_preferred_node_type(&mut self, node_type: NodeType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     async fn find_available_node(&self, cpu: u32, memory: u32, storage: u32) -> Option<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     fn get_node_director(&self, node_id: &str) -> Option<Arc<dyn Director>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub async fn scale_up(&mut self) -> Result<usize, AutoscalerError> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub async fn scale_down(&mut self) -> Result<usize, AutoscalerError> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 480 |     pub fn get_scaling_history(&self) -> &[(Instant, ScalingAction)] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     pub fn get_scaling_stats(&self) -> HashMap<String, f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/api/v1/platforms/subroutes/init.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         simulate_host_bootstrap(cloud_name.clone(), host).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = simulate_host_bootstrap(cloud_name.clone(), host).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/api/v1/platforms/subroutes/init.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         simulate_host_bootstrap(cloud_name.clone(), host).await;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let _ = simulate_host_bootstrap(cloud_name.clone(), host).await;
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 57s
[INFO] running `Command { std: "docker" "inspect" "6898ea1c60683e0405adaf7e6f50d6fed3f28929899ac75eba5fec656da575b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6898ea1c60683e0405adaf7e6f50d6fed3f28929899ac75eba5fec656da575b6", kill_on_drop: false }`
[INFO] [stdout] 6898ea1c60683e0405adaf7e6f50d6fed3f28929899ac75eba5fec656da575b6
