[INFO] fetching crate ferrexctl 0.1.2-alpha...
[INFO] checking ferrexctl-0.1.2-alpha against try#1779a8680dcd39c56ed600627cf6742ef07ed78c for pr-149045
[INFO] extracting crate ferrexctl 0.1.2-alpha into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate ferrexctl 0.1.2-alpha
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ferrexctl 0.1.2-alpha
[INFO] tweaked toml for crates.io crate ferrexctl 0.1.2-alpha written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ferrexctl 0.1.2-alpha on toolchain 1779a8680dcd39c56ed600627cf6742ef07ed78c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ferrexctl 0.1.2-alpha 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" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fe41a0c541ad13de72728a3e80d7a7ddf4ee45c15bcac5442c23558ff97aa435
[INFO] running `Command { std: "docker" "start" "-a" "fe41a0c541ad13de72728a3e80d7a7ddf4ee45c15bcac5442c23558ff97aa435", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fe41a0c541ad13de72728a3e80d7a7ddf4ee45c15bcac5442c23558ff97aa435", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe41a0c541ad13de72728a3e80d7a7ddf4ee45c15bcac5442c23558ff97aa435", kill_on_drop: false }`
[INFO] [stdout] fe41a0c541ad13de72728a3e80d7a7ddf4ee45c15bcac5442c23558ff97aa435
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 086ae3d0f85c1e8657f51b9c0b921308c5d6414e9ab64d771268f9843af01838
[INFO] running `Command { std: "docker" "start" "-a" "086ae3d0f85c1e8657f51b9c0b921308c5d6414e9ab64d771268f9843af01838", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rust_decimal v1.41.0
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]    Compiling bigdecimal v0.4.10
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling ipnetwork v0.20.0
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking rustls-webpki v0.103.10
[INFO] [stderr]     Checking iri-string v0.7.11
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking whoami v1.6.1
[INFO] [stderr]     Checking winnow v1.0.0
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking backon v1.6.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking toml_parser v1.1.0+spec-1.1.0
[INFO] [stderr]     Checking tungstenite v0.28.0
[INFO] [stderr]     Checking arc-swap v1.9.0
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling stability v0.2.1
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]     Checking toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.1.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking toml_writer v1.1.0+spec-1.1.0
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking xxhash-rust v0.8.15
[INFO] [stderr]     Checking predicates-core v1.0.10
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking arcstr v1.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-tungstenite v0.28.0
[INFO] [stderr]     Checking dialoguer v0.11.0
[INFO] [stderr]     Checking float-cmp v0.10.0
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]     Checking ratatui v0.26.3
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]     Checking normalize-line-endings v0.3.0
[INFO] [stderr]     Checking which v6.0.3
[INFO] [stderr]     Checking predicates-tree v1.0.13
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking toml v0.9.12+spec-1.1.0
[INFO] [stderr]     Checking sqlx-postgres v0.8.6
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking redis v1.1.0
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking axum v0.8.8
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking tmdb-api v1.0.0-alpha.5
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking ferrex-model v0.1.2-alpha
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking ferrexctl v0.1.2-alpha (/opt/rustwide/workdir)
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod loader;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod models;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub mod packaging_config;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub mod util;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub mod validation;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod db;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod options;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod package;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod prompt_menu;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod specs;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod state;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod tui;
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub mod utils;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/mod.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     Db,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Auth,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/mod.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     All,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/mod.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub kv: Vec<(String, String)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/mod.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub rotated_keys: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/mod.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub async fn run_config_init(opts: &InitOptions) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/mod.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | / pub async fn generate_init_kv(
[INFO] [stdout] 77 | |     opts: &InitOptions,
[INFO] [stdout] 78 | | ) -> Result<Vec<(String, String)>> {
[INFO] [stdout]    | |__________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/mod.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub async fn gen_init_merge_env(opts: &InitOptions) -> Result<InitOutcome> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/mod.rs:759:1
[INFO] [stdout]     |
[INFO] [stdout] 759 | pub async fn run_config_check(opts: &CheckOptions) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/db.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub async fn stack_db_preflight(
[INFO] [stdout] 20 | |     opts: &options::StackOptions,
[INFO] [stdout] 21 | |     extra_args: &str,
[INFO] [stdout] 22 | | ) -> Result<()> {
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/db.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | / pub async fn stack_db_migrate(
[INFO] [stdout] 88 | |     opts: &options::StackOptions,
[INFO] [stdout] 89 | |     extra_args: &str,
[INFO] [stdout] 90 | | ) -> Result<()> {
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub env_file: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub mode: StackMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub profile: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub rust_log: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub wild: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub server_mode: ServerMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub reset_db: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub clean: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub init_non_interactive: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub init_advanced: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub init_tui: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub force_init: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub project_name_override: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub tailscale_serve: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub env_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub non_interactive: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub advanced: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub tailscale: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub rotate: RotateTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub force: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub tui: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub postgres_preset: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/cli/options.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn new(env_path: PathBuf, advanced: bool) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/cli/options.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn new_non_interactive(env_path: PathBuf, advanced: bool) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/cli/options.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub config_path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/cli/options.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub env_file: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/cli/options.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub tls_cert_path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/cli/options.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub tls_key_path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]     --> src/cli/package/mod.rs:1334:1
[INFO] [stdout]      |
[INFO] [stdout] 1334 | / pub async fn package_windows(
[INFO] [stdout] 1335 | |     target: &str,
[INFO] [stdout] 1336 | |     profile: &str,
[INFO] [stdout] 1337 | |     gst_root_override: Option<&Path>,
[INFO] [stdout] 1338 | |     out_dir: Option<&Path>,
[INFO] [stdout] 1339 | |     dry_run: bool,
[INFO] [stdout] 1340 | | ) -> Result<()> {
[INFO] [stdout]      | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/prompt_menu.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | / pub fn run_prompt_menu(
[INFO] [stdout] 14 | |     state: &mut state::PromptState,
[INFO] [stdout] 15 | |     advanced: bool,
[INFO] [stdout] 16 | | ) -> Result<()> {
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/prompt_menu.rs:299:1
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub fn menu_label(state: &state::PromptState, item: MenuItem) -> String {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/specs/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod init_spec;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/specs/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub program: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/specs/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub args: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/specs/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub env: Vec<(String, String)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/specs/mod.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub cwd: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/specs/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub inherit_stdio: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/cli/specs/mod.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn to_command(spec: &CommandSpec) -> Command {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/specs/mod.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn to_command(spec: &CommandSpec) -> Command {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub async fn spawn_spec(spec: &CommandSpec) -> Result<Option<u32>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:107:1
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub async fn run_spec(spec: &CommandSpec) -> Result<std::process::ExitStatus> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | / pub async fn run_spec_inherit(
[INFO] [stdout] 116 | |     spec: &CommandSpec,
[INFO] [stdout] 117 | | ) -> Result<std::process::ExitStatus> {
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | / pub async fn run_spec_with_output(
[INFO] [stdout] 124 | |     spec: &CommandSpec,
[INFO] [stdout] 125 | | ) -> Result<(std::process::ExitStatus, String)> {
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn reset_db_volume_spec(project_name: &str) -> CommandSpec {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn compose_files(mode: StackMode, root: &Path) -> Vec<PathBuf> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:165:1
[INFO] [stdout]     |
[INFO] [stdout] 165 | / pub fn compose_base_spec(
[INFO] [stdout] 166 | |     mode: StackMode,
[INFO] [stdout] 167 | |     env_file: &Path,
[INFO] [stdout] 168 | |     profile: &str,
[INFO] [stdout] ...   |
[INFO] [stdout] 172 | |     compose_root: &Path,
[INFO] [stdout] 173 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | / pub fn compose_down_spec(
[INFO] [stdout] 230 | |     mode: StackMode,
[INFO] [stdout] 231 | |     env_file: &Path,
[INFO] [stdout] 232 | |     profile: &str,
[INFO] [stdout] ...   |
[INFO] [stdout] 236 | |     compose_root: &Path,
[INFO] [stdout] 237 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:251:1
[INFO] [stdout]     |
[INFO] [stdout] 251 | / pub fn compose_up_docker_spec(
[INFO] [stdout] 252 | |     opts: &options::StackOptions,
[INFO] [stdout] 253 | |     project_name: &str,
[INFO] [stdout] 254 | |     force_recreate: bool,
[INFO] [stdout] 255 | |     compose_root: &Path,
[INFO] [stdout] 256 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | / pub fn tailscale_serve_spec(
[INFO] [stdout] 277 | |     opts: &options::StackOptions,
[INFO] [stdout] 278 | |     project_name: &str,
[INFO] [stdout] 279 | |     compose_root: &Path,
[INFO] [stdout] 280 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:303:1
[INFO] [stdout]     |
[INFO] [stdout] 303 | / pub fn compose_down_services_spec(
[INFO] [stdout] 304 | |     opts: &options::StackOptions,
[INFO] [stdout] 305 | |     project_name: &str,
[INFO] [stdout] 306 | |     services: &[&str],
[INFO] [stdout] 307 | |     compose_root: &Path,
[INFO] [stdout] 308 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:325:1
[INFO] [stdout]     |
[INFO] [stdout] 325 | / pub fn compose_up_services_spec(
[INFO] [stdout] 326 | |     opts: &options::StackOptions,
[INFO] [stdout] 327 | |     project_name: &str,
[INFO] [stdout] 328 | |     services: &[&str],
[INFO] [stdout] 329 | |     compose_root: &Path,
[INFO] [stdout] 330 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:348:1
[INFO] [stdout]     |
[INFO] [stdout] 348 | / pub fn compose_running_services_spec(
[INFO] [stdout] 349 | |     mode: StackMode,
[INFO] [stdout] 350 | |     env_file: &Path,
[INFO] [stdout] 351 | |     profile: &str,
[INFO] [stdout] ...   |
[INFO] [stdout] 355 | |     compose_root: &Path,
[INFO] [stdout] 356 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:375:1
[INFO] [stdout]     |
[INFO] [stdout] 375 | / pub async fn wait_for_services(
[INFO] [stdout] 376 | |     opts: &options::StackOptions,
[INFO] [stdout] 377 | |     project_name: &str,
[INFO] [stdout] 378 | |     services: &[&str],
[INFO] [stdout] 379 | |     timeout: Duration,
[INFO] [stdout] 380 | |     compose_root: &Path,
[INFO] [stdout] 381 | | ) -> Result<()> {
[INFO] [stdout]     | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:408:1
[INFO] [stdout]     |
[INFO] [stdout] 408 | / pub fn host_server_spec(
[INFO] [stdout] 409 | |     opts: &options::StackOptions,
[INFO] [stdout] 410 | |     env_map: &HashMap<String, String>,
[INFO] [stdout] 411 | | ) -> Result<CommandSpec> {
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:458:1
[INFO] [stdout]     |
[INFO] [stdout] 458 | / pub fn host_db_spec(
[INFO] [stdout] 459 | |     opts: &options::StackOptions,
[INFO] [stdout] 460 | |     env_map: &HashMap<String, String>,
[INFO] [stdout] 461 | |     subcommand: &str,
[INFO] [stdout] 462 | |     extra_args: &[String],
[INFO] [stdout] 463 | | ) -> Result<CommandSpec> {
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:504:1
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub async fn kill_pid(pid: u32) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:542:1
[INFO] [stdout]     |
[INFO] [stdout] 542 | pub async fn stop_host_server(pid_path: &Path) -> Result<Option<u32>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:561:1
[INFO] [stdout]     |
[INFO] [stdout] 561 | pub async fn hard_cleanup(project_name: &str, tailscale: bool) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:583:1
[INFO] [stdout]     |
[INFO] [stdout] 583 | pub async fn stack_up(opts: &options::StackOptions) -> Result<StackOutcome> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:795:1
[INFO] [stdout]     |
[INFO] [stdout] 795 | pub async fn stack_down(opts: &options::StackOptions) -> Result<StackOutcome> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:834:1
[INFO] [stdout]     |
[INFO] [stdout] 834 | / pub fn compose_run_server_spec(
[INFO] [stdout] 835 | |     opts: &options::StackOptions,
[INFO] [stdout] 836 | |     project_name: &str,
[INFO] [stdout] 837 | |     args: &[String],
[INFO] [stdout] 838 | |     compose_root: &Path,
[INFO] [stdout] 839 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:860:1
[INFO] [stdout]     |
[INFO] [stdout] 860 | pub async fn stack_status(opts: &options::StackOptions) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:878:1
[INFO] [stdout]     |
[INFO] [stdout] 878 | / pub async fn stack_logs(
[INFO] [stdout] 879 | |     opts: &options::StackOptions,
[INFO] [stdout] 880 | |     service: Option<&str>,
[INFO] [stdout] 881 | |     follow: bool,
[INFO] [stdout] 882 | | ) -> Result<()> {
[INFO] [stdout]     | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/stack.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Docker,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/stack.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Host,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/stack.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Local,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/stack.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Tailscale,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub project_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub compose_files: Vec<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub server_mode: ServerMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub tailscale: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub reset_db: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub host_server_pid: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub host_server_pid_file: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub stopped_host_server_pid: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub tailscale_serve_ran: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub dev_mode: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub server_host: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub server_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub media_root: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub ferrex_server_url: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub tmdb_api_key: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub cors_allowed_origins: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub cors_allow_credentials: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub enforce_https: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub trust_proxy_headers: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub hsts_max_age: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub hsts_include_subdomains: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub hsts_preload: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub tls_min_version: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub tls_cipher_suites: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub rate_limits_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub rate_limits_json: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub scanner_config_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub scanner_config_json: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub ffmpeg_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub ffprobe_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub demo_mode: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub demo_options: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub demo_username: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub demo_password: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub demo_allow_deviations: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub demo_deviation_rate: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub demo_movie_count: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub demo_series_count: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub demo_skip_metadata: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub demo_zero_length: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/cli/state.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub enum MenuItem {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     Finish,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     DevMode,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     ServerHost,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     ServerPort,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     ServerUrl,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 |     MediaRoot,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     TmdbApiKey,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     CorsOrigins,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 |     CorsAllowCredentials,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     EnforceHttps,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     TrustProxy,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     HstsMaxAge,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 |     HstsIncludeSub,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     HstsPreload,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     TlsMinVersion,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     TlsCipherSuites,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     RateLimitsPath,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 |     RateLimitsJson,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     ScannerPath,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     ScannerJson,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     FfmpegPath,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     FfprobePath,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 |     DemoMode,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 224 |     DemoOptions,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     DemoUsername,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     DemoPassword,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     DemoAllowDeviations,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     DemoDeviationRate,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 |     DemoMovieCount,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     DemoSeriesCount,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 |     DemoSkipMetadata,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     DemoZeroLength,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/utils.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn resolve_project_name(opts: &options::StackOptions) -> String {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/utils.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn host_pid_file_path(env_file: &Path, project_name: &str) -> PathBuf {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/utils.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn workspace_root() -> PathBuf {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/utils.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn compose_root() -> PathBuf {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/validation.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub message: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/validation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub hint: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/constants.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const DEFAULT_PASSWORD_PEPPER: &str = "change-me-password-pepper";
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/constants.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const DEFAULT_TOKEN_KEY: &str = "change-me-hmac-key";
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/loader/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod db_url;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/loader/mod.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ConfigLoaderOptions {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub config_path: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub env_file: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/loader/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct ConfigLoader {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/loader/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/loader/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn with_options(options: ConfigLoaderOptions) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/loader/mod.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn with_path<P: Into<PathBuf>>(mut self, path: P) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/loader/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn load(&self) -> Result<ConfigLoad, error::ConfigLoadError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]    --> src/loader/mod.rs:386:1
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub mod error;
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/loader/mod.rs:415:1
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub struct ConfigLoad {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/loader/mod.rs:416:5
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub config: Config,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/loader/mod.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 417 |     pub warnings: ConfigWarnings,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/loader/db_url.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub fn resolve_database_url(
[INFO] [stdout] 21 | |     env: &EnvConfig,
[INFO] [stdout] 22 | |     file_database: &FileDatabaseConfig,
[INFO] [stdout] 23 | | ) -> Result<Option<String>, ConfigLoadError> {
[INFO] [stdout]    | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/loader/db_url.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | / pub fn resolve_database_password(
[INFO] [stdout] 89 | |     env: &EnvConfig,
[INFO] [stdout] 90 | |     file_database: &FileDatabaseConfig,
[INFO] [stdout] 91 | | ) -> Result<Option<String>, ConfigLoadError> {
[INFO] [stdout]    | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/loader/db_url.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | / pub fn read_secret_file(
[INFO] [stdout] 127 | |     path: &Path,
[INFO] [stdout] 128 | | ) -> Result<Option<String>, ConfigLoadError> {
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/loader/error.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum ConfigLoadError {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/loader/error.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     InvalidDatabaseUrl {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/error.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         source: url::ParseError,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     InvalidDatabaseUsername { username: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/error.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     InvalidDatabaseUsername { username: String },
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     InvalidDatabasePassword,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     SecretFileIo {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/error.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/error.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         source: std::io::Error,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Scanner(#[source] anyhow::Error),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     RateLimiter(#[source] anyhow::Error),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Filesystem { source: anyhow::Error },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/error.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Filesystem { source: anyhow::Error },
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     GuardRail(#[from] ConfigGuardRailError),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     EnvFile(#[from] dotenvy::Error),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/models/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod rate_limits;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/models/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod scanner;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/models/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod sources;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Config {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub server: ServerConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub database: DatabaseConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub redis: Option<RedisConfig>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub media: MediaConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub cache: CacheConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub ffmpeg: FfmpegConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub cors: CorsConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub security: SecurityConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub dev_mode: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub auth: AuthConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub scanner: ScannerConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub rate_limiter: Option<RateLimiterSettings>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub metadata: ConfigMetadata,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn ensure_directories(&self) -> anyhow::Result<()> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn normalize_paths(&mut self) -> anyhow::Result<()> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn cache_root(&self) -> &Path {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn transcode_cache_dir(&self) -> &Path {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn thumbnail_cache_dir(&self) -> &Path {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn image_cache_dir(&self) -> &Path {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct ServerConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub host: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct DatabaseConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub primary_url: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct RedisConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub url: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct MediaConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub root: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct CacheConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub root: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub images: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub transcode: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub thumbnails: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:103:1
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct FfmpegConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub ffmpeg_path: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub ffprobe_path: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct CorsConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub allowed_origins: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub allowed_methods: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub allowed_headers: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub allow_credentials: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/models/mod.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn is_wildcard_included(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct SecurityConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub enforce_https: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub trust_proxy_headers: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub hsts: HstsSettings,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct HstsSettings {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub max_age: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub include_subdomains: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub preload: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct HstsLayerConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub max_age: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub include_subdomains: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub preload: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct AuthConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub password_pepper: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub token_key: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub setup_token: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/models/mod.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn is_default_pepper(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/models/mod.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn is_default_token_key(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub struct RateLimiterSettings {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub config: RateLimiterConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub source: RateLimitSource,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:179:1
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct ConfigMetadata {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub config_path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub env_file_loaded: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub scanner_source: ScannerConfigSource,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub rate_limit_source: Option<RateLimitSource>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/models/rate_limits.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum RateLimitSource {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     EnvPath(PathBuf),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     EnvInline,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     FilePath(PathBuf),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     FileInline(PathBuf),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/models/rate_limits.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum RateLimitSpec {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Path(PathBuf),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Inline(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/rate_limits.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | /     pub fn load_from_env(
[INFO] [stdout] 67 | |         &self,
[INFO] [stdout] 68 | |     ) -> anyhow::Result<(RateLimiterConfig, RateLimitSource)> {
[INFO] [stdout]    | |_____________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/rate_limits.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | /     pub fn load_from_file(
[INFO] [stdout] 82 | |         &self,
[INFO] [stdout] 83 | |         config_path: &Path,
[INFO] [stdout] 84 | |     ) -> anyhow::Result<(RateLimiterConfig, RateLimitSource)> {
[INFO] [stdout]    | |_____________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/scanner.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Default,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/scanner.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     EnvPath(PathBuf),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/scanner.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     EnvInline,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/scanner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     File(PathBuf),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/models/scanner.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn load_from_file(path: &Path) -> anyhow::Result<Self> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/models/scanner.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 | /     pub fn parse_from_str(
[INFO] [stdout] 125 | |         contents: &str,
[INFO] [stdout] 126 | |         origin: &str,
[INFO] [stdout] 127 | |     ) -> anyhow::Result<Self> {
[INFO] [stdout]     | |_____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/models/scanner.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn parse_json(raw: &str) -> anyhow::Result<Self> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub server: FileServerConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub database: FileDatabaseConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub redis: Option<FileRedisConfig>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub media: FileMediaConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub cache: FileCacheConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub ffmpeg: FileFfmpegConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub cors: FileCorsConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub security: FileSecurityConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub auth: FileAuthConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub rate_limiter: Option<FileRateLimiterConfig>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub scanner: Option<ScannerConfig>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub dev_mode: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct FileServerConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub host: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub port: Option<u16>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct FileDatabaseConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub url: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub password_file: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct FileRedisConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub url: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct FileMediaConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub root: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct FileCacheConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub root: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub images: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub transcode: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub thumbnails: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct FileFfmpegConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub ffmpeg_path: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub ffprobe_path: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct FileCorsConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub allowed_origins: Option<Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub allowed_methods: Option<Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub allowed_headers: Option<Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub allow_credentials: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct FileSecurityConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub enforce_https: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub trust_proxy_headers: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub hsts: FileHstsConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/sources.rs:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct FileHstsConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub max_age: Option<u64>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub include_subdomains: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub preload: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/sources.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct FileAuthConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub password_pepper: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub token_key: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub setup_token: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/sources.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub struct FileRateLimiterConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub inline_json: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub server_host: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub server_port: Option<u16>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub database_url: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub database_url_file: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub database_host: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub database_port: Option<u16>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub database_user: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub database_name: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub database_password: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub database_password_file: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub ferrex_app_password: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub ferrex_app_password_file: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub redis_url: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub media_root: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub cache_root: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub cache_images: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub cache_transcode: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub cache_thumbnails: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub ffmpeg_path: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub ffprobe_path: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub cors_allowed_origins: Option<Vec<String>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub cors_allowed_methods: Option<Vec<String>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub cors_allowed_headers: Option<Vec<String>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub cors_allow_credentials: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub dev_mode: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub enforce_https: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub trust_proxy_headers: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub hsts_max_age: Option<u64>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub hsts_include_subdomains: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub hsts_preload: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub auth_password_pepper: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub auth_token_key: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub setup_token: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub rate_limits: Option<RateLimitSpec>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub scanner_config_path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub scanner_config_json: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/models/sources.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn gather() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/packaging_config.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum PackagingConfigError {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     TomlParse {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         source: toml::de::Error,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     FileIo {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         source: std::io::Error,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     WorkspaceVersionNotFound,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     WorkspaceCargoIo {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         source: std::io::Error,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/packaging_config.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct FlatpakConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub manifest_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub app_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub output_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/packaging_config.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ReleaseConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub output_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/packaging_config.rs:66:1
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct PreflightConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub run_fmt: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub run_clippy: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub run_tests: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub run_deny: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub run_audit: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub offline: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub scope: PreflightScope,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/packaging_config.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub enum PreflightScope {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     Workspace,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     Init,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/packaging_config.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub enum VersionSource {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/packaging_config.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     Workspace,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/packaging_config.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     Manual,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/packaging_config.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct VersionConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/packaging_config.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub source: VersionSource,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/packaging_config.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct PackagingConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/packaging_config.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub flatpak: FlatpakConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/packaging_config.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub release: ReleaseConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/packaging_config.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub preflight: PreflightConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/packaging_config.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub version: VersionConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/runner.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Host,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/runner.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Docker,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/runner.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Auto,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Host,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/runner.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Docker,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/util.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn parse_csv_var(name: &str) -> Option<Vec<String>> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/util.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn rate_limit_spec_from_env() -> Option<RateLimitSpec> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/util.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn parse_bool_var(name: &str) -> Option<bool> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/validation.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum ConfigGuardRailError {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/validation.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     WeakSecret { field: &'static str, reason: String },
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/validation.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 |     WeakSecret { field: &'static str, reason: String },
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/validation.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 |     WeakSecret { field: &'static str, reason: String },
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/validation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     DangerousCorsWildcard,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/validation.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     InvalidCorsConfig { reason: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/validation.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 |     InvalidCorsConfig { reason: String },
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/validation.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     MissingRateLimiterBackend,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/validation.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct ConfigWarning {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/validation.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub message: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/validation.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub hint: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/validation.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ConfigWarnings {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/validation.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub items: Vec<ConfigWarning>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/validation.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn push<S: Into<String>>(&mut self, message: S) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/validation.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | /     pub fn push_with_hint<S: Into<String>, H: Into<String>>(
[INFO] [stdout] 40 | |         &mut self,
[INFO] [stdout] 41 | |         message: S,
[INFO] [stdout] 42 | |         hint: H,
[INFO] [stdout] 43 | |     ) {
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/validation.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/validation.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn extend(&mut self, other: ConfigWarnings) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/validation.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | / pub fn apply_guard_rails(
[INFO] [stdout] 60 | |     config: &Config,
[INFO] [stdout] 61 | | ) -> Result<ConfigWarnings, ConfigGuardRailError> {
[INFO] [stdout]    | |_________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod loader;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod models;
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub mod packaging_config;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub mod util;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub mod validation;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod db;
[INFO] [stdout]   | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod options;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod package;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/mod.rs:9:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod prompt_menu;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod specs;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub mod state;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub mod tui;
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/cli/mod.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub mod utils;
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/mod.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     Db,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Auth,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/mod.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     All,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/mod.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub kv: Vec<(String, String)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/mod.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub rotated_keys: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/mod.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub async fn run_config_init(opts: &InitOptions) -> Result<()> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/mod.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | / pub async fn generate_init_kv(
[INFO] [stdout] 77 | |     opts: &InitOptions,
[INFO] [stdout] 78 | | ) -> Result<Vec<(String, String)>> {
[INFO] [stdout]    | |__________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/mod.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub async fn gen_init_merge_env(opts: &InitOptions) -> Result<InitOutcome> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/mod.rs:759:1
[INFO] [stdout]     |
[INFO] [stdout] 759 | pub async fn run_config_check(opts: &CheckOptions) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/db.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | / pub async fn stack_db_preflight(
[INFO] [stdout] 20 | |     opts: &options::StackOptions,
[INFO] [stdout] 21 | |     extra_args: &str,
[INFO] [stdout] 22 | | ) -> Result<()> {
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/db.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | / pub async fn stack_db_migrate(
[INFO] [stdout] 88 | |     opts: &options::StackOptions,
[INFO] [stdout] 89 | |     extra_args: &str,
[INFO] [stdout] 90 | | ) -> Result<()> {
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub env_file: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub mode: StackMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub profile: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub rust_log: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub wild: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub server_mode: ServerMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub reset_db: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub clean: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub init_non_interactive: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub init_advanced: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub init_tui: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub force_init: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub project_name_override: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub tailscale_serve: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub env_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub non_interactive: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub advanced: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub tailscale: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub rotate: RotateTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub force: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub tui: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/options.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub postgres_preset: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/cli/options.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn new(env_path: PathBuf, advanced: bool) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/cli/options.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn new_non_interactive(env_path: PathBuf, advanced: bool) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/cli/options.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub config_path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/cli/options.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub env_file: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/cli/options.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub tls_cert_path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/cli/options.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub tls_key_path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]     --> src/cli/package/mod.rs:1334:1
[INFO] [stdout]      |
[INFO] [stdout] 1334 | / pub async fn package_windows(
[INFO] [stdout] 1335 | |     target: &str,
[INFO] [stdout] 1336 | |     profile: &str,
[INFO] [stdout] 1337 | |     gst_root_override: Option<&Path>,
[INFO] [stdout] 1338 | |     out_dir: Option<&Path>,
[INFO] [stdout] 1339 | |     dry_run: bool,
[INFO] [stdout] 1340 | | ) -> Result<()> {
[INFO] [stdout]      | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/prompt_menu.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | / pub fn run_prompt_menu(
[INFO] [stdout] 14 | |     state: &mut state::PromptState,
[INFO] [stdout] 15 | |     advanced: bool,
[INFO] [stdout] 16 | | ) -> Result<()> {
[INFO] [stdout]    | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/prompt_menu.rs:299:1
[INFO] [stdout]     |
[INFO] [stdout] 299 | pub fn menu_label(state: &state::PromptState, item: MenuItem) -> String {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/cli/specs/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod init_spec;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/specs/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub program: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/specs/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub args: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/specs/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub env: Vec<(String, String)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/specs/mod.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub cwd: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/specs/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub inherit_stdio: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/cli/specs/mod.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn to_command(spec: &CommandSpec) -> Command {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/specs/mod.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn to_command(spec: &CommandSpec) -> Command {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub async fn spawn_spec(spec: &CommandSpec) -> Result<Option<u32>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:107:1
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub async fn run_spec(spec: &CommandSpec) -> Result<std::process::ExitStatus> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:115:1
[INFO] [stdout]     |
[INFO] [stdout] 115 | / pub async fn run_spec_inherit(
[INFO] [stdout] 116 | |     spec: &CommandSpec,
[INFO] [stdout] 117 | | ) -> Result<std::process::ExitStatus> {
[INFO] [stdout]     | |_____________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:123:1
[INFO] [stdout]     |
[INFO] [stdout] 123 | / pub async fn run_spec_with_output(
[INFO] [stdout] 124 | |     spec: &CommandSpec,
[INFO] [stdout] 125 | | ) -> Result<(std::process::ExitStatus, String)> {
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:134:1
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub fn reset_db_volume_spec(project_name: &str) -> CommandSpec {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn compose_files(mode: StackMode, root: &Path) -> Vec<PathBuf> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:165:1
[INFO] [stdout]     |
[INFO] [stdout] 165 | / pub fn compose_base_spec(
[INFO] [stdout] 166 | |     mode: StackMode,
[INFO] [stdout] 167 | |     env_file: &Path,
[INFO] [stdout] 168 | |     profile: &str,
[INFO] [stdout] ...   |
[INFO] [stdout] 172 | |     compose_root: &Path,
[INFO] [stdout] 173 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | / pub fn compose_down_spec(
[INFO] [stdout] 230 | |     mode: StackMode,
[INFO] [stdout] 231 | |     env_file: &Path,
[INFO] [stdout] 232 | |     profile: &str,
[INFO] [stdout] ...   |
[INFO] [stdout] 236 | |     compose_root: &Path,
[INFO] [stdout] 237 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:251:1
[INFO] [stdout]     |
[INFO] [stdout] 251 | / pub fn compose_up_docker_spec(
[INFO] [stdout] 252 | |     opts: &options::StackOptions,
[INFO] [stdout] 253 | |     project_name: &str,
[INFO] [stdout] 254 | |     force_recreate: bool,
[INFO] [stdout] 255 | |     compose_root: &Path,
[INFO] [stdout] 256 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:276:1
[INFO] [stdout]     |
[INFO] [stdout] 276 | / pub fn tailscale_serve_spec(
[INFO] [stdout] 277 | |     opts: &options::StackOptions,
[INFO] [stdout] 278 | |     project_name: &str,
[INFO] [stdout] 279 | |     compose_root: &Path,
[INFO] [stdout] 280 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:303:1
[INFO] [stdout]     |
[INFO] [stdout] 303 | / pub fn compose_down_services_spec(
[INFO] [stdout] 304 | |     opts: &options::StackOptions,
[INFO] [stdout] 305 | |     project_name: &str,
[INFO] [stdout] 306 | |     services: &[&str],
[INFO] [stdout] 307 | |     compose_root: &Path,
[INFO] [stdout] 308 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:325:1
[INFO] [stdout]     |
[INFO] [stdout] 325 | / pub fn compose_up_services_spec(
[INFO] [stdout] 326 | |     opts: &options::StackOptions,
[INFO] [stdout] 327 | |     project_name: &str,
[INFO] [stdout] 328 | |     services: &[&str],
[INFO] [stdout] 329 | |     compose_root: &Path,
[INFO] [stdout] 330 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:348:1
[INFO] [stdout]     |
[INFO] [stdout] 348 | / pub fn compose_running_services_spec(
[INFO] [stdout] 349 | |     mode: StackMode,
[INFO] [stdout] 350 | |     env_file: &Path,
[INFO] [stdout] 351 | |     profile: &str,
[INFO] [stdout] ...   |
[INFO] [stdout] 355 | |     compose_root: &Path,
[INFO] [stdout] 356 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:375:1
[INFO] [stdout]     |
[INFO] [stdout] 375 | / pub async fn wait_for_services(
[INFO] [stdout] 376 | |     opts: &options::StackOptions,
[INFO] [stdout] 377 | |     project_name: &str,
[INFO] [stdout] 378 | |     services: &[&str],
[INFO] [stdout] 379 | |     timeout: Duration,
[INFO] [stdout] 380 | |     compose_root: &Path,
[INFO] [stdout] 381 | | ) -> Result<()> {
[INFO] [stdout]     | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:408:1
[INFO] [stdout]     |
[INFO] [stdout] 408 | / pub fn host_server_spec(
[INFO] [stdout] 409 | |     opts: &options::StackOptions,
[INFO] [stdout] 410 | |     env_map: &HashMap<String, String>,
[INFO] [stdout] 411 | | ) -> Result<CommandSpec> {
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:458:1
[INFO] [stdout]     |
[INFO] [stdout] 458 | / pub fn host_db_spec(
[INFO] [stdout] 459 | |     opts: &options::StackOptions,
[INFO] [stdout] 460 | |     env_map: &HashMap<String, String>,
[INFO] [stdout] 461 | |     subcommand: &str,
[INFO] [stdout] 462 | |     extra_args: &[String],
[INFO] [stdout] 463 | | ) -> Result<CommandSpec> {
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:504:1
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub async fn kill_pid(pid: u32) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:542:1
[INFO] [stdout]     |
[INFO] [stdout] 542 | pub async fn stop_host_server(pid_path: &Path) -> Result<Option<u32>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:561:1
[INFO] [stdout]     |
[INFO] [stdout] 561 | pub async fn hard_cleanup(project_name: &str, tailscale: bool) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:583:1
[INFO] [stdout]     |
[INFO] [stdout] 583 | pub async fn stack_up(opts: &options::StackOptions) -> Result<StackOutcome> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:795:1
[INFO] [stdout]     |
[INFO] [stdout] 795 | pub async fn stack_down(opts: &options::StackOptions) -> Result<StackOutcome> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:834:1
[INFO] [stdout]     |
[INFO] [stdout] 834 | / pub fn compose_run_server_spec(
[INFO] [stdout] 835 | |     opts: &options::StackOptions,
[INFO] [stdout] 836 | |     project_name: &str,
[INFO] [stdout] 837 | |     args: &[String],
[INFO] [stdout] 838 | |     compose_root: &Path,
[INFO] [stdout] 839 | | ) -> CommandSpec {
[INFO] [stdout]     | |________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:860:1
[INFO] [stdout]     |
[INFO] [stdout] 860 | pub async fn stack_status(opts: &options::StackOptions) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/cli/specs/mod.rs:878:1
[INFO] [stdout]     |
[INFO] [stdout] 878 | / pub async fn stack_logs(
[INFO] [stdout] 879 | |     opts: &options::StackOptions,
[INFO] [stdout] 880 | |     service: Option<&str>,
[INFO] [stdout] 881 | |     follow: bool,
[INFO] [stdout] 882 | | ) -> Result<()> {
[INFO] [stdout]     | |_______________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/stack.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Docker,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/stack.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Host,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/stack.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Local,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/cli/stack.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Tailscale,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub project_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub compose_files: Vec<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub server_mode: ServerMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub tailscale: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub reset_db: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub host_server_pid: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub host_server_pid_file: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub stopped_host_server_pid: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/stack.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub tailscale_serve_ran: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub dev_mode: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub server_host: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub server_port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub media_root: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub ferrex_server_url: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub tmdb_api_key: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub cors_allowed_origins: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub cors_allow_credentials: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub enforce_https: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub trust_proxy_headers: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub hsts_max_age: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub hsts_include_subdomains: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub hsts_preload: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub tls_min_version: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub tls_cipher_suites: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub rate_limits_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub rate_limits_json: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub scanner_config_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub scanner_config_json: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub ffmpeg_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub ffprobe_path: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub demo_mode: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub demo_options: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub demo_username: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub demo_password: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub demo_allow_deviations: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub demo_deviation_rate: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub demo_movie_count: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub demo_series_count: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub demo_skip_metadata: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/state.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub demo_zero_length: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/cli/state.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub enum MenuItem {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:201:5
[INFO] [stdout]     |
[INFO] [stdout] 201 |     Finish,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 |     DevMode,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     ServerHost,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     ServerPort,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:205:5
[INFO] [stdout]     |
[INFO] [stdout] 205 |     ServerUrl,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 206 |     MediaRoot,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     TmdbApiKey,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 208 |     CorsOrigins,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 209 |     CorsAllowCredentials,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:210:5
[INFO] [stdout]     |
[INFO] [stdout] 210 |     EnforceHttps,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     TrustProxy,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     HstsMaxAge,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 |     HstsIncludeSub,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     HstsPreload,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     TlsMinVersion,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |     TlsCipherSuites,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 217 |     RateLimitsPath,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 |     RateLimitsJson,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     ScannerPath,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 |     ScannerJson,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     FfmpegPath,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:222:5
[INFO] [stdout]     |
[INFO] [stdout] 222 |     FfprobePath,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 |     DemoMode,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 224 |     DemoOptions,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     DemoUsername,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     DemoPassword,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     DemoAllowDeviations,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     DemoDeviationRate,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 |     DemoMovieCount,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     DemoSeriesCount,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 |     DemoSkipMetadata,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/cli/state.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     DemoZeroLength,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/utils.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn resolve_project_name(opts: &options::StackOptions) -> String {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/utils.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn host_pid_file_path(env_file: &Path, project_name: &str) -> PathBuf {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/utils.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn workspace_root() -> PathBuf {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/cli/utils.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub fn compose_root() -> PathBuf {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/validation.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub message: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/cli/validation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub hint: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/constants.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const DEFAULT_PASSWORD_PEPPER: &str = "change-me-password-pepper";
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/constants.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const DEFAULT_TOKEN_KEY: &str = "change-me-hmac-key";
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/loader/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod db_url;
[INFO] [stdout]   | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/loader/mod.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ConfigLoaderOptions {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub config_path: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub env_file: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/loader/mod.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct ConfigLoader {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/loader/mod.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/loader/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn with_options(options: ConfigLoaderOptions) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/loader/mod.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn with_path<P: Into<PathBuf>>(mut self, path: P) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/loader/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn load(&self) -> Result<ConfigLoad, error::ConfigLoadError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]    --> src/loader/mod.rs:386:1
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub mod error;
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/loader/mod.rs:415:1
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub struct ConfigLoad {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/loader/mod.rs:416:5
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub config: Config,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/loader/mod.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 417 |     pub warnings: ConfigWarnings,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/loader/db_url.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / pub fn resolve_database_url(
[INFO] [stdout] 21 | |     env: &EnvConfig,
[INFO] [stdout] 22 | |     file_database: &FileDatabaseConfig,
[INFO] [stdout] 23 | | ) -> Result<Option<String>, ConfigLoadError> {
[INFO] [stdout]    | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/loader/db_url.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | / pub fn resolve_database_password(
[INFO] [stdout] 89 | |     env: &EnvConfig,
[INFO] [stdout] 90 | |     file_database: &FileDatabaseConfig,
[INFO] [stdout] 91 | | ) -> Result<Option<String>, ConfigLoadError> {
[INFO] [stdout]    | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/loader/db_url.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | / pub fn read_secret_file(
[INFO] [stdout] 127 | |     path: &Path,
[INFO] [stdout] 128 | | ) -> Result<Option<String>, ConfigLoadError> {
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/loader/error.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum ConfigLoadError {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/loader/error.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     InvalidDatabaseUrl {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/error.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         source: url::ParseError,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     InvalidDatabaseUsername { username: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/error.rs:14:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     InvalidDatabaseUsername { username: String },
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     InvalidDatabasePassword,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     SecretFileIo {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/error.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/error.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         source: std::io::Error,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Scanner(#[source] anyhow::Error),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     RateLimiter(#[source] anyhow::Error),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Filesystem { source: anyhow::Error },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/loader/error.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Filesystem { source: anyhow::Error },
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     GuardRail(#[from] ConfigGuardRailError),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/loader/error.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     EnvFile(#[from] dotenvy::Error),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/models/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod rate_limits;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/models/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod scanner;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]  --> src/models/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod sources;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Config {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub server: ServerConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub database: DatabaseConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub redis: Option<RedisConfig>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub media: MediaConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub cache: CacheConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub ffmpeg: FfmpegConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub cors: CorsConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub security: SecurityConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub dev_mode: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub auth: AuthConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub scanner: ScannerConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub rate_limiter: Option<RateLimiterSettings>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub metadata: ConfigMetadata,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn ensure_directories(&self) -> anyhow::Result<()> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn normalize_paths(&mut self) -> anyhow::Result<()> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn cache_root(&self) -> &Path {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn transcode_cache_dir(&self) -> &Path {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn thumbnail_cache_dir(&self) -> &Path {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/mod.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn image_cache_dir(&self) -> &Path {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct ServerConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub host: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub port: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct DatabaseConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub primary_url: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct RedisConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub url: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct MediaConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub root: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/mod.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct CacheConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub root: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub images: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub transcode: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/mod.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub thumbnails: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:103:1
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct FfmpegConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub ffmpeg_path: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub ffprobe_path: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct CorsConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub allowed_origins: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub allowed_methods: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub allowed_headers: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub allow_credentials: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/models/mod.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn is_wildcard_included(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct SecurityConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub enforce_https: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub trust_proxy_headers: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub hsts: HstsSettings,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct HstsSettings {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub max_age: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub include_subdomains: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub preload: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct HstsLayerConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub max_age: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub include_subdomains: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub preload: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct AuthConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub password_pepper: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub token_key: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub setup_token: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/models/mod.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub fn is_default_pepper(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/models/mod.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn is_default_token_key(&self) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:173:1
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub struct RateLimiterSettings {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub config: RateLimiterConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub source: RateLimitSource,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/mod.rs:179:1
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct ConfigMetadata {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub config_path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub env_file_loaded: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub scanner_source: ScannerConfigSource,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/mod.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub rate_limit_source: Option<RateLimitSource>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/models/rate_limits.rs:13:1
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum RateLimitSource {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     EnvPath(PathBuf),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     EnvInline,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     FilePath(PathBuf),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     FileInline(PathBuf),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/models/rate_limits.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum RateLimitSpec {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Path(PathBuf),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/rate_limits.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Inline(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/rate_limits.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | /     pub fn load_from_env(
[INFO] [stdout] 67 | |         &self,
[INFO] [stdout] 68 | |     ) -> anyhow::Result<(RateLimiterConfig, RateLimitSource)> {
[INFO] [stdout]    | |_____________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/models/rate_limits.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | /     pub fn load_from_file(
[INFO] [stdout] 82 | |         &self,
[INFO] [stdout] 83 | |         config_path: &Path,
[INFO] [stdout] 84 | |     ) -> anyhow::Result<(RateLimiterConfig, RateLimitSource)> {
[INFO] [stdout]    | |_____________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/scanner.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Default,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/scanner.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     EnvPath(PathBuf),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/scanner.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     EnvInline,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/models/scanner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     File(PathBuf),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/models/scanner.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn load_from_file(path: &Path) -> anyhow::Result<Self> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/models/scanner.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 | /     pub fn parse_from_str(
[INFO] [stdout] 125 | |         contents: &str,
[INFO] [stdout] 126 | |         origin: &str,
[INFO] [stdout] 127 | |     ) -> anyhow::Result<Self> {
[INFO] [stdout]     | |_____________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/models/scanner.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub fn parse_json(raw: &str) -> anyhow::Result<Self> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub server: FileServerConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub database: FileDatabaseConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub redis: Option<FileRedisConfig>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub media: FileMediaConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub cache: FileCacheConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub ffmpeg: FileFfmpegConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub cors: FileCorsConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub security: FileSecurityConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub auth: FileAuthConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub rate_limiter: Option<FileRateLimiterConfig>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub scanner: Option<ScannerConfig>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub dev_mode: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct FileServerConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub host: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub port: Option<u16>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:43:1
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct FileDatabaseConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub url: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub password_file: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct FileRedisConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub url: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct FileMediaConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub root: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct FileCacheConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub root: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub images: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub transcode: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub thumbnails: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct FileFfmpegConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub ffmpeg_path: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub ffprobe_path: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct FileCorsConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub allowed_origins: Option<Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub allowed_methods: Option<Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub allowed_headers: Option<Vec<String>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub allow_credentials: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/models/sources.rs:94:1
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct FileSecurityConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub enforce_https: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/models/sources.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub trust_proxy_headers: Option<bool>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub hsts: FileHstsConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/sources.rs:104:1
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct FileHstsConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub max_age: Option<u64>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub include_subdomains: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub preload: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/sources.rs:114:1
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct FileAuthConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub password_pepper: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub token_key: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub setup_token: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/models/sources.rs:124:1
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub struct FileRateLimiterConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub inline_json: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub server_host: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub server_port: Option<u16>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub database_url: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub database_url_file: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub database_host: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:139:5
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub database_port: Option<u16>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub database_user: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub database_name: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub database_password: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub database_password_file: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub ferrex_app_password: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub ferrex_app_password_file: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub redis_url: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub media_root: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub cache_root: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub cache_images: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub cache_transcode: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub cache_thumbnails: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub ffmpeg_path: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub ffprobe_path: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub cors_allowed_origins: Option<Vec<String>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub cors_allowed_methods: Option<Vec<String>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub cors_allowed_headers: Option<Vec<String>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub cors_allow_credentials: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub dev_mode: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub enforce_https: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub trust_proxy_headers: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub hsts_max_age: Option<u64>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub hsts_include_subdomains: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:163:5
[INFO] [stdout]     |
[INFO] [stdout] 163 |     pub hsts_preload: Option<bool>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 164 |     pub auth_password_pepper: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub auth_token_key: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub setup_token: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub rate_limits: Option<RateLimitSpec>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub scanner_config_path: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/models/sources.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub scanner_config_json: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/models/sources.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn gather() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/packaging_config.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum PackagingConfigError {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     TomlParse {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         source: toml::de::Error,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     FileIo {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         source: std::io::Error,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     WorkspaceVersionNotFound,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     WorkspaceCargoIo {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         source: std::io::Error,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/packaging_config.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct FlatpakConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub manifest_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub app_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub output_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/packaging_config.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ReleaseConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub output_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/packaging_config.rs:66:1
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct PreflightConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub run_fmt: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub run_clippy: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub run_tests: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub run_deny: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub run_audit: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub offline: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/packaging_config.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub scope: PreflightScope,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/packaging_config.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub enum PreflightScope {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     Workspace,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/packaging_config.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     Init,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/packaging_config.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub enum VersionSource {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/packaging_config.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     Workspace,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/packaging_config.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     Manual,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/packaging_config.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct VersionConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/packaging_config.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub source: VersionSource,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/packaging_config.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct PackagingConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/packaging_config.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub flatpak: FlatpakConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/packaging_config.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub release: ReleaseConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/packaging_config.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub preflight: PreflightConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/packaging_config.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub version: VersionConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/runner.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Host,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/runner.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Docker,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/runner.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Auto,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/runner.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Host,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/runner.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Docker,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]  --> src/util.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn parse_csv_var(name: &str) -> Option<Vec<String>> {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/util.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn rate_limit_spec_from_env() -> Option<RateLimitSpec> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/util.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn parse_bool_var(name: &str) -> Option<bool> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]  --> src/validation.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum ConfigGuardRailError {
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/validation.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     WeakSecret { field: &'static str, reason: String },
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/validation.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 |     WeakSecret { field: &'static str, reason: String },
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> src/validation.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 |     WeakSecret { field: &'static str, reason: String },
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/validation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     DangerousCorsWildcard,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/validation.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     InvalidCorsConfig { reason: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/validation.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 |     InvalidCorsConfig { reason: String },
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/validation.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     MissingRateLimiterBackend,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/validation.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct ConfigWarning {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/validation.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub message: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/validation.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub hint: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/validation.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ConfigWarnings {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/validation.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub items: Vec<ConfigWarning>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/validation.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn push<S: Into<String>>(&mut self, message: S) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/validation.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | /     pub fn push_with_hint<S: Into<String>, H: Into<String>>(
[INFO] [stdout] 40 | |         &mut self,
[INFO] [stdout] 41 | |         message: S,
[INFO] [stdout] 42 | |         hint: H,
[INFO] [stdout] 43 | |     ) {
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/validation.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/validation.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn extend(&mut self, other: ConfigWarnings) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/validation.rs:59:1
[INFO] [stdout]    |
[INFO] [stdout] 59 | / pub fn apply_guard_rails(
[INFO] [stdout] 60 | |     config: &Config,
[INFO] [stdout] 61 | | ) -> Result<ConfigWarnings, ConfigGuardRailError> {
[INFO] [stdout]    | |_________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]   --> tests/cli_help.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 | / use assert_cmd::cargo::cargo_bin_cmd;
[INFO] [stdout]  2 | |
[INFO] [stdout]  3 | | #[test]
[INFO] [stdout]  4 | | fn stack_help_mentions_options() {
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |     assert!(text.contains("migrate"), "db help missing migrate");
[INFO] [stdout] 67 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> tests/e2e_package_commands.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / use assert_cmd::cargo::cargo_bin_cmd;
[INFO] [stdout]   2 | | use std::fs;
[INFO] [stdout]   3 | | use tempfile::TempDir;
[INFO] [stdout] ...   |
[INFO] [stdout] 361 | |         .stdout(predicates::str::contains("--dry-run"));
[INFO] [stdout] 362 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> tests/golden_init.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / use std::{
[INFO] [stdout]   2 | |     collections::{HashMap, HashSet},
[INFO] [stdout]   3 | |     fs,
[INFO] [stdout]   4 | |     os::unix::fs::PermissionsExt,
[INFO] [stdout] ...   |
[INFO] [stdout] 472 | |     assert!(rotated.contains("FERREX_SETUP_TOKEN"));
[INFO] [stdout] 473 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> src/bin/ferrexctl.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / use std::{collections::HashSet, fs, path::PathBuf};
[INFO] [stdout]   2 | |
[INFO] [stdout]   3 | | use anyhow::Result;
[INFO] [stdout]   4 | | use clap::{Parser, Subcommand, ValueEnum};
[INFO] [stdout] ...   |
[INFO] [stdout] 995 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for the crate
[INFO] [stdout]    --> src/bin/ferrexctl.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout]   1 | / use std::{collections::HashSet, fs, path::PathBuf};
[INFO] [stdout]   2 | |
[INFO] [stdout]   3 | | use anyhow::Result;
[INFO] [stdout]   4 | | use clap::{Parser, Subcommand, ValueEnum};
[INFO] [stdout] ...   |
[INFO] [stdout] 995 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W missing-docs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 18s
[INFO] running `Command { std: "docker" "inspect" "086ae3d0f85c1e8657f51b9c0b921308c5d6414e9ab64d771268f9843af01838", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "086ae3d0f85c1e8657f51b9c0b921308c5d6414e9ab64d771268f9843af01838", kill_on_drop: false }`
[INFO] [stdout] 086ae3d0f85c1e8657f51b9c0b921308c5d6414e9ab64d771268f9843af01838
