[INFO] cloning repository https://github.com/QuickLaunchWeb/ferrumgw
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/QuickLaunchWeb/ferrumgw" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQuickLaunchWeb%2Fferrumgw", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQuickLaunchWeb%2Fferrumgw'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 320053c58a1851dd4f3b55b6b85d789c552a9449
[INFO] checking QuickLaunchWeb/ferrumgw/320053c58a1851dd4f3b55b6b85d789c552a9449 against master#568b11762723b001bfa693d0f21c5dad01d4e813 for pr-148190
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FQuickLaunchWeb%2Fferrumgw" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/QuickLaunchWeb/ferrumgw
[INFO] finished tweaking git repo https://github.com/QuickLaunchWeb/ferrumgw
[INFO] tweaked toml for git repo https://github.com/QuickLaunchWeb/ferrumgw written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/QuickLaunchWeb/ferrumgw on toolchain 568b11762723b001bfa693d0f21c5dad01d4e813
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/QuickLaunchWeb/ferrumgw 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" "+568b11762723b001bfa693d0f21c5dad01d4e813" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded h3-quinn v0.0.9
[INFO] [stderr]   Downloaded bcrypt v0.14.0
[INFO] [stderr]   Downloaded tungstenite v0.19.0
[INFO] [stderr]   Downloaded tokio-tungstenite v0.19.0
[INFO] [stderr]   Downloaded h3 v0.0.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ae2d27395cf16ef7e9dc7228b9a4a9772b4b430e985d4a422631c24758d9ac58
[INFO] running `Command { std: "docker" "start" "-a" "ae2d27395cf16ef7e9dc7228b9a4a9772b4b430e985d4a422631c24758d9ac58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ae2d27395cf16ef7e9dc7228b9a4a9772b4b430e985d4a422631c24758d9ac58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae2d27395cf16ef7e9dc7228b9a4a9772b4b430e985d4a422631c24758d9ac58", kill_on_drop: false }`
[INFO] [stdout] ae2d27395cf16ef7e9dc7228b9a4a9772b4b430e985d4a422631c24758d9ac58
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ad7ded706bd4be9b299e9d574b4436daaa743ede0e2463b49732bd30f25adfce
[INFO] running `Command { std: "docker" "start" "-a" "ad7ded706bd4be9b299e9d574b4436daaa743ede0e2463b49732bd30f25adfce", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.20
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling libm v0.2.13
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling rustls v0.20.9
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling litemap v0.7.5
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]     Checking num-traits v0.2.19
[INFO] [stderr]     Checking base64ct v1.7.3
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling num-bigint-dig v0.8.4
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling pem-rfc7468 v0.3.1
[INFO] [stderr]    Compiling openssl-sys v0.9.107
[INFO] [stderr]    Compiling crypto-bigint v0.3.2
[INFO] [stderr]    Compiling icu_properties_data v1.5.1
[INFO] [stderr]    Compiling const-oid v0.7.1
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.24.2
[INFO] [stderr]    Compiling der v0.5.1
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.1
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling spki v0.5.4
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling tokio v1.44.2
[INFO] [stderr]    Compiling prost-derive v0.11.9
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking webpki v0.22.4
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling prettyplease v0.1.25
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]     Checking ahash v0.8.11
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling prost v0.11.9
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]    Compiling tinyvec v1.9.0
[INFO] [stderr]     Checking thiserror v2.0.12
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling pkcs8 v0.8.0
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling tempfile v3.19.1
[INFO] [stderr]    Compiling openssl v0.10.72
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling tokio-rustls v0.23.4
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Compiling pkcs1 v0.3.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]    Compiling prost-types v0.11.9
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling quinn-udp v0.5.11
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling dirs-sys v0.3.7
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling prost-build v0.11.9
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling dirs v4.0.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling flume v0.10.14
[INFO] [stderr]    Compiling futures-intrusive v0.4.2
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]    Compiling rsa v0.6.1
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling sqlx-rt v0.6.3
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling webpki-roots v0.22.6
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling quinn v0.11.7
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]    Compiling atoi v1.0.0
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling uuid v1.16.0
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]    Compiling whoami v1.6.0
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]     Checking quinn-proto v0.11.11
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling tonic-build v0.9.2
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking rustls-native-certs v0.6.3
[INFO] [stderr]    Compiling sqlx-core v0.6.3
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking tokio-io-timeout v1.2.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]    Compiling prometheus v0.13.4
[INFO] [stderr]     Checking clap_builder v4.5.37
[INFO] [stderr]     Checking tungstenite v0.19.0
[INFO] [stderr]     Checking quinn-proto v0.10.6
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking h3 v0.0.7
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling ferrumgw v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking quinn-udp v0.4.1
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking predicates-core v1.0.9
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking quinn v0.10.2
[INFO] [stderr]     Checking clap v4.5.37
[INFO] [stderr]     Checking jsonwebtoken v8.3.0
[INFO] [stderr]     Checking tracing-appender v0.2.3
[INFO] [stderr]     Checking h3-quinn v0.0.9
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking tonic v0.9.2
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking bcrypt v0.14.0
[INFO] [stderr]     Checking tokio-tungstenite v0.19.0
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]    Compiling mockall_derive v0.11.4
[INFO] [stderr]     Checking predicates-tree v1.0.12
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking downcast v0.11.0
[INFO] [stderr]     Checking fragile v2.0.1
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]     Checking predicates v2.1.5
[INFO] [stderr]     Checking mockall v0.11.4
[INFO] [stderr]    Compiling sqlx-macros v0.6.3
[INFO] [stderr]     Checking sqlx v0.6.3
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]   --> src/database/postgres.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |       let mut proxies = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 25 | |         Proxy,
[INFO] [stdout] 26 | |         r#"
[INFO] [stdout] 27 | |         SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 40 | |         "#
[INFO] [stdout] 41 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]   --> src/database/postgres.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |       let consumers = sqlx::query_as!(
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 66 | |         Consumer,
[INFO] [stdout] 67 | |         r#"
[INFO] [stdout] 68 | |         SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |         "#
[INFO] [stdout] 73 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]   --> src/database/postgres.rs:79:26
[INFO] [stdout]    |
[INFO] [stdout] 79 |       let plugin_configs = sqlx::query_as!(
[INFO] [stdout]    |  __________________________^
[INFO] [stdout] 80 | |         PluginConfig,
[INFO] [stdout] 81 | |         r#"
[INFO] [stdout] 82 | |         SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |         "#
[INFO] [stdout] 88 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:96:35
[INFO] [stdout]     |
[INFO] [stdout]  96 |           let plugin_associations = sqlx::query!(
[INFO] [stdout]     |  ___________________________________^
[INFO] [stdout]  97 | |             r#"
[INFO] [stdout]  98 | |             SELECT plugin_config_id, embedded_config
[INFO] [stdout]  99 | |             FROM proxy_plugin_associations
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |             proxy.id
[INFO] [stdout] 104 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 153 | |         "SELECT EXISTS(SELECT 1 FROM proxies WHERE listen_path = $1) as exists_flag",
[INFO] [stdout] 154 | |         proxy.listen_path
[INFO] [stdout] 155 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:181:26
[INFO] [stdout]     |
[INFO] [stdout] 181 |       let inserted_proxy = sqlx::query!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 182 | |         r#"
[INFO] [stdout] 183 | |         INSERT INTO proxies (
[INFO] [stdout] 184 | |             name, listen_path, backend_protocol, backend_host, backend_port, backend_path,
[INFO] [stdout] ...   |
[INFO] [stdout] 211 | |         auth_mode_str
[INFO] [stdout] 212 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 | /         sqlx::query!(
[INFO] [stdout] 220 | |             r#"
[INFO] [stdout] 221 | |             INSERT INTO proxy_plugin_associations (
[INFO] [stdout] 222 | |                 proxy_id, plugin_config_id, embedded_config
[INFO] [stdout] ...   |
[INFO] [stdout] 228 | |             plugin_assoc.embedded_config.as_ref().map(|c| serde_json::to_value(c).unwrap_or_default())
[INFO] [stdout] 229 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:256:18
[INFO] [stdout]     |
[INFO] [stdout] 256 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 257 | |         "SELECT EXISTS(SELECT 1 FROM proxies WHERE id = $1) as exists_flag",
[INFO] [stdout] 258 | |         proxy.id
[INFO] [stdout] 259 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:271:23
[INFO] [stdout]     |
[INFO] [stdout] 271 |       let path_exists = sqlx::query!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 272 | |         "SELECT EXISTS(SELECT 1 FROM proxies WHERE listen_path = $1 AND id != $2) as exists_flag",
[INFO] [stdout] 273 | |         proxy.listen_path, proxy.id
[INFO] [stdout] 274 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:300:19
[INFO] [stdout]     |
[INFO] [stdout] 300 |       let updated = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 301 | |         r#"
[INFO] [stdout] 302 | |         UPDATE proxies
[INFO] [stdout] 303 | |         SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 344 | |         proxy.id
[INFO] [stdout] 345 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:351:5
[INFO] [stdout]     |
[INFO] [stdout] 351 | /     sqlx::query!(
[INFO] [stdout] 352 | |         "DELETE FROM proxy_plugin_associations WHERE proxy_id = $1",
[INFO] [stdout] 353 | |         proxy.id
[INFO] [stdout] 354 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 | /         sqlx::query!(
[INFO] [stdout] 362 | |             r#"
[INFO] [stdout] 363 | |             INSERT INTO proxy_plugin_associations (
[INFO] [stdout] 364 | |                 proxy_id, plugin_config_id, embedded_config
[INFO] [stdout] ...   |
[INFO] [stdout] 370 | |             plugin_assoc.embedded_config.as_ref().map(|c| serde_json::to_value(c).unwrap_or_default())
[INFO] [stdout] 371 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:396:5
[INFO] [stdout]     |
[INFO] [stdout] 396 | /     sqlx::query!(
[INFO] [stdout] 397 | |         r#"
[INFO] [stdout] 398 | |         DELETE FROM proxy_plugin_associations
[INFO] [stdout] 399 | |         WHERE proxy_id = $1
[INFO] [stdout] 400 | |         "#,
[INFO] [stdout] 401 | |         proxy_id
[INFO] [stdout] 402 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:408:25
[INFO] [stdout]     |
[INFO] [stdout] 408 |       let delete_result = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 409 | |         r#"
[INFO] [stdout] 410 | |         DELETE FROM proxies
[INFO] [stdout] 411 | |         WHERE id = $1
[INFO] [stdout] 412 | |         "#,
[INFO] [stdout] 413 | |         proxy_id
[INFO] [stdout] 414 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:423:28
[INFO] [stdout]     |
[INFO] [stdout] 423 |           let track_result = sqlx::query!(
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 424 | |             r#"
[INFO] [stdout] 425 | |             INSERT INTO proxy_deletions (id, deleted_at)
[INFO] [stdout] 426 | |             VALUES ($1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...   |
[INFO] [stdout] 430 | |             proxy_id
[INFO] [stdout] 431 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:456:18
[INFO] [stdout]     |
[INFO] [stdout] 456 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 457 | |         "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = $1) as exists_flag",
[INFO] [stdout] 458 | |         consumer.username
[INFO] [stdout] 459 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:472:32
[INFO] [stdout]     |
[INFO] [stdout] 472 |           let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 473 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = $1) as exists_flag",
[INFO] [stdout] 474 | |             custom_id
[INFO] [stdout] 475 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:492:20
[INFO] [stdout]     |
[INFO] [stdout] 492 |       let inserted = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 493 | |         r#"
[INFO] [stdout] 494 | |         INSERT INTO consumers (
[INFO] [stdout] 495 | |             username, custom_id, credentials
[INFO] [stdout] ...   |
[INFO] [stdout] 502 | |         credentials_json
[INFO] [stdout] 503 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:529:18
[INFO] [stdout]     |
[INFO] [stdout] 529 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 530 | |         "SELECT EXISTS(SELECT 1 FROM consumers WHERE id = $1) as exists_flag",
[INFO] [stdout] 531 | |         consumer.id
[INFO] [stdout] 532 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:544:27
[INFO] [stdout]     |
[INFO] [stdout] 544 |       let username_exists = sqlx::query!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 545 | |         "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = $1 AND id != $2) as exists_flag",
[INFO] [stdout] 546 | |         consumer.username, consumer.id
[INFO] [stdout] 547 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:560:32
[INFO] [stdout]     |
[INFO] [stdout] 560 |           let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 561 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = $1 AND id != $2) as exists_flag",
[INFO] [stdout] 562 | |             custom_id, consumer.id
[INFO] [stdout] 563 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:580:19
[INFO] [stdout]     |
[INFO] [stdout] 580 |       let updated = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 581 | |         r#"
[INFO] [stdout] 582 | |         UPDATE consumers
[INFO] [stdout] 583 | |         SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 594 | |         consumer.id
[INFO] [stdout] 595 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:619:18
[INFO] [stdout]     |
[INFO] [stdout] 619 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 620 | |         "SELECT EXISTS(SELECT 1 FROM consumers WHERE id = $1) as exists_flag",
[INFO] [stdout] 621 | |         consumer_id
[INFO] [stdout] 622 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:634:25
[INFO] [stdout]     |
[INFO] [stdout] 634 |       let delete_result = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 635 | |         "DELETE FROM consumers WHERE id = $1",
[INFO] [stdout] 636 | |         consumer_id
[INFO] [stdout] 637 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:645:28
[INFO] [stdout]     |
[INFO] [stdout] 645 |           let track_result = sqlx::query!(
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 646 | |             r#"
[INFO] [stdout] 647 | |             INSERT INTO consumer_deletions (id, deleted_at)
[INFO] [stdout] 648 | |             VALUES ($1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...   |
[INFO] [stdout] 652 | |             consumer_id
[INFO] [stdout] 653 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:674:15
[INFO] [stdout]     |
[INFO] [stdout] 674 |       let row = sqlx::query!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 675 | |         r#"
[INFO] [stdout] 676 | |         SELECT 
[INFO] [stdout] 677 | |             id, username, custom_id, credentials, created_at, updated_at
[INFO] [stdout] ...   |
[INFO] [stdout] 681 | |         consumer_id
[INFO] [stdout] 682 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:724:20
[INFO] [stdout]     |
[INFO] [stdout] 724 |       let inserted = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 725 | |         r#"
[INFO] [stdout] 726 | |         INSERT INTO plugin_configs (
[INFO] [stdout] 727 | |             plugin_name, config, scope, proxy_id, consumer_id, enabled
[INFO] [stdout] ...   |
[INFO] [stdout] 737 | |         plugin_config.enabled
[INFO] [stdout] 738 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:764:18
[INFO] [stdout]     |
[INFO] [stdout] 764 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 765 | |         "SELECT EXISTS(SELECT 1 FROM plugin_configs WHERE id = $1) as exists_flag",
[INFO] [stdout] 766 | |         plugin_config.id
[INFO] [stdout] 767 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:783:19
[INFO] [stdout]     |
[INFO] [stdout] 783 |       let updated = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 784 | |         r#"
[INFO] [stdout] 785 | |         UPDATE plugin_configs
[INFO] [stdout] 786 | |         SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 803 | |         plugin_config.id
[INFO] [stdout] 804 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:828:18
[INFO] [stdout]     |
[INFO] [stdout] 828 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 829 | |         "SELECT EXISTS(SELECT 1 FROM plugin_configs WHERE id = $1) as exists_flag",
[INFO] [stdout] 830 | |         plugin_config_id
[INFO] [stdout] 831 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:843:5
[INFO] [stdout]     |
[INFO] [stdout] 843 | /     sqlx::query!(
[INFO] [stdout] 844 | |         r#"
[INFO] [stdout] 845 | |         DELETE FROM proxy_plugin_associations
[INFO] [stdout] 846 | |         WHERE plugin_config_id = $1
[INFO] [stdout] 847 | |         "#,
[INFO] [stdout] 848 | |         plugin_config_id
[INFO] [stdout] 849 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:855:25
[INFO] [stdout]     |
[INFO] [stdout] 855 |       let delete_result = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 856 | |         r#"
[INFO] [stdout] 857 | |         DELETE FROM plugin_configs
[INFO] [stdout] 858 | |         WHERE id = $1
[INFO] [stdout] 859 | |         "#,
[INFO] [stdout] 860 | |         plugin_config_id
[INFO] [stdout] 861 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:869:28
[INFO] [stdout]     |
[INFO] [stdout] 869 |           let track_result = sqlx::query!(
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 870 | |             r#"
[INFO] [stdout] 871 | |             INSERT INTO plugin_config_deletions (id, deleted_at)
[INFO] [stdout] 872 | |             VALUES ($1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...   |
[INFO] [stdout] 876 | |             plugin_config_id
[INFO] [stdout] 877 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:899:18
[INFO] [stdout]     |
[INFO] [stdout] 899 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 900 | |         r#"
[INFO] [stdout] 901 | |         SELECT MAX(latest_time) as "max_time: chrono::DateTime<chrono::Utc>"
[INFO] [stdout] 902 | |         FROM (
[INFO] [stdout] ...   |
[INFO] [stdout] 909 | |         "#
[INFO] [stdout] 910 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:930:27
[INFO] [stdout]     |
[INFO] [stdout] 930 |       let updated_proxies = sqlx::query_as!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 931 | |         Proxy,
[INFO] [stdout] 932 | |         r#"
[INFO] [stdout] 933 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 948 | |         since
[INFO] [stdout] 949 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:972:25
[INFO] [stdout]     |
[INFO] [stdout] 972 |           proxy.plugins = sqlx::query_as!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 973 | |             PluginAssociation,
[INFO] [stdout] 974 | |             r#"
[INFO] [stdout] 975 | |             SELECT plugin_config_id, embedded_config as "embedded_config: Value"
[INFO] [stdout] ...   |
[INFO] [stdout] 979 | |             proxy.id
[INFO] [stdout] 980 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/postgres.rs:993:15
[INFO] [stdout]      |
[INFO] [stdout]  993 |           match sqlx::query!(
[INFO] [stdout]      |  _______________^
[INFO] [stdout]  994 | |             r#"
[INFO] [stdout]  995 | |             SELECT id
[INFO] [stdout]  996 | |             FROM proxy_deletions
[INFO] [stdout] ...    |
[INFO] [stdout]  999 | |             since
[INFO] [stdout] 1000 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/postgres.rs:1012:29
[INFO] [stdout]      |
[INFO] [stdout] 1012 |       let updated_consumers = sqlx::query_as!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1013 | |         Consumer,
[INFO] [stdout] 1014 | |         r#"
[INFO] [stdout] 1015 | |         SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1023 | |         since
[INFO] [stdout] 1024 | |     )
[INFO] [stdout]      | |_____^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/postgres.rs:1034:15
[INFO] [stdout]      |
[INFO] [stdout] 1034 |           match sqlx::query!(
[INFO] [stdout]      |  _______________^
[INFO] [stdout] 1035 | |             r#"
[INFO] [stdout] 1036 | |             SELECT id
[INFO] [stdout] 1037 | |             FROM consumer_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1040 | |             since
[INFO] [stdout] 1041 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/postgres.rs:1053:34
[INFO] [stdout]      |
[INFO] [stdout] 1053 |       let updated_plugin_configs = sqlx::query_as!(
[INFO] [stdout]      |  __________________________________^
[INFO] [stdout] 1054 | |         PluginConfig,
[INFO] [stdout] 1055 | |         r#"
[INFO] [stdout] 1056 | |         SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1067 | |         since
[INFO] [stdout] 1068 | |     )
[INFO] [stdout]      | |_____^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/postgres.rs:1089:15
[INFO] [stdout]      |
[INFO] [stdout] 1089 |           match sqlx::query!(
[INFO] [stdout]      |  _______________^
[INFO] [stdout] 1090 | |             r#"
[INFO] [stdout] 1091 | |             SELECT id
[INFO] [stdout] 1092 | |             FROM plugin_config_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1095 | |             since
[INFO] [stdout] 1096 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:133:16
[INFO] [stdout]     |
[INFO] [stdout] 133 |       let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 134 | |         Proxy,
[INFO] [stdout] 135 | |         r#"
[INFO] [stdout] 136 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 147 | |         "#
[INFO] [stdout] 148 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:360:33
[INFO] [stdout]     |
[INFO] [stdout] 360 |           let mut proxies = match sqlx::query_as!(
[INFO] [stdout]     |  _________________________________^
[INFO] [stdout] 361 | |             Proxy,
[INFO] [stdout] 362 | |             r#"
[INFO] [stdout] 363 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 374 | |             "#
[INFO] [stdout] 375 | |         ).fetch_all(&self.pool).await {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:401:31
[INFO] [stdout]     |
[INFO] [stdout] 401 |           let consumers = match sqlx::query_as!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 402 | |             Consumer,
[INFO] [stdout] 403 | |             r#"
[INFO] [stdout] 404 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 407 | |             "#
[INFO] [stdout] 408 | |         ).fetch_all(&self.pool).await {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:417:36
[INFO] [stdout]     |
[INFO] [stdout] 417 |           let plugin_configs = match sqlx::query_as!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 418 | |             PluginConfig,
[INFO] [stdout] 419 | |             r#"
[INFO] [stdout] 420 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 425 | |             "#
[INFO] [stdout] 426 | |         ).fetch_all(&self.pool).await {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:437:45
[INFO] [stdout]     |
[INFO] [stdout] 437 |               let plugin_associations = match sqlx::query!(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 438 | |                 r#"
[INFO] [stdout] 439 | |                 SELECT plugin_config_id, embedded_config
[INFO] [stdout] 440 | |                 FROM proxy_plugin_associations
[INFO] [stdout] ...   |
[INFO] [stdout] 444 | |                 proxy.id
[INFO] [stdout] 445 | |             ).fetch_all(&self.pool).await {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:473:20
[INFO] [stdout]     |
[INFO] [stdout] 473 |           let rows = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 474 | |             Proxy,
[INFO] [stdout] 475 | |             r#"
[INFO] [stdout] 476 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 487 | |             "#
[INFO] [stdout] 488 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:714:22
[INFO] [stdout]     |
[INFO] [stdout] 714 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 715 | |             "SELECT EXISTS(SELECT 1 FROM proxies WHERE id = ?) as exists",
[INFO] [stdout] 716 | |             proxy.id
[INFO] [stdout] 717 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:728:27
[INFO] [stdout]     |
[INFO] [stdout] 728 |           let path_exists = sqlx::query!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 729 | |             "SELECT EXISTS(SELECT 1 FROM proxies WHERE listen_path = ? AND id != ?) as exists",
[INFO] [stdout] 730 | |             proxy.listen_path, proxy.id
[INFO] [stdout] 731 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:759:9
[INFO] [stdout]     |
[INFO] [stdout] 759 | /         sqlx::query!(
[INFO] [stdout] 760 | |             r#"
[INFO] [stdout] 761 | |             UPDATE proxies
[INFO] [stdout] 762 | |             SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 802 | |             proxy.id
[INFO] [stdout] 803 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:809:9
[INFO] [stdout]     |
[INFO] [stdout] 809 | /         sqlx::query!(
[INFO] [stdout] 810 | |             "DELETE FROM proxy_plugin_associations WHERE proxy_id = ?",
[INFO] [stdout] 811 | |             proxy.id
[INFO] [stdout] 812 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:824:13
[INFO] [stdout]     |
[INFO] [stdout] 824 | /             sqlx::query!(
[INFO] [stdout] 825 | |                 r#"
[INFO] [stdout] 826 | |                 INSERT INTO proxy_plugin_associations (
[INFO] [stdout] 827 | |                     proxy_id, plugin_config_id, embedded_config
[INFO] [stdout] ...   |
[INFO] [stdout] 833 | |                 embedded_config_json
[INFO] [stdout] 834 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:855:9
[INFO] [stdout]     |
[INFO] [stdout] 855 | /         sqlx::query!(
[INFO] [stdout] 856 | |             r#"
[INFO] [stdout] 857 | |             DELETE FROM proxy_plugin_associations
[INFO] [stdout] 858 | |             WHERE proxy_id = ?
[INFO] [stdout] 859 | |             "#,
[INFO] [stdout] 860 | |             proxy_id
[INFO] [stdout] 861 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:867:29
[INFO] [stdout]     |
[INFO] [stdout] 867 |           let delete_result = sqlx::query!(
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 868 | |             r#"
[INFO] [stdout] 869 | |             DELETE FROM proxies
[INFO] [stdout] 870 | |             WHERE id = ?
[INFO] [stdout] 871 | |             "#,
[INFO] [stdout] 872 | |             proxy_id
[INFO] [stdout] 873 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:880:13
[INFO] [stdout]     |
[INFO] [stdout] 880 | /             sqlx::query!(
[INFO] [stdout] 881 | |                 r#"
[INFO] [stdout] 882 | |                 INSERT INTO proxy_deletions (id, deleted_at)
[INFO] [stdout] 883 | |                 VALUES (?, CURRENT_TIMESTAMP)
[INFO] [stdout] ...   |
[INFO] [stdout] 886 | |                 proxy_id
[INFO] [stdout] 887 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:905:22
[INFO] [stdout]     |
[INFO] [stdout] 905 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 906 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = ?) as exists",
[INFO] [stdout] 907 | |             consumer.username
[INFO] [stdout] 908 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:920:36
[INFO] [stdout]     |
[INFO] [stdout] 920 |               let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 921 | |                 "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = ?) as exists",
[INFO] [stdout] 922 | |                 custom_id
[INFO] [stdout] 923 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:942:9
[INFO] [stdout]     |
[INFO] [stdout] 942 | /         sqlx::query!(
[INFO] [stdout] 943 | |             r#"
[INFO] [stdout] 944 | |             INSERT INTO consumers (
[INFO] [stdout] 945 | |                 id, username, custom_id, credentials, created_at, updated_at
[INFO] [stdout] ...   |
[INFO] [stdout] 952 | |             credentials_json
[INFO] [stdout] 953 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:967:22
[INFO] [stdout]     |
[INFO] [stdout] 967 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 968 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE id = ?) as exists",
[INFO] [stdout] 969 | |             consumer.id
[INFO] [stdout] 970 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:981:31
[INFO] [stdout]     |
[INFO] [stdout] 981 |           let username_exists = sqlx::query!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 982 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = ? AND id != ?) as exists",
[INFO] [stdout] 983 | |             consumer.username, consumer.id
[INFO] [stdout] 984 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:996:36
[INFO] [stdout]     |
[INFO] [stdout] 996 |               let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 997 | |                 "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = ? AND id != ?) as exists",
[INFO] [stdout] 998 | |                 custom_id, consumer.id
[INFO] [stdout] 999 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1015:9
[INFO] [stdout]      |
[INFO] [stdout] 1015 | /         sqlx::query!(
[INFO] [stdout] 1016 | |             r#"
[INFO] [stdout] 1017 | |             UPDATE consumers
[INFO] [stdout] 1018 | |             SET 
[INFO] [stdout] ...    |
[INFO] [stdout] 1028 | |             consumer.id
[INFO] [stdout] 1029 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1046:9
[INFO] [stdout]      |
[INFO] [stdout] 1046 | /         sqlx::query!(
[INFO] [stdout] 1047 | |             "DELETE FROM plugin_configs WHERE consumer_id = ?",
[INFO] [stdout] 1048 | |             consumer_id
[INFO] [stdout] 1049 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1055:29
[INFO] [stdout]      |
[INFO] [stdout] 1055 |           let delete_result = sqlx::query!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1056 | |             "DELETE FROM consumers WHERE id = ?",
[INFO] [stdout] 1057 | |             consumer_id
[INFO] [stdout] 1058 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1065:13
[INFO] [stdout]      |
[INFO] [stdout] 1065 | /             sqlx::query!(
[INFO] [stdout] 1066 | |                 r#"
[INFO] [stdout] 1067 | |                 INSERT INTO consumer_deletions (id, deleted_at)
[INFO] [stdout] 1068 | |                 VALUES (?, CURRENT_TIMESTAMP)
[INFO] [stdout] ...    |
[INFO] [stdout] 1071 | |                 consumer_id
[INFO] [stdout] 1072 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1097:9
[INFO] [stdout]      |
[INFO] [stdout] 1097 | /         sqlx::query!(
[INFO] [stdout] 1098 | |             r#"
[INFO] [stdout] 1099 | |             INSERT INTO plugin_configs (
[INFO] [stdout] 1100 | |                 id, plugin_name, config, scope, proxy_id, consumer_id, enabled,
[INFO] [stdout] ...    |
[INFO] [stdout] 1111 | |             plugin_config.enabled
[INFO] [stdout] 1112 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1126:22
[INFO] [stdout]      |
[INFO] [stdout] 1126 |           let exists = sqlx::query!(
[INFO] [stdout]      |  ______________________^
[INFO] [stdout] 1127 | |             "SELECT EXISTS(SELECT 1 FROM plugin_configs WHERE id = ?) as exists",
[INFO] [stdout] 1128 | |             plugin_config.id
[INFO] [stdout] 1129 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1144:9
[INFO] [stdout]      |
[INFO] [stdout] 1144 | /         sqlx::query!(
[INFO] [stdout] 1145 | |             r#"
[INFO] [stdout] 1146 | |             UPDATE plugin_configs
[INFO] [stdout] 1147 | |             SET 
[INFO] [stdout] ...    |
[INFO] [stdout] 1163 | |             plugin_config.id
[INFO] [stdout] 1164 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1181:9
[INFO] [stdout]      |
[INFO] [stdout] 1181 | /         sqlx::query!(
[INFO] [stdout] 1182 | |             "DELETE FROM proxy_plugin_associations WHERE plugin_config_id = ?",
[INFO] [stdout] 1183 | |             plugin_config_id
[INFO] [stdout] 1184 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1190:29
[INFO] [stdout]      |
[INFO] [stdout] 1190 |           let delete_result = sqlx::query!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1191 | |             "DELETE FROM plugin_configs WHERE id = ?",
[INFO] [stdout] 1192 | |             plugin_config_id
[INFO] [stdout] 1193 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1200:13
[INFO] [stdout]      |
[INFO] [stdout] 1200 | /             sqlx::query!(
[INFO] [stdout] 1201 | |                 r#"
[INFO] [stdout] 1202 | |                 INSERT INTO plugin_config_deletions (id, deleted_at)
[INFO] [stdout] 1203 | |                 VALUES (?, CURRENT_TIMESTAMP)
[INFO] [stdout] ...    |
[INFO] [stdout] 1206 | |                 plugin_config_id
[INFO] [stdout] 1207 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1225:22
[INFO] [stdout]      |
[INFO] [stdout] 1225 |           let result = sqlx::query!(
[INFO] [stdout]      |  ______________________^
[INFO] [stdout] 1226 | |             r#"
[INFO] [stdout] 1227 | |             SELECT MAX(latest_time) as max_time
[INFO] [stdout] 1228 | |             FROM (
[INFO] [stdout] ...    |
[INFO] [stdout] 1235 | |             "#
[INFO] [stdout] 1236 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1256:31
[INFO] [stdout]      |
[INFO] [stdout] 1256 |           let updated_proxies = sqlx::query_as!(
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1257 | |             Proxy,
[INFO] [stdout] 1258 | |             r#"
[INFO] [stdout] 1259 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1274 | |             since
[INFO] [stdout] 1275 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1298:29
[INFO] [stdout]      |
[INFO] [stdout] 1298 |               proxy.plugins = sqlx::query_as!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1299 | |                 PluginAssociation,
[INFO] [stdout] 1300 | |                 r#"
[INFO] [stdout] 1301 | |                 SELECT plugin_config_id, embedded_config as embedded_config_json
[INFO] [stdout] ...    |
[INFO] [stdout] 1305 | |                 proxy.id
[INFO] [stdout] 1306 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1324:33
[INFO] [stdout]      |
[INFO] [stdout] 1324 |           let deleted_proxy_ids = sqlx::query!(
[INFO] [stdout]      |  _________________________________^
[INFO] [stdout] 1325 | |             r#"
[INFO] [stdout] 1326 | |             SELECT id
[INFO] [stdout] 1327 | |             FROM proxy_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1330 | |             since
[INFO] [stdout] 1331 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1340:33
[INFO] [stdout]      |
[INFO] [stdout] 1340 |           let updated_consumers = sqlx::query_as!(
[INFO] [stdout]      |  _________________________________^
[INFO] [stdout] 1341 | |             Consumer,
[INFO] [stdout] 1342 | |             r#"
[INFO] [stdout] 1343 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1351 | |             since
[INFO] [stdout] 1352 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1371:36
[INFO] [stdout]      |
[INFO] [stdout] 1371 |           let deleted_consumer_ids = sqlx::query!(
[INFO] [stdout]      |  ____________________________________^
[INFO] [stdout] 1372 | |             r#"
[INFO] [stdout] 1373 | |             SELECT id
[INFO] [stdout] 1374 | |             FROM consumer_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1377 | |             since
[INFO] [stdout] 1378 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1387:38
[INFO] [stdout]      |
[INFO] [stdout] 1387 |           let updated_plugin_configs = sqlx::query_as!(
[INFO] [stdout]      |  ______________________________________^
[INFO] [stdout] 1388 | |             PluginConfig,
[INFO] [stdout] 1389 | |             r#"
[INFO] [stdout] 1390 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1401 | |             since
[INFO] [stdout] 1402 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1431:41
[INFO] [stdout]      |
[INFO] [stdout] 1431 |           let deleted_plugin_config_ids = sqlx::query!(
[INFO] [stdout]      |  _________________________________________^
[INFO] [stdout] 1432 | |             r#"
[INFO] [stdout] 1433 | |             SELECT id
[INFO] [stdout] 1434 | |             FROM plugin_config_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1437 | |             since
[INFO] [stdout] 1438 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:137:16
[INFO] [stdout]     |
[INFO] [stdout] 137 |       let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 138 | |         Proxy,
[INFO] [stdout] 139 | |         r#"
[INFO] [stdout] 140 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |         "#
[INFO] [stdout] 152 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 181 |       let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 182 | |         Consumer,
[INFO] [stdout] 183 | |         r#"
[INFO] [stdout] 184 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | |         "#
[INFO] [stdout] 188 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:197:16
[INFO] [stdout]     |
[INFO] [stdout] 197 |       let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 198 | |         PluginConfig,
[INFO] [stdout] 199 | |         r#"
[INFO] [stdout] 200 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 205 | |         "#
[INFO] [stdout] 206 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:243:15
[INFO] [stdout]     |
[INFO] [stdout] 243 |       let row = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 244 | |         Consumer,
[INFO] [stdout] 245 | |         r#"
[INFO] [stdout] 246 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         consumer_id
[INFO] [stdout] 252 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:467:20
[INFO] [stdout]     |
[INFO] [stdout] 467 |           let rows = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 468 | |             Proxy,
[INFO] [stdout] 469 | |             r#"
[INFO] [stdout] 470 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 481 | |             "#
[INFO] [stdout] 482 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:511:20
[INFO] [stdout]     |
[INFO] [stdout] 511 |           let rows = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 512 | |             Consumer,
[INFO] [stdout] 513 | |             r#"
[INFO] [stdout] 514 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 517 | |             "#
[INFO] [stdout] 518 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:527:20
[INFO] [stdout]     |
[INFO] [stdout] 527 |           let rows = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 528 | |             PluginConfig,
[INFO] [stdout] 529 | |             r#"
[INFO] [stdout] 530 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 535 | |             "#
[INFO] [stdout] 536 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:658:22
[INFO] [stdout]     |
[INFO] [stdout] 658 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 659 | |             "SELECT EXISTS(SELECT 1 FROM proxies WHERE id = ?) as exists",
[INFO] [stdout] 660 | |             proxy.id
[INFO] [stdout] 661 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:672:27
[INFO] [stdout]     |
[INFO] [stdout] 672 |           let path_exists = sqlx::query!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 673 | |             "SELECT EXISTS(SELECT 1 FROM proxies WHERE listen_path = ? AND id != ?) as exists",
[INFO] [stdout] 674 | |             proxy.listen_path, proxy.id
[INFO] [stdout] 675 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:703:9
[INFO] [stdout]     |
[INFO] [stdout] 703 | /         sqlx::query!(
[INFO] [stdout] 704 | |             r#"
[INFO] [stdout] 705 | |             UPDATE proxies
[INFO] [stdout] 706 | |             SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 746 | |             proxy.id
[INFO] [stdout] 747 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:753:9
[INFO] [stdout]     |
[INFO] [stdout] 753 | /         sqlx::query!(
[INFO] [stdout] 754 | |             "DELETE FROM proxy_plugin_associations WHERE proxy_id = ?",
[INFO] [stdout] 755 | |             proxy.id
[INFO] [stdout] 756 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:768:13
[INFO] [stdout]     |
[INFO] [stdout] 768 | /             sqlx::query!(
[INFO] [stdout] 769 | |                 r#"
[INFO] [stdout] 770 | |                 INSERT INTO proxy_plugin_associations (
[INFO] [stdout] 771 | |                     proxy_id, plugin_config_id, embedded_config
[INFO] [stdout] ...   |
[INFO] [stdout] 777 | |                 embedded_config_json
[INFO] [stdout] 778 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:799:9
[INFO] [stdout]     |
[INFO] [stdout] 799 | /         sqlx::query!(
[INFO] [stdout] 800 | |             r#"
[INFO] [stdout] 801 | |             DELETE FROM proxy_plugin_associations
[INFO] [stdout] 802 | |             WHERE proxy_id = ?1
[INFO] [stdout] 803 | |             "#,
[INFO] [stdout] 804 | |             proxy_id
[INFO] [stdout] 805 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:811:29
[INFO] [stdout]     |
[INFO] [stdout] 811 |           let delete_result = sqlx::query!(
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 812 | |             r#"
[INFO] [stdout] 813 | |             DELETE FROM proxies
[INFO] [stdout] 814 | |             WHERE id = ?1
[INFO] [stdout] 815 | |             "#,
[INFO] [stdout] 816 | |             proxy_id
[INFO] [stdout] 817 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:824:13
[INFO] [stdout]     |
[INFO] [stdout] 824 | /             sqlx::query!(
[INFO] [stdout] 825 | |                 r#"
[INFO] [stdout] 826 | |                 INSERT INTO proxy_deletions (id, deleted_at)
[INFO] [stdout] 827 | |                 VALUES (?1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...   |
[INFO] [stdout] 830 | |                 proxy_id
[INFO] [stdout] 831 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:849:22
[INFO] [stdout]     |
[INFO] [stdout] 849 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 850 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = ?) as exists",
[INFO] [stdout] 851 | |             consumer.username
[INFO] [stdout] 852 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:864:36
[INFO] [stdout]     |
[INFO] [stdout] 864 |               let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 865 | |                 "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = ?) as exists",
[INFO] [stdout] 866 | |                 custom_id
[INFO] [stdout] 867 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:886:9
[INFO] [stdout]     |
[INFO] [stdout] 886 | /         sqlx::query!(
[INFO] [stdout] 887 | |             r#"
[INFO] [stdout] 888 | |             INSERT INTO consumers (
[INFO] [stdout] 889 | |                 id, username, custom_id, credentials, created_at, updated_at
[INFO] [stdout] ...   |
[INFO] [stdout] 896 | |             credentials_json
[INFO] [stdout] 897 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:911:22
[INFO] [stdout]     |
[INFO] [stdout] 911 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 912 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE id = ?) as exists",
[INFO] [stdout] 913 | |             consumer.id
[INFO] [stdout] 914 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:925:31
[INFO] [stdout]     |
[INFO] [stdout] 925 |           let username_exists = sqlx::query!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 926 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = ? AND id != ?) as exists",
[INFO] [stdout] 927 | |             consumer.username, consumer.id
[INFO] [stdout] 928 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:940:36
[INFO] [stdout]     |
[INFO] [stdout] 940 |               let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 941 | |                 "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = ? AND id != ?) as exists",
[INFO] [stdout] 942 | |                 custom_id, consumer.id
[INFO] [stdout] 943 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:959:9
[INFO] [stdout]     |
[INFO] [stdout] 959 | /         sqlx::query!(
[INFO] [stdout] 960 | |             r#"
[INFO] [stdout] 961 | |             UPDATE consumers
[INFO] [stdout] 962 | |             SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 972 | |             consumer.id
[INFO] [stdout] 973 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:990:29
[INFO] [stdout]     |
[INFO] [stdout] 990 |           let delete_result = sqlx::query!(
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 991 | |             r#"
[INFO] [stdout] 992 | |             DELETE FROM consumers
[INFO] [stdout] 993 | |             WHERE id = ?1
[INFO] [stdout] 994 | |             "#,
[INFO] [stdout] 995 | |             consumer_id
[INFO] [stdout] 996 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1003:13
[INFO] [stdout]      |
[INFO] [stdout] 1003 | /             sqlx::query!(
[INFO] [stdout] 1004 | |                 r#"
[INFO] [stdout] 1005 | |                 INSERT INTO consumer_deletions (id, deleted_at)
[INFO] [stdout] 1006 | |                 VALUES (?1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...    |
[INFO] [stdout] 1009 | |                 consumer_id
[INFO] [stdout] 1010 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1035:9
[INFO] [stdout]      |
[INFO] [stdout] 1035 | /         sqlx::query!(
[INFO] [stdout] 1036 | |             r#"
[INFO] [stdout] 1037 | |             INSERT INTO plugin_configs (
[INFO] [stdout] 1038 | |                 id, plugin_name, config, scope, proxy_id, consumer_id, enabled,
[INFO] [stdout] ...    |
[INFO] [stdout] 1049 | |             plugin_config.enabled
[INFO] [stdout] 1050 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1064:22
[INFO] [stdout]      |
[INFO] [stdout] 1064 |           let exists = sqlx::query!(
[INFO] [stdout]      |  ______________________^
[INFO] [stdout] 1065 | |             "SELECT EXISTS(SELECT 1 FROM plugin_configs WHERE id = ?) as exists",
[INFO] [stdout] 1066 | |             plugin_config.id
[INFO] [stdout] 1067 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1082:9
[INFO] [stdout]      |
[INFO] [stdout] 1082 | /         sqlx::query!(
[INFO] [stdout] 1083 | |             r#"
[INFO] [stdout] 1084 | |             UPDATE plugin_configs
[INFO] [stdout] 1085 | |             SET 
[INFO] [stdout] ...    |
[INFO] [stdout] 1101 | |             plugin_config.id
[INFO] [stdout] 1102 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1119:9
[INFO] [stdout]      |
[INFO] [stdout] 1119 | /         sqlx::query!(
[INFO] [stdout] 1120 | |             r#"
[INFO] [stdout] 1121 | |             DELETE FROM proxy_plugin_associations
[INFO] [stdout] 1122 | |             WHERE plugin_config_id = ?1
[INFO] [stdout] 1123 | |             "#,
[INFO] [stdout] 1124 | |             plugin_config_id
[INFO] [stdout] 1125 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1131:29
[INFO] [stdout]      |
[INFO] [stdout] 1131 |           let delete_result = sqlx::query!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1132 | |             r#"
[INFO] [stdout] 1133 | |             DELETE FROM plugin_configs
[INFO] [stdout] 1134 | |             WHERE id = ?1
[INFO] [stdout] 1135 | |             "#,
[INFO] [stdout] 1136 | |             plugin_config_id
[INFO] [stdout] 1137 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1144:13
[INFO] [stdout]      |
[INFO] [stdout] 1144 | /             sqlx::query!(
[INFO] [stdout] 1145 | |                 r#"
[INFO] [stdout] 1146 | |                 INSERT INTO plugin_config_deletions (id, deleted_at)
[INFO] [stdout] 1147 | |                 VALUES (?1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...    |
[INFO] [stdout] 1150 | |                 plugin_config_id
[INFO] [stdout] 1151 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1169:22
[INFO] [stdout]      |
[INFO] [stdout] 1169 |           let result = sqlx::query!(
[INFO] [stdout]      |  ______________________^
[INFO] [stdout] 1170 | |             r#"
[INFO] [stdout] 1171 | |             SELECT MAX(latest_time) as "max_time: DateTime<Utc>"
[INFO] [stdout] 1172 | |             FROM (
[INFO] [stdout] ...    |
[INFO] [stdout] 1179 | |             "#
[INFO] [stdout] 1180 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1200:31
[INFO] [stdout]      |
[INFO] [stdout] 1200 |           let updated_proxies = sqlx::query_as!(
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1201 | |             Proxy,
[INFO] [stdout] 1202 | |             r#"
[INFO] [stdout] 1203 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1219 | |             since
[INFO] [stdout] 1220 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1243:29
[INFO] [stdout]      |
[INFO] [stdout] 1243 |               proxy.plugins = sqlx::query_as!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1244 | |                 PluginAssociation,
[INFO] [stdout] 1245 | |                 r#"
[INFO] [stdout] 1246 | |                 SELECT plugin_config_id, embedded_config as "embedded_config: Value"
[INFO] [stdout] ...    |
[INFO] [stdout] 1250 | |                 proxy.id
[INFO] [stdout] 1251 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1260:33
[INFO] [stdout]      |
[INFO] [stdout] 1260 |           let deleted_proxy_ids = sqlx::query!(
[INFO] [stdout]      |  _________________________________^
[INFO] [stdout] 1261 | |             r#"
[INFO] [stdout] 1262 | |             SELECT id
[INFO] [stdout] 1263 | |             FROM proxy_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1266 | |             since
[INFO] [stdout] 1267 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1276:33
[INFO] [stdout]      |
[INFO] [stdout] 1276 |           let updated_consumers = sqlx::query_as!(
[INFO] [stdout]      |  _________________________________^
[INFO] [stdout] 1277 | |             Consumer,
[INFO] [stdout] 1278 | |             r#"
[INFO] [stdout] 1279 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1288 | |             since
[INFO] [stdout] 1289 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1295:36
[INFO] [stdout]      |
[INFO] [stdout] 1295 |           let deleted_consumer_ids = sqlx::query!(
[INFO] [stdout]      |  ____________________________________^
[INFO] [stdout] 1296 | |             r#"
[INFO] [stdout] 1297 | |             SELECT id
[INFO] [stdout] 1298 | |             FROM consumer_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1301 | |             since
[INFO] [stdout] 1302 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1311:38
[INFO] [stdout]      |
[INFO] [stdout] 1311 |           let updated_plugin_configs = sqlx::query_as!(
[INFO] [stdout]      |  ______________________________________^
[INFO] [stdout] 1312 | |             PluginConfig,
[INFO] [stdout] 1313 | |             r#"
[INFO] [stdout] 1314 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1326 | |             since
[INFO] [stdout] 1327 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1344:41
[INFO] [stdout]      |
[INFO] [stdout] 1344 |           let deleted_plugin_config_ids = sqlx::query!(
[INFO] [stdout]      |  _________________________________________^
[INFO] [stdout] 1345 | |             r#"
[INFO] [stdout] 1346 | |             SELECT id
[INFO] [stdout] 1347 | |             FROM plugin_config_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1350 | |             since
[INFO] [stdout] 1351 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]   --> src/database/postgres.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |       let mut proxies = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 25 | |         Proxy,
[INFO] [stdout] 26 | |         r#"
[INFO] [stdout] 27 | |         SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 40 | |         "#
[INFO] [stdout] 41 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]   --> src/database/postgres.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |       let consumers = sqlx::query_as!(
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 66 | |         Consumer,
[INFO] [stdout] 67 | |         r#"
[INFO] [stdout] 68 | |         SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 72 | |         "#
[INFO] [stdout] 73 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]   --> src/database/postgres.rs:79:26
[INFO] [stdout]    |
[INFO] [stdout] 79 |       let plugin_configs = sqlx::query_as!(
[INFO] [stdout]    |  __________________________^
[INFO] [stdout] 80 | |         PluginConfig,
[INFO] [stdout] 81 | |         r#"
[INFO] [stdout] 82 | |         SELECT 
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |         "#
[INFO] [stdout] 88 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:96:35
[INFO] [stdout]     |
[INFO] [stdout]  96 |           let plugin_associations = sqlx::query!(
[INFO] [stdout]     |  ___________________________________^
[INFO] [stdout]  97 | |             r#"
[INFO] [stdout]  98 | |             SELECT plugin_config_id, embedded_config
[INFO] [stdout]  99 | |             FROM proxy_plugin_associations
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |             proxy.id
[INFO] [stdout] 104 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 152 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 153 | |         "SELECT EXISTS(SELECT 1 FROM proxies WHERE listen_path = $1) as exists_flag",
[INFO] [stdout] 154 | |         proxy.listen_path
[INFO] [stdout] 155 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:181:26
[INFO] [stdout]     |
[INFO] [stdout] 181 |       let inserted_proxy = sqlx::query!(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 182 | |         r#"
[INFO] [stdout] 183 | |         INSERT INTO proxies (
[INFO] [stdout] 184 | |             name, listen_path, backend_protocol, backend_host, backend_port, backend_path,
[INFO] [stdout] ...   |
[INFO] [stdout] 211 | |         auth_mode_str
[INFO] [stdout] 212 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 | /         sqlx::query!(
[INFO] [stdout] 220 | |             r#"
[INFO] [stdout] 221 | |             INSERT INTO proxy_plugin_associations (
[INFO] [stdout] 222 | |                 proxy_id, plugin_config_id, embedded_config
[INFO] [stdout] ...   |
[INFO] [stdout] 228 | |             plugin_assoc.embedded_config.as_ref().map(|c| serde_json::to_value(c).unwrap_or_default())
[INFO] [stdout] 229 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:256:18
[INFO] [stdout]     |
[INFO] [stdout] 256 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 257 | |         "SELECT EXISTS(SELECT 1 FROM proxies WHERE id = $1) as exists_flag",
[INFO] [stdout] 258 | |         proxy.id
[INFO] [stdout] 259 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:271:23
[INFO] [stdout]     |
[INFO] [stdout] 271 |       let path_exists = sqlx::query!(
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 272 | |         "SELECT EXISTS(SELECT 1 FROM proxies WHERE listen_path = $1 AND id != $2) as exists_flag",
[INFO] [stdout] 273 | |         proxy.listen_path, proxy.id
[INFO] [stdout] 274 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:300:19
[INFO] [stdout]     |
[INFO] [stdout] 300 |       let updated = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 301 | |         r#"
[INFO] [stdout] 302 | |         UPDATE proxies
[INFO] [stdout] 303 | |         SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 344 | |         proxy.id
[INFO] [stdout] 345 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:351:5
[INFO] [stdout]     |
[INFO] [stdout] 351 | /     sqlx::query!(
[INFO] [stdout] 352 | |         "DELETE FROM proxy_plugin_associations WHERE proxy_id = $1",
[INFO] [stdout] 353 | |         proxy.id
[INFO] [stdout] 354 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 361 | /         sqlx::query!(
[INFO] [stdout] 362 | |             r#"
[INFO] [stdout] 363 | |             INSERT INTO proxy_plugin_associations (
[INFO] [stdout] 364 | |                 proxy_id, plugin_config_id, embedded_config
[INFO] [stdout] ...   |
[INFO] [stdout] 370 | |             plugin_assoc.embedded_config.as_ref().map(|c| serde_json::to_value(c).unwrap_or_default())
[INFO] [stdout] 371 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:396:5
[INFO] [stdout]     |
[INFO] [stdout] 396 | /     sqlx::query!(
[INFO] [stdout] 397 | |         r#"
[INFO] [stdout] 398 | |         DELETE FROM proxy_plugin_associations
[INFO] [stdout] 399 | |         WHERE proxy_id = $1
[INFO] [stdout] 400 | |         "#,
[INFO] [stdout] 401 | |         proxy_id
[INFO] [stdout] 402 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:408:25
[INFO] [stdout]     |
[INFO] [stdout] 408 |       let delete_result = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 409 | |         r#"
[INFO] [stdout] 410 | |         DELETE FROM proxies
[INFO] [stdout] 411 | |         WHERE id = $1
[INFO] [stdout] 412 | |         "#,
[INFO] [stdout] 413 | |         proxy_id
[INFO] [stdout] 414 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:423:28
[INFO] [stdout]     |
[INFO] [stdout] 423 |           let track_result = sqlx::query!(
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 424 | |             r#"
[INFO] [stdout] 425 | |             INSERT INTO proxy_deletions (id, deleted_at)
[INFO] [stdout] 426 | |             VALUES ($1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...   |
[INFO] [stdout] 430 | |             proxy_id
[INFO] [stdout] 431 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:456:18
[INFO] [stdout]     |
[INFO] [stdout] 456 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 457 | |         "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = $1) as exists_flag",
[INFO] [stdout] 458 | |         consumer.username
[INFO] [stdout] 459 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:472:32
[INFO] [stdout]     |
[INFO] [stdout] 472 |           let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 473 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = $1) as exists_flag",
[INFO] [stdout] 474 | |             custom_id
[INFO] [stdout] 475 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:492:20
[INFO] [stdout]     |
[INFO] [stdout] 492 |       let inserted = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 493 | |         r#"
[INFO] [stdout] 494 | |         INSERT INTO consumers (
[INFO] [stdout] 495 | |             username, custom_id, credentials
[INFO] [stdout] ...   |
[INFO] [stdout] 502 | |         credentials_json
[INFO] [stdout] 503 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:529:18
[INFO] [stdout]     |
[INFO] [stdout] 529 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 530 | |         "SELECT EXISTS(SELECT 1 FROM consumers WHERE id = $1) as exists_flag",
[INFO] [stdout] 531 | |         consumer.id
[INFO] [stdout] 532 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:544:27
[INFO] [stdout]     |
[INFO] [stdout] 544 |       let username_exists = sqlx::query!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 545 | |         "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = $1 AND id != $2) as exists_flag",
[INFO] [stdout] 546 | |         consumer.username, consumer.id
[INFO] [stdout] 547 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:560:32
[INFO] [stdout]     |
[INFO] [stdout] 560 |           let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ________________________________^
[INFO] [stdout] 561 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = $1 AND id != $2) as exists_flag",
[INFO] [stdout] 562 | |             custom_id, consumer.id
[INFO] [stdout] 563 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:580:19
[INFO] [stdout]     |
[INFO] [stdout] 580 |       let updated = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 581 | |         r#"
[INFO] [stdout] 582 | |         UPDATE consumers
[INFO] [stdout] 583 | |         SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 594 | |         consumer.id
[INFO] [stdout] 595 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:619:18
[INFO] [stdout]     |
[INFO] [stdout] 619 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 620 | |         "SELECT EXISTS(SELECT 1 FROM consumers WHERE id = $1) as exists_flag",
[INFO] [stdout] 621 | |         consumer_id
[INFO] [stdout] 622 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:634:25
[INFO] [stdout]     |
[INFO] [stdout] 634 |       let delete_result = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 635 | |         "DELETE FROM consumers WHERE id = $1",
[INFO] [stdout] 636 | |         consumer_id
[INFO] [stdout] 637 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:645:28
[INFO] [stdout]     |
[INFO] [stdout] 645 |           let track_result = sqlx::query!(
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 646 | |             r#"
[INFO] [stdout] 647 | |             INSERT INTO consumer_deletions (id, deleted_at)
[INFO] [stdout] 648 | |             VALUES ($1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...   |
[INFO] [stdout] 652 | |             consumer_id
[INFO] [stdout] 653 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:674:15
[INFO] [stdout]     |
[INFO] [stdout] 674 |       let row = sqlx::query!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 675 | |         r#"
[INFO] [stdout] 676 | |         SELECT 
[INFO] [stdout] 677 | |             id, username, custom_id, credentials, created_at, updated_at
[INFO] [stdout] ...   |
[INFO] [stdout] 681 | |         consumer_id
[INFO] [stdout] 682 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:724:20
[INFO] [stdout]     |
[INFO] [stdout] 724 |       let inserted = sqlx::query!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 725 | |         r#"
[INFO] [stdout] 726 | |         INSERT INTO plugin_configs (
[INFO] [stdout] 727 | |             plugin_name, config, scope, proxy_id, consumer_id, enabled
[INFO] [stdout] ...   |
[INFO] [stdout] 737 | |         plugin_config.enabled
[INFO] [stdout] 738 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:764:18
[INFO] [stdout]     |
[INFO] [stdout] 764 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 765 | |         "SELECT EXISTS(SELECT 1 FROM plugin_configs WHERE id = $1) as exists_flag",
[INFO] [stdout] 766 | |         plugin_config.id
[INFO] [stdout] 767 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:783:19
[INFO] [stdout]     |
[INFO] [stdout] 783 |       let updated = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 784 | |         r#"
[INFO] [stdout] 785 | |         UPDATE plugin_configs
[INFO] [stdout] 786 | |         SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 803 | |         plugin_config.id
[INFO] [stdout] 804 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:828:18
[INFO] [stdout]     |
[INFO] [stdout] 828 |       let exists = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 829 | |         "SELECT EXISTS(SELECT 1 FROM plugin_configs WHERE id = $1) as exists_flag",
[INFO] [stdout] 830 | |         plugin_config_id
[INFO] [stdout] 831 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:843:5
[INFO] [stdout]     |
[INFO] [stdout] 843 | /     sqlx::query!(
[INFO] [stdout] 844 | |         r#"
[INFO] [stdout] 845 | |         DELETE FROM proxy_plugin_associations
[INFO] [stdout] 846 | |         WHERE plugin_config_id = $1
[INFO] [stdout] 847 | |         "#,
[INFO] [stdout] 848 | |         plugin_config_id
[INFO] [stdout] 849 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:855:25
[INFO] [stdout]     |
[INFO] [stdout] 855 |       let delete_result = sqlx::query!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 856 | |         r#"
[INFO] [stdout] 857 | |         DELETE FROM plugin_configs
[INFO] [stdout] 858 | |         WHERE id = $1
[INFO] [stdout] 859 | |         "#,
[INFO] [stdout] 860 | |         plugin_config_id
[INFO] [stdout] 861 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:869:28
[INFO] [stdout]     |
[INFO] [stdout] 869 |           let track_result = sqlx::query!(
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 870 | |             r#"
[INFO] [stdout] 871 | |             INSERT INTO plugin_config_deletions (id, deleted_at)
[INFO] [stdout] 872 | |             VALUES ($1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...   |
[INFO] [stdout] 876 | |             plugin_config_id
[INFO] [stdout] 877 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:899:18
[INFO] [stdout]     |
[INFO] [stdout] 899 |       let result = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 900 | |         r#"
[INFO] [stdout] 901 | |         SELECT MAX(latest_time) as "max_time: chrono::DateTime<chrono::Utc>"
[INFO] [stdout] 902 | |         FROM (
[INFO] [stdout] ...   |
[INFO] [stdout] 909 | |         "#
[INFO] [stdout] 910 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:930:27
[INFO] [stdout]     |
[INFO] [stdout] 930 |       let updated_proxies = sqlx::query_as!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 931 | |         Proxy,
[INFO] [stdout] 932 | |         r#"
[INFO] [stdout] 933 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 948 | |         since
[INFO] [stdout] 949 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/postgres.rs:972:25
[INFO] [stdout]     |
[INFO] [stdout] 972 |           proxy.plugins = sqlx::query_as!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 973 | |             PluginAssociation,
[INFO] [stdout] 974 | |             r#"
[INFO] [stdout] 975 | |             SELECT plugin_config_id, embedded_config as "embedded_config: Value"
[INFO] [stdout] ...   |
[INFO] [stdout] 979 | |             proxy.id
[INFO] [stdout] 980 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/postgres.rs:993:15
[INFO] [stdout]      |
[INFO] [stdout]  993 |           match sqlx::query!(
[INFO] [stdout]      |  _______________^
[INFO] [stdout]  994 | |             r#"
[INFO] [stdout]  995 | |             SELECT id
[INFO] [stdout]  996 | |             FROM proxy_deletions
[INFO] [stdout] ...    |
[INFO] [stdout]  999 | |             since
[INFO] [stdout] 1000 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/postgres.rs:1012:29
[INFO] [stdout]      |
[INFO] [stdout] 1012 |       let updated_consumers = sqlx::query_as!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1013 | |         Consumer,
[INFO] [stdout] 1014 | |         r#"
[INFO] [stdout] 1015 | |         SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1023 | |         since
[INFO] [stdout] 1024 | |     )
[INFO] [stdout]      | |_____^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/postgres.rs:1034:15
[INFO] [stdout]      |
[INFO] [stdout] 1034 |           match sqlx::query!(
[INFO] [stdout]      |  _______________^
[INFO] [stdout] 1035 | |             r#"
[INFO] [stdout] 1036 | |             SELECT id
[INFO] [stdout] 1037 | |             FROM consumer_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1040 | |             since
[INFO] [stdout] 1041 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/postgres.rs:1053:34
[INFO] [stdout]      |
[INFO] [stdout] 1053 |       let updated_plugin_configs = sqlx::query_as!(
[INFO] [stdout]      |  __________________________________^
[INFO] [stdout] 1054 | |         PluginConfig,
[INFO] [stdout] 1055 | |         r#"
[INFO] [stdout] 1056 | |         SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1067 | |         since
[INFO] [stdout] 1068 | |     )
[INFO] [stdout]      | |_____^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/postgres.rs:1089:15
[INFO] [stdout]      |
[INFO] [stdout] 1089 |           match sqlx::query!(
[INFO] [stdout]      |  _______________^
[INFO] [stdout] 1090 | |             r#"
[INFO] [stdout] 1091 | |             SELECT id
[INFO] [stdout] 1092 | |             FROM plugin_config_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1095 | |             since
[INFO] [stdout] 1096 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:133:16
[INFO] [stdout]     |
[INFO] [stdout] 133 |       let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 134 | |         Proxy,
[INFO] [stdout] 135 | |         r#"
[INFO] [stdout] 136 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 147 | |         "#
[INFO] [stdout] 148 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:360:33
[INFO] [stdout]     |
[INFO] [stdout] 360 |           let mut proxies = match sqlx::query_as!(
[INFO] [stdout]     |  _________________________________^
[INFO] [stdout] 361 | |             Proxy,
[INFO] [stdout] 362 | |             r#"
[INFO] [stdout] 363 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 374 | |             "#
[INFO] [stdout] 375 | |         ).fetch_all(&self.pool).await {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:401:31
[INFO] [stdout]     |
[INFO] [stdout] 401 |           let consumers = match sqlx::query_as!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 402 | |             Consumer,
[INFO] [stdout] 403 | |             r#"
[INFO] [stdout] 404 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 407 | |             "#
[INFO] [stdout] 408 | |         ).fetch_all(&self.pool).await {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:417:36
[INFO] [stdout]     |
[INFO] [stdout] 417 |           let plugin_configs = match sqlx::query_as!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 418 | |             PluginConfig,
[INFO] [stdout] 419 | |             r#"
[INFO] [stdout] 420 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 425 | |             "#
[INFO] [stdout] 426 | |         ).fetch_all(&self.pool).await {
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:437:45
[INFO] [stdout]     |
[INFO] [stdout] 437 |               let plugin_associations = match sqlx::query!(
[INFO] [stdout]     |  _____________________________________________^
[INFO] [stdout] 438 | |                 r#"
[INFO] [stdout] 439 | |                 SELECT plugin_config_id, embedded_config
[INFO] [stdout] 440 | |                 FROM proxy_plugin_associations
[INFO] [stdout] ...   |
[INFO] [stdout] 444 | |                 proxy.id
[INFO] [stdout] 445 | |             ).fetch_all(&self.pool).await {
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:473:20
[INFO] [stdout]     |
[INFO] [stdout] 473 |           let rows = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 474 | |             Proxy,
[INFO] [stdout] 475 | |             r#"
[INFO] [stdout] 476 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 487 | |             "#
[INFO] [stdout] 488 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:714:22
[INFO] [stdout]     |
[INFO] [stdout] 714 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 715 | |             "SELECT EXISTS(SELECT 1 FROM proxies WHERE id = ?) as exists",
[INFO] [stdout] 716 | |             proxy.id
[INFO] [stdout] 717 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:728:27
[INFO] [stdout]     |
[INFO] [stdout] 728 |           let path_exists = sqlx::query!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 729 | |             "SELECT EXISTS(SELECT 1 FROM proxies WHERE listen_path = ? AND id != ?) as exists",
[INFO] [stdout] 730 | |             proxy.listen_path, proxy.id
[INFO] [stdout] 731 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:759:9
[INFO] [stdout]     |
[INFO] [stdout] 759 | /         sqlx::query!(
[INFO] [stdout] 760 | |             r#"
[INFO] [stdout] 761 | |             UPDATE proxies
[INFO] [stdout] 762 | |             SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 802 | |             proxy.id
[INFO] [stdout] 803 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:809:9
[INFO] [stdout]     |
[INFO] [stdout] 809 | /         sqlx::query!(
[INFO] [stdout] 810 | |             "DELETE FROM proxy_plugin_associations WHERE proxy_id = ?",
[INFO] [stdout] 811 | |             proxy.id
[INFO] [stdout] 812 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:824:13
[INFO] [stdout]     |
[INFO] [stdout] 824 | /             sqlx::query!(
[INFO] [stdout] 825 | |                 r#"
[INFO] [stdout] 826 | |                 INSERT INTO proxy_plugin_associations (
[INFO] [stdout] 827 | |                     proxy_id, plugin_config_id, embedded_config
[INFO] [stdout] ...   |
[INFO] [stdout] 833 | |                 embedded_config_json
[INFO] [stdout] 834 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:855:9
[INFO] [stdout]     |
[INFO] [stdout] 855 | /         sqlx::query!(
[INFO] [stdout] 856 | |             r#"
[INFO] [stdout] 857 | |             DELETE FROM proxy_plugin_associations
[INFO] [stdout] 858 | |             WHERE proxy_id = ?
[INFO] [stdout] 859 | |             "#,
[INFO] [stdout] 860 | |             proxy_id
[INFO] [stdout] 861 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:867:29
[INFO] [stdout]     |
[INFO] [stdout] 867 |           let delete_result = sqlx::query!(
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 868 | |             r#"
[INFO] [stdout] 869 | |             DELETE FROM proxies
[INFO] [stdout] 870 | |             WHERE id = ?
[INFO] [stdout] 871 | |             "#,
[INFO] [stdout] 872 | |             proxy_id
[INFO] [stdout] 873 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:880:13
[INFO] [stdout]     |
[INFO] [stdout] 880 | /             sqlx::query!(
[INFO] [stdout] 881 | |                 r#"
[INFO] [stdout] 882 | |                 INSERT INTO proxy_deletions (id, deleted_at)
[INFO] [stdout] 883 | |                 VALUES (?, CURRENT_TIMESTAMP)
[INFO] [stdout] ...   |
[INFO] [stdout] 886 | |                 proxy_id
[INFO] [stdout] 887 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:905:22
[INFO] [stdout]     |
[INFO] [stdout] 905 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 906 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = ?) as exists",
[INFO] [stdout] 907 | |             consumer.username
[INFO] [stdout] 908 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:920:36
[INFO] [stdout]     |
[INFO] [stdout] 920 |               let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 921 | |                 "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = ?) as exists",
[INFO] [stdout] 922 | |                 custom_id
[INFO] [stdout] 923 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:942:9
[INFO] [stdout]     |
[INFO] [stdout] 942 | /         sqlx::query!(
[INFO] [stdout] 943 | |             r#"
[INFO] [stdout] 944 | |             INSERT INTO consumers (
[INFO] [stdout] 945 | |                 id, username, custom_id, credentials, created_at, updated_at
[INFO] [stdout] ...   |
[INFO] [stdout] 952 | |             credentials_json
[INFO] [stdout] 953 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:967:22
[INFO] [stdout]     |
[INFO] [stdout] 967 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 968 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE id = ?) as exists",
[INFO] [stdout] 969 | |             consumer.id
[INFO] [stdout] 970 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:981:31
[INFO] [stdout]     |
[INFO] [stdout] 981 |           let username_exists = sqlx::query!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 982 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = ? AND id != ?) as exists",
[INFO] [stdout] 983 | |             consumer.username, consumer.id
[INFO] [stdout] 984 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/mysql.rs:996:36
[INFO] [stdout]     |
[INFO] [stdout] 996 |               let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 997 | |                 "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = ? AND id != ?) as exists",
[INFO] [stdout] 998 | |                 custom_id, consumer.id
[INFO] [stdout] 999 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1015:9
[INFO] [stdout]      |
[INFO] [stdout] 1015 | /         sqlx::query!(
[INFO] [stdout] 1016 | |             r#"
[INFO] [stdout] 1017 | |             UPDATE consumers
[INFO] [stdout] 1018 | |             SET 
[INFO] [stdout] ...    |
[INFO] [stdout] 1028 | |             consumer.id
[INFO] [stdout] 1029 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1046:9
[INFO] [stdout]      |
[INFO] [stdout] 1046 | /         sqlx::query!(
[INFO] [stdout] 1047 | |             "DELETE FROM plugin_configs WHERE consumer_id = ?",
[INFO] [stdout] 1048 | |             consumer_id
[INFO] [stdout] 1049 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1055:29
[INFO] [stdout]      |
[INFO] [stdout] 1055 |           let delete_result = sqlx::query!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1056 | |             "DELETE FROM consumers WHERE id = ?",
[INFO] [stdout] 1057 | |             consumer_id
[INFO] [stdout] 1058 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1065:13
[INFO] [stdout]      |
[INFO] [stdout] 1065 | /             sqlx::query!(
[INFO] [stdout] 1066 | |                 r#"
[INFO] [stdout] 1067 | |                 INSERT INTO consumer_deletions (id, deleted_at)
[INFO] [stdout] 1068 | |                 VALUES (?, CURRENT_TIMESTAMP)
[INFO] [stdout] ...    |
[INFO] [stdout] 1071 | |                 consumer_id
[INFO] [stdout] 1072 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1097:9
[INFO] [stdout]      |
[INFO] [stdout] 1097 | /         sqlx::query!(
[INFO] [stdout] 1098 | |             r#"
[INFO] [stdout] 1099 | |             INSERT INTO plugin_configs (
[INFO] [stdout] 1100 | |                 id, plugin_name, config, scope, proxy_id, consumer_id, enabled,
[INFO] [stdout] ...    |
[INFO] [stdout] 1111 | |             plugin_config.enabled
[INFO] [stdout] 1112 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1126:22
[INFO] [stdout]      |
[INFO] [stdout] 1126 |           let exists = sqlx::query!(
[INFO] [stdout]      |  ______________________^
[INFO] [stdout] 1127 | |             "SELECT EXISTS(SELECT 1 FROM plugin_configs WHERE id = ?) as exists",
[INFO] [stdout] 1128 | |             plugin_config.id
[INFO] [stdout] 1129 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1144:9
[INFO] [stdout]      |
[INFO] [stdout] 1144 | /         sqlx::query!(
[INFO] [stdout] 1145 | |             r#"
[INFO] [stdout] 1146 | |             UPDATE plugin_configs
[INFO] [stdout] 1147 | |             SET 
[INFO] [stdout] ...    |
[INFO] [stdout] 1163 | |             plugin_config.id
[INFO] [stdout] 1164 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1181:9
[INFO] [stdout]      |
[INFO] [stdout] 1181 | /         sqlx::query!(
[INFO] [stdout] 1182 | |             "DELETE FROM proxy_plugin_associations WHERE plugin_config_id = ?",
[INFO] [stdout] 1183 | |             plugin_config_id
[INFO] [stdout] 1184 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1190:29
[INFO] [stdout]      |
[INFO] [stdout] 1190 |           let delete_result = sqlx::query!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1191 | |             "DELETE FROM plugin_configs WHERE id = ?",
[INFO] [stdout] 1192 | |             plugin_config_id
[INFO] [stdout] 1193 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1200:13
[INFO] [stdout]      |
[INFO] [stdout] 1200 | /             sqlx::query!(
[INFO] [stdout] 1201 | |                 r#"
[INFO] [stdout] 1202 | |                 INSERT INTO plugin_config_deletions (id, deleted_at)
[INFO] [stdout] 1203 | |                 VALUES (?, CURRENT_TIMESTAMP)
[INFO] [stdout] ...    |
[INFO] [stdout] 1206 | |                 plugin_config_id
[INFO] [stdout] 1207 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1225:22
[INFO] [stdout]      |
[INFO] [stdout] 1225 |           let result = sqlx::query!(
[INFO] [stdout]      |  ______________________^
[INFO] [stdout] 1226 | |             r#"
[INFO] [stdout] 1227 | |             SELECT MAX(latest_time) as max_time
[INFO] [stdout] 1228 | |             FROM (
[INFO] [stdout] ...    |
[INFO] [stdout] 1235 | |             "#
[INFO] [stdout] 1236 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1256:31
[INFO] [stdout]      |
[INFO] [stdout] 1256 |           let updated_proxies = sqlx::query_as!(
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1257 | |             Proxy,
[INFO] [stdout] 1258 | |             r#"
[INFO] [stdout] 1259 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1274 | |             since
[INFO] [stdout] 1275 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1298:29
[INFO] [stdout]      |
[INFO] [stdout] 1298 |               proxy.plugins = sqlx::query_as!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1299 | |                 PluginAssociation,
[INFO] [stdout] 1300 | |                 r#"
[INFO] [stdout] 1301 | |                 SELECT plugin_config_id, embedded_config as embedded_config_json
[INFO] [stdout] ...    |
[INFO] [stdout] 1305 | |                 proxy.id
[INFO] [stdout] 1306 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1324:33
[INFO] [stdout]      |
[INFO] [stdout] 1324 |           let deleted_proxy_ids = sqlx::query!(
[INFO] [stdout]      |  _________________________________^
[INFO] [stdout] 1325 | |             r#"
[INFO] [stdout] 1326 | |             SELECT id
[INFO] [stdout] 1327 | |             FROM proxy_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1330 | |             since
[INFO] [stdout] 1331 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1340:33
[INFO] [stdout]      |
[INFO] [stdout] 1340 |           let updated_consumers = sqlx::query_as!(
[INFO] [stdout]      |  _________________________________^
[INFO] [stdout] 1341 | |             Consumer,
[INFO] [stdout] 1342 | |             r#"
[INFO] [stdout] 1343 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1351 | |             since
[INFO] [stdout] 1352 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1371:36
[INFO] [stdout]      |
[INFO] [stdout] 1371 |           let deleted_consumer_ids = sqlx::query!(
[INFO] [stdout]      |  ____________________________________^
[INFO] [stdout] 1372 | |             r#"
[INFO] [stdout] 1373 | |             SELECT id
[INFO] [stdout] 1374 | |             FROM consumer_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1377 | |             since
[INFO] [stdout] 1378 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1387:38
[INFO] [stdout]      |
[INFO] [stdout] 1387 |           let updated_plugin_configs = sqlx::query_as!(
[INFO] [stdout]      |  ______________________________________^
[INFO] [stdout] 1388 | |             PluginConfig,
[INFO] [stdout] 1389 | |             r#"
[INFO] [stdout] 1390 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1401 | |             since
[INFO] [stdout] 1402 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/mysql.rs:1431:41
[INFO] [stdout]      |
[INFO] [stdout] 1431 |           let deleted_plugin_config_ids = sqlx::query!(
[INFO] [stdout]      |  _________________________________________^
[INFO] [stdout] 1432 | |             r#"
[INFO] [stdout] 1433 | |             SELECT id
[INFO] [stdout] 1434 | |             FROM plugin_config_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1437 | |             since
[INFO] [stdout] 1438 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:137:16
[INFO] [stdout]     |
[INFO] [stdout] 137 |       let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 138 | |         Proxy,
[INFO] [stdout] 139 | |         r#"
[INFO] [stdout] 140 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 151 | |         "#
[INFO] [stdout] 152 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 181 |       let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 182 | |         Consumer,
[INFO] [stdout] 183 | |         r#"
[INFO] [stdout] 184 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 187 | |         "#
[INFO] [stdout] 188 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:197:16
[INFO] [stdout]     |
[INFO] [stdout] 197 |       let rows = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 198 | |         PluginConfig,
[INFO] [stdout] 199 | |         r#"
[INFO] [stdout] 200 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 205 | |         "#
[INFO] [stdout] 206 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:243:15
[INFO] [stdout]     |
[INFO] [stdout] 243 |       let row = sqlx::query_as!(
[INFO] [stdout]     |  _______________^
[INFO] [stdout] 244 | |         Consumer,
[INFO] [stdout] 245 | |         r#"
[INFO] [stdout] 246 | |         SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 251 | |         consumer_id
[INFO] [stdout] 252 | |     )
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:467:20
[INFO] [stdout]     |
[INFO] [stdout] 467 |           let rows = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 468 | |             Proxy,
[INFO] [stdout] 469 | |             r#"
[INFO] [stdout] 470 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 481 | |             "#
[INFO] [stdout] 482 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:511:20
[INFO] [stdout]     |
[INFO] [stdout] 511 |           let rows = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 512 | |             Consumer,
[INFO] [stdout] 513 | |             r#"
[INFO] [stdout] 514 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 517 | |             "#
[INFO] [stdout] 518 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:527:20
[INFO] [stdout]     |
[INFO] [stdout] 527 |           let rows = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 528 | |             PluginConfig,
[INFO] [stdout] 529 | |             r#"
[INFO] [stdout] 530 | |             SELECT 
[INFO] [stdout] ...   |
[INFO] [stdout] 535 | |             "#
[INFO] [stdout] 536 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:658:22
[INFO] [stdout]     |
[INFO] [stdout] 658 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 659 | |             "SELECT EXISTS(SELECT 1 FROM proxies WHERE id = ?) as exists",
[INFO] [stdout] 660 | |             proxy.id
[INFO] [stdout] 661 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:672:27
[INFO] [stdout]     |
[INFO] [stdout] 672 |           let path_exists = sqlx::query!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 673 | |             "SELECT EXISTS(SELECT 1 FROM proxies WHERE listen_path = ? AND id != ?) as exists",
[INFO] [stdout] 674 | |             proxy.listen_path, proxy.id
[INFO] [stdout] 675 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:703:9
[INFO] [stdout]     |
[INFO] [stdout] 703 | /         sqlx::query!(
[INFO] [stdout] 704 | |             r#"
[INFO] [stdout] 705 | |             UPDATE proxies
[INFO] [stdout] 706 | |             SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 746 | |             proxy.id
[INFO] [stdout] 747 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:753:9
[INFO] [stdout]     |
[INFO] [stdout] 753 | /         sqlx::query!(
[INFO] [stdout] 754 | |             "DELETE FROM proxy_plugin_associations WHERE proxy_id = ?",
[INFO] [stdout] 755 | |             proxy.id
[INFO] [stdout] 756 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:768:13
[INFO] [stdout]     |
[INFO] [stdout] 768 | /             sqlx::query!(
[INFO] [stdout] 769 | |                 r#"
[INFO] [stdout] 770 | |                 INSERT INTO proxy_plugin_associations (
[INFO] [stdout] 771 | |                     proxy_id, plugin_config_id, embedded_config
[INFO] [stdout] ...   |
[INFO] [stdout] 777 | |                 embedded_config_json
[INFO] [stdout] 778 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unknown rename rule `rename_all = "uppercase"`, expected one of "lowercase", "UPPERCASE", "PascalCase", "camelCase", "snake_case", "SCREAMING_SNAKE_CASE", "kebab-case", "SCREAMING-KEBAB-CASE"
[INFO] [stdout]   --> src/plugins/jwt_auth/mod.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[serde(rename_all = "uppercase")]
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:799:9
[INFO] [stdout]     |
[INFO] [stdout] 799 | /         sqlx::query!(
[INFO] [stdout] 800 | |             r#"
[INFO] [stdout] 801 | |             DELETE FROM proxy_plugin_associations
[INFO] [stdout] 802 | |             WHERE proxy_id = ?1
[INFO] [stdout] 803 | |             "#,
[INFO] [stdout] 804 | |             proxy_id
[INFO] [stdout] 805 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:811:29
[INFO] [stdout]     |
[INFO] [stdout] 811 |           let delete_result = sqlx::query!(
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 812 | |             r#"
[INFO] [stdout] 813 | |             DELETE FROM proxies
[INFO] [stdout] 814 | |             WHERE id = ?1
[INFO] [stdout] 815 | |             "#,
[INFO] [stdout] 816 | |             proxy_id
[INFO] [stdout] 817 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:824:13
[INFO] [stdout]     |
[INFO] [stdout] 824 | /             sqlx::query!(
[INFO] [stdout] 825 | |                 r#"
[INFO] [stdout] 826 | |                 INSERT INTO proxy_deletions (id, deleted_at)
[INFO] [stdout] 827 | |                 VALUES (?1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...   |
[INFO] [stdout] 830 | |                 proxy_id
[INFO] [stdout] 831 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:849:22
[INFO] [stdout]     |
[INFO] [stdout] 849 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 850 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = ?) as exists",
[INFO] [stdout] 851 | |             consumer.username
[INFO] [stdout] 852 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:864:36
[INFO] [stdout]     |
[INFO] [stdout] 864 |               let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 865 | |                 "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = ?) as exists",
[INFO] [stdout] 866 | |                 custom_id
[INFO] [stdout] 867 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:886:9
[INFO] [stdout]     |
[INFO] [stdout] 886 | /         sqlx::query!(
[INFO] [stdout] 887 | |             r#"
[INFO] [stdout] 888 | |             INSERT INTO consumers (
[INFO] [stdout] 889 | |                 id, username, custom_id, credentials, created_at, updated_at
[INFO] [stdout] ...   |
[INFO] [stdout] 896 | |             credentials_json
[INFO] [stdout] 897 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:911:22
[INFO] [stdout]     |
[INFO] [stdout] 911 |           let exists = sqlx::query!(
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 912 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE id = ?) as exists",
[INFO] [stdout] 913 | |             consumer.id
[INFO] [stdout] 914 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:925:31
[INFO] [stdout]     |
[INFO] [stdout] 925 |           let username_exists = sqlx::query!(
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 926 | |             "SELECT EXISTS(SELECT 1 FROM consumers WHERE username = ? AND id != ?) as exists",
[INFO] [stdout] 927 | |             consumer.username, consumer.id
[INFO] [stdout] 928 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:940:36
[INFO] [stdout]     |
[INFO] [stdout] 940 |               let custom_id_exists = sqlx::query!(
[INFO] [stdout]     |  ____________________________________^
[INFO] [stdout] 941 | |                 "SELECT EXISTS(SELECT 1 FROM consumers WHERE custom_id = ? AND id != ?) as exists",
[INFO] [stdout] 942 | |                 custom_id, consumer.id
[INFO] [stdout] 943 | |             )
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:959:9
[INFO] [stdout]     |
[INFO] [stdout] 959 | /         sqlx::query!(
[INFO] [stdout] 960 | |             r#"
[INFO] [stdout] 961 | |             UPDATE consumers
[INFO] [stdout] 962 | |             SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 972 | |             consumer.id
[INFO] [stdout] 973 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]    --> src/database/sqlite.rs:990:29
[INFO] [stdout]     |
[INFO] [stdout] 990 |           let delete_result = sqlx::query!(
[INFO] [stdout]     |  _____________________________^
[INFO] [stdout] 991 | |             r#"
[INFO] [stdout] 992 | |             DELETE FROM consumers
[INFO] [stdout] 993 | |             WHERE id = ?1
[INFO] [stdout] 994 | |             "#,
[INFO] [stdout] 995 | |             consumer_id
[INFO] [stdout] 996 | |         )
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1003:13
[INFO] [stdout]      |
[INFO] [stdout] 1003 | /             sqlx::query!(
[INFO] [stdout] 1004 | |                 r#"
[INFO] [stdout] 1005 | |                 INSERT INTO consumer_deletions (id, deleted_at)
[INFO] [stdout] 1006 | |                 VALUES (?1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...    |
[INFO] [stdout] 1009 | |                 consumer_id
[INFO] [stdout] 1010 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1035:9
[INFO] [stdout]      |
[INFO] [stdout] 1035 | /         sqlx::query!(
[INFO] [stdout] 1036 | |             r#"
[INFO] [stdout] 1037 | |             INSERT INTO plugin_configs (
[INFO] [stdout] 1038 | |                 id, plugin_name, config, scope, proxy_id, consumer_id, enabled,
[INFO] [stdout] ...    |
[INFO] [stdout] 1049 | |             plugin_config.enabled
[INFO] [stdout] 1050 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1064:22
[INFO] [stdout]      |
[INFO] [stdout] 1064 |           let exists = sqlx::query!(
[INFO] [stdout]      |  ______________________^
[INFO] [stdout] 1065 | |             "SELECT EXISTS(SELECT 1 FROM plugin_configs WHERE id = ?) as exists",
[INFO] [stdout] 1066 | |             plugin_config.id
[INFO] [stdout] 1067 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1082:9
[INFO] [stdout]      |
[INFO] [stdout] 1082 | /         sqlx::query!(
[INFO] [stdout] 1083 | |             r#"
[INFO] [stdout] 1084 | |             UPDATE plugin_configs
[INFO] [stdout] 1085 | |             SET 
[INFO] [stdout] ...    |
[INFO] [stdout] 1101 | |             plugin_config.id
[INFO] [stdout] 1102 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1119:9
[INFO] [stdout]      |
[INFO] [stdout] 1119 | /         sqlx::query!(
[INFO] [stdout] 1120 | |             r#"
[INFO] [stdout] 1121 | |             DELETE FROM proxy_plugin_associations
[INFO] [stdout] 1122 | |             WHERE plugin_config_id = ?1
[INFO] [stdout] 1123 | |             "#,
[INFO] [stdout] 1124 | |             plugin_config_id
[INFO] [stdout] 1125 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1131:29
[INFO] [stdout]      |
[INFO] [stdout] 1131 |           let delete_result = sqlx::query!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1132 | |             r#"
[INFO] [stdout] 1133 | |             DELETE FROM plugin_configs
[INFO] [stdout] 1134 | |             WHERE id = ?1
[INFO] [stdout] 1135 | |             "#,
[INFO] [stdout] 1136 | |             plugin_config_id
[INFO] [stdout] 1137 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1144:13
[INFO] [stdout]      |
[INFO] [stdout] 1144 | /             sqlx::query!(
[INFO] [stdout] 1145 | |                 r#"
[INFO] [stdout] 1146 | |                 INSERT INTO plugin_config_deletions (id, deleted_at)
[INFO] [stdout] 1147 | |                 VALUES (?1, CURRENT_TIMESTAMP)
[INFO] [stdout] ...    |
[INFO] [stdout] 1150 | |                 plugin_config_id
[INFO] [stdout] 1151 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1169:22
[INFO] [stdout]      |
[INFO] [stdout] 1169 |           let result = sqlx::query!(
[INFO] [stdout]      |  ______________________^
[INFO] [stdout] 1170 | |             r#"
[INFO] [stdout] 1171 | |             SELECT MAX(latest_time) as "max_time: DateTime<Utc>"
[INFO] [stdout] 1172 | |             FROM (
[INFO] [stdout] ...    |
[INFO] [stdout] 1179 | |             "#
[INFO] [stdout] 1180 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1200:31
[INFO] [stdout]      |
[INFO] [stdout] 1200 |           let updated_proxies = sqlx::query_as!(
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1201 | |             Proxy,
[INFO] [stdout] 1202 | |             r#"
[INFO] [stdout] 1203 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1219 | |             since
[INFO] [stdout] 1220 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1243:29
[INFO] [stdout]      |
[INFO] [stdout] 1243 |               proxy.plugins = sqlx::query_as!(
[INFO] [stdout]      |  _____________________________^
[INFO] [stdout] 1244 | |                 PluginAssociation,
[INFO] [stdout] 1245 | |                 r#"
[INFO] [stdout] 1246 | |                 SELECT plugin_config_id, embedded_config as "embedded_config: Value"
[INFO] [stdout] ...    |
[INFO] [stdout] 1250 | |                 proxy.id
[INFO] [stdout] 1251 | |             )
[INFO] [stdout]      | |_____________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1260:33
[INFO] [stdout]      |
[INFO] [stdout] 1260 |           let deleted_proxy_ids = sqlx::query!(
[INFO] [stdout]      |  _________________________________^
[INFO] [stdout] 1261 | |             r#"
[INFO] [stdout] 1262 | |             SELECT id
[INFO] [stdout] 1263 | |             FROM proxy_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1266 | |             since
[INFO] [stdout] 1267 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1276:33
[INFO] [stdout]      |
[INFO] [stdout] 1276 |           let updated_consumers = sqlx::query_as!(
[INFO] [stdout]      |  _________________________________^
[INFO] [stdout] 1277 | |             Consumer,
[INFO] [stdout] 1278 | |             r#"
[INFO] [stdout] 1279 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1288 | |             since
[INFO] [stdout] 1289 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1295:36
[INFO] [stdout]      |
[INFO] [stdout] 1295 |           let deleted_consumer_ids = sqlx::query!(
[INFO] [stdout]      |  ____________________________________^
[INFO] [stdout] 1296 | |             r#"
[INFO] [stdout] 1297 | |             SELECT id
[INFO] [stdout] 1298 | |             FROM consumer_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1301 | |             since
[INFO] [stdout] 1302 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1311:38
[INFO] [stdout]      |
[INFO] [stdout] 1311 |           let updated_plugin_configs = sqlx::query_as!(
[INFO] [stdout]      |  ______________________________________^
[INFO] [stdout] 1312 | |             PluginConfig,
[INFO] [stdout] 1313 | |             r#"
[INFO] [stdout] 1314 | |             SELECT 
[INFO] [stdout] ...    |
[INFO] [stdout] 1326 | |             since
[INFO] [stdout] 1327 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `DATABASE_URL` must be set to use query macros
[INFO] [stdout]     --> src/database/sqlite.rs:1344:41
[INFO] [stdout]      |
[INFO] [stdout] 1344 |           let deleted_plugin_config_ids = sqlx::query!(
[INFO] [stdout]      |  _________________________________________^
[INFO] [stdout] 1345 | |             r#"
[INFO] [stdout] 1346 | |             SELECT id
[INFO] [stdout] 1347 | |             FROM plugin_config_deletions
[INFO] [stdout] ...    |
[INFO] [stdout] 1350 | |             since
[INFO] [stdout] 1351 | |         )
[INFO] [stdout]      | |_________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unknown rename rule `rename_all = "uppercase"`, expected one of "lowercase", "UPPERCASE", "PascalCase", "camelCase", "snake_case", "SCREAMING_SNAKE_CASE", "kebab-case", "SCREAMING-KEBAB-CASE"
[INFO] [stdout]   --> src/plugins/jwt_auth/mod.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[serde(rename_all = "uppercase")]
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0255]: the name `DatabaseType` is defined multiple times
[INFO] [stdout]   --> src/database/mod.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::config::data_model::{Configuration, DatabaseType, Proxy, Consumer, PluginConfig, ConfigurationDelta};
[INFO] [stdout]    |                                                ------------ previous import of the type `DatabaseType` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | pub enum DatabaseType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ `DatabaseType` redefined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseType` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::config::data_model::{Configuration, DatabaseType as OtherDatabaseType, Proxy, Consumer, PluginConfig, ConfigurationDelta};
[INFO] [stdout]    |                                                             ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0255]: the name `DatabaseType` is defined multiple times
[INFO] [stdout]   --> src/database/mod.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::config::data_model::{Configuration, DatabaseType, Proxy, Consumer, PluginConfig, ConfigurationDelta};
[INFO] [stdout]    |                                                ------------ previous import of the type `DatabaseType` here
[INFO] [stdout] ...
[INFO] [stdout] 17 | pub enum DatabaseType {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^ `DatabaseType` redefined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DatabaseType` must be defined only once in the type namespace of this module
[INFO] [stdout] help: you can use `as` to change the binding name of the import
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::config::data_model::{Configuration, DatabaseType as OtherDatabaseType, Proxy, Consumer, PluginConfig, ConfigurationDelta};
[INFO] [stdout]    |                                                             ++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/proxy/mod.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::dns::cache::DnsCache; // Add correct import for DNS cache
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/proxy/mod.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | use crate::dns::cache::DnsCache; // Add correct import for DNS cache
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `h3_quinn::server`
[INFO] [stdout]   --> src/proxy/mod.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use h3_quinn::server::Connection as H3QuinnConnection;
[INFO] [stdout]    |               ^^^^^^ could not find `server` in `h3_quinn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::dns`
[INFO] [stdout]   --> src/proxy/handler.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::dns::DnsCache; // Updated import from the dns module
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `h3_quinn::server`
[INFO] [stdout]   --> src/proxy/mod.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use h3_quinn::server::Connection as H3QuinnConnection;
[INFO] [stdout]    |               ^^^^^^ could not find `server` in `h3_quinn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rustls_native_certs`
[INFO] [stdout]   --> src/proxy/tls.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rustls_native_certs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ no external crate `rustls_native_certs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `futures_util`
[INFO] [stdout]  --> src/proxy/websocket.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures_util::{SinkExt, StreamExt};
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::dns`, `crate::dns`
[INFO] [stdout]   --> src/modes/database.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::dns::{self, DnsCache};
[INFO] [stdout]    |            ^^^   ^^^^ no `dns` in the root
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this module instead:
[INFO] [stdout]            hyper::client::connect::dns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::dns`
[INFO] [stdout]   --> src/proxy/handler.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::dns::DnsCache; // Updated import from the dns module
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rustls_native_certs`
[INFO] [stdout]   --> src/proxy/tls.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rustls_native_certs;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ no external crate `rustls_native_certs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::dns`, `crate::dns`
[INFO] [stdout]   --> src/modes/file.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::dns::{self, DnsCache};
[INFO] [stdout]    |            ^^^   ^^^^ no `dns` in the root
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this module instead:
[INFO] [stdout]            hyper::client::connect::dns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::dns`, `crate::dns`
[INFO] [stdout]   --> src/modes/control_plane.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::dns::{self, DnsCache}; // Add DNS module
[INFO] [stdout]    |            ^^^   ^^^^ no `dns` in the root
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this module instead:
[INFO] [stdout]            hyper::client::connect::dns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `futures_util`
[INFO] [stdout]  --> src/proxy/websocket.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures_util::{SinkExt, StreamExt};
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::grpc::proto::config_service_server`, `crate::grpc::proto::GetConfigSnapshotRequest`
[INFO] [stdout]    --> src/modes/control_plane.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         config_service_server::{ConfigService, ConfigServiceServer},
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ could not find `config_service_server` in `proto`
[INFO] [stdout] 314 |         SubscribeRequest, ConfigUpdate, ConfigSnapshot, GetConfigSnapshotRequest,
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^ no `GetConfigSnapshotRequest` in `grpc::proto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::dns`, `crate::dns`
[INFO] [stdout]   --> src/modes/data_plane.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::dns::{self, DnsCache};
[INFO] [stdout]    |            ^^^   ^^^^ no `dns` in the root
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this module instead:
[INFO] [stdout]            hyper::client::connect::dns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `super::proto::config_service_client`, `super::proto::GetConfigSnapshotRequest`
[INFO] [stdout]   --> src/grpc/config_client.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     config_service_client::ConfigServiceClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ could not find `config_service_client` in `proto`
[INFO] [stdout] 11 |     SubscribeRequest, ConfigUpdate, GetConfigSnapshotRequest,
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^ no `GetConfigSnapshotRequest` in `grpc::proto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::dns`, `crate::dns`
[INFO] [stdout]   --> src/modes/database.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::dns::{self, DnsCache};
[INFO] [stdout]    |            ^^^   ^^^^ no `dns` in the root
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this module instead:
[INFO] [stdout]            hyper::client::connect::dns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `futures_util`
[INFO] [stdout]   --> src/grpc/config_client.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |             use futures_util::TryStreamExt;
[INFO] [stdout]    |                 ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `proto::config_service_server`
[INFO] [stdout]   --> src/grpc/mod.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | use proto::config_service_server::{ConfigService, ConfigServiceServer};
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ could not find `config_service_server` in `proto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::cache`
[INFO] [stdout]   --> src/grpc/mod.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::config::cache::ConfigCache;
[INFO] [stdout]    |                    ^^^^^ could not find `cache` in `config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `uuid`
[INFO] [stdout]  --> src/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::dns`, `crate::dns`
[INFO] [stdout]   --> src/modes/file.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::dns::{self, DnsCache};
[INFO] [stdout]    |            ^^^   ^^^^ no `dns` in the root
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this module instead:
[INFO] [stdout]            hyper::client::connect::dns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::data_model::Protocol`
[INFO] [stdout]  --> src/database/postgres.rs:8:98
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::config::data_model::{Configuration, Proxy, Consumer, PluginConfig, PluginAssociation, Protocol, AuthMode};
[INFO] [stdout]   |                                                                                                  ^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           crate::grpc::proto::Protocol
[INFO] [stdout]           h3::ext::Protocol
[INFO] [stdout]           hyper::ext::Protocol
[INFO] [stdout]           sqlx::Error::Protocol
[INFO] [stdout]           tungstenite::Error::Protocol
[INFO] [stdout]           tungstenite::protocol::frame::coding::CloseCode::Protocol
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::data_model::Protocol`
[INFO] [stdout]   --> src/database/mysql.rs:10:79
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::config::data_model::{Configuration, Proxy, Consumer, PluginConfig, Protocol, AuthMode, ConfigurationDelta, PluginAssociat...
[INFO] [stdout]    |                                                                               ^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            crate::grpc::proto::Protocol
[INFO] [stdout]            h3::ext::Protocol
[INFO] [stdout]            hyper::ext::Protocol
[INFO] [stdout]            sqlx::Error::Protocol
[INFO] [stdout]            tungstenite::Error::Protocol
[INFO] [stdout]            tungstenite::protocol::frame::coding::CloseCode::Protocol
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::data_model::Protocol`
[INFO] [stdout]   --> src/database/sqlite.rs:10:79
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::config::data_model::{Configuration, Proxy, Consumer, PluginConfig, Protocol, AuthMode, ConfigurationDelta};
[INFO] [stdout]    |                                                                               ^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            crate::grpc::proto::Protocol
[INFO] [stdout]            h3::ext::Protocol
[INFO] [stdout]            hyper::ext::Protocol
[INFO] [stdout]            sqlx::Error::Protocol
[INFO] [stdout]            tungstenite::Error::Protocol
[INFO] [stdout]            tungstenite::protocol::frame::coding::CloseCode::Protocol
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `hyper_rustls`
[INFO] [stdout]  --> src/proxy/handler.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use hyper_rustls::HttpsConnector;
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 9 - use hyper_rustls::HttpsConnector;
[INFO] [stdout] 9 + use hyper_tls::HttpsConnector;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::data_model::Protocol`
[INFO] [stdout]   --> src/proxy/websocket.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::config::data_model::Protocol;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items instead
[INFO] [stdout]    |
[INFO] [stdout] 17 - use crate::config::data_model::Protocol;
[INFO] [stdout] 17 + use crate::grpc::proto::Protocol;
[INFO] [stdout]    |
[INFO] [stdout] 17 - use crate::config::data_model::Protocol;
[INFO] [stdout] 17 + use h3::ext::Protocol;
[INFO] [stdout]    |
[INFO] [stdout] 17 - use crate::config::data_model::Protocol;
[INFO] [stdout] 17 + use hyper::ext::Protocol;
[INFO] [stdout]    |
[INFO] [stdout] 17 - use crate::config::data_model::Protocol;
[INFO] [stdout] 17 + use sqlx::Error::Protocol;
[INFO] [stdout]    |
[INFO] [stdout]    = and 2 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::dns`, `crate::dns`
[INFO] [stdout]   --> src/modes/control_plane.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::dns::{self, DnsCache}; // Add DNS module
[INFO] [stdout]    |            ^^^   ^^^^ no `dns` in the root
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this module instead:
[INFO] [stdout]            hyper::client::connect::dns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `hyper_rustls`
[INFO] [stdout]  --> src/plugins/oauth2_auth/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hyper_rustls::HttpsConnector;
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 4 - use hyper_rustls::HttpsConnector;
[INFO] [stdout] 4 + use hyper_tls::HttpsConnector;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `base64`
[INFO] [stdout]  --> src/plugins/basic_auth/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::grpc::proto::config_service_server`, `crate::grpc::proto::GetConfigSnapshotRequest`
[INFO] [stdout]    --> src/modes/control_plane.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         config_service_server::{ConfigService, ConfigServiceServer},
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ could not find `config_service_server` in `proto`
[INFO] [stdout] 314 |         SubscribeRequest, ConfigUpdate, ConfigSnapshot, GetConfigSnapshotRequest,
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^ no `GetConfigSnapshotRequest` in `grpc::proto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `base64`
[INFO] [stdout]  --> src/plugins/basic_auth/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::dns`, `crate::dns`
[INFO] [stdout]   --> src/modes/data_plane.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::dns::{self, DnsCache};
[INFO] [stdout]    |            ^^^   ^^^^ no `dns` in the root
[INFO] [stdout]    |            |
[INFO] [stdout]    |            unresolved import
[INFO] [stdout]    |            help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing this module instead:
[INFO] [stdout]            hyper::client::connect::dns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::data_model::Protocol`
[INFO] [stdout]  --> src/grpc/conversions.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Protocol, AuthMode, Configuration
[INFO] [stdout]   |     ^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           crate::grpc::Protocol
[INFO] [stdout]           h3::ext::Protocol
[INFO] [stdout]           hyper::ext::Protocol
[INFO] [stdout]           sqlx::Error::Protocol
[INFO] [stdout]           tungstenite::Error::Protocol
[INFO] [stdout]           tungstenite::protocol::frame::coding::CloseCode::Protocol
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `super::proto::config_service_client`, `super::proto::GetConfigSnapshotRequest`
[INFO] [stdout]   --> src/grpc/config_client.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     config_service_client::ConfigServiceClient,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ could not find `config_service_client` in `proto`
[INFO] [stdout] 11 |     SubscribeRequest, ConfigUpdate, GetConfigSnapshotRequest,
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^^^ no `GetConfigSnapshotRequest` in `grpc::proto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `futures_util`
[INFO] [stdout]   --> src/grpc/config_client.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |             use futures_util::TryStreamExt;
[INFO] [stdout]    |                 ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `proto::config_service_server`
[INFO] [stdout]   --> src/grpc/mod.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | use proto::config_service_server::{ConfigService, ConfigServiceServer};
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^ could not find `config_service_server` in `proto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::cache`
[INFO] [stdout]   --> src/grpc/mod.rs:25:20
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::config::cache::ConfigCache;
[INFO] [stdout]    |                    ^^^^^ could not find `cache` in `config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `uuid`
[INFO] [stdout]  --> src/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::data_model::Protocol`
[INFO] [stdout]  --> src/database/postgres.rs:8:98
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::config::data_model::{Configuration, Proxy, Consumer, PluginConfig, PluginAssociation, Protocol, AuthMode};
[INFO] [stdout]   |                                                                                                  ^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           crate::grpc::proto::Protocol
[INFO] [stdout]           h3::ext::Protocol
[INFO] [stdout]           hyper::ext::Protocol
[INFO] [stdout]           sqlx::Error::Protocol
[INFO] [stdout]           tungstenite::Error::Protocol
[INFO] [stdout]           tungstenite::protocol::frame::coding::CloseCode::Protocol
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `config::data_model::Protocol`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Protocol, AuthMode, 
[INFO] [stdout]    |     ^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            crate::grpc::proto::Protocol
[INFO] [stdout]            h3::ext::Protocol
[INFO] [stdout]            hyper::ext::Protocol
[INFO] [stdout]            sqlx::Error::Protocol
[INFO] [stdout]            tungstenite::Error::Protocol
[INFO] [stdout]            tungstenite::protocol::frame::coding::CloseCode::Protocol
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lazy_static`
[INFO] [stdout]  --> src/metrics/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `lazy_static`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `lazy_static`, use `cargo add lazy_static` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::data_model::Protocol`
[INFO] [stdout]   --> src/database/mysql.rs:10:79
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::config::data_model::{Configuration, Proxy, Consumer, PluginConfig, Protocol, AuthMode, ConfigurationDelta, PluginAssociat...
[INFO] [stdout]    |                                                                               ^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            crate::grpc::proto::Protocol
[INFO] [stdout]            h3::ext::Protocol
[INFO] [stdout]            hyper::ext::Protocol
[INFO] [stdout]            sqlx::Error::Protocol
[INFO] [stdout]            tungstenite::Error::Protocol
[INFO] [stdout]            tungstenite::protocol::frame::coding::CloseCode::Protocol
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::data_model::Protocol`
[INFO] [stdout]   --> src/database/sqlite.rs:10:79
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::config::data_model::{Configuration, Proxy, Consumer, PluginConfig, Protocol, AuthMode, ConfigurationDelta};
[INFO] [stdout]    |                                                                               ^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            crate::grpc::proto::Protocol
[INFO] [stdout]            h3::ext::Protocol
[INFO] [stdout]            hyper::ext::Protocol
[INFO] [stdout]            sqlx::Error::Protocol
[INFO] [stdout]            tungstenite::Error::Protocol
[INFO] [stdout]            tungstenite::protocol::frame::coding::CloseCode::Protocol
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `hyper_rustls`
[INFO] [stdout]  --> src/proxy/handler.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use hyper_rustls::HttpsConnector;
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 9 - use hyper_rustls::HttpsConnector;
[INFO] [stdout] 9 + use hyper_tls::HttpsConnector;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::data_model::Protocol`
[INFO] [stdout]   --> src/proxy/websocket.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::config::data_model::Protocol;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items instead
[INFO] [stdout]    |
[INFO] [stdout] 17 - use crate::config::data_model::Protocol;
[INFO] [stdout] 17 + use crate::grpc::proto::Protocol;
[INFO] [stdout]    |
[INFO] [stdout] 17 - use crate::config::data_model::Protocol;
[INFO] [stdout] 17 + use h3::ext::Protocol;
[INFO] [stdout]    |
[INFO] [stdout] 17 - use crate::config::data_model::Protocol;
[INFO] [stdout] 17 + use hyper::ext::Protocol;
[INFO] [stdout]    |
[INFO] [stdout] 17 - use crate::config::data_model::Protocol;
[INFO] [stdout] 17 + use sqlx::Error::Protocol;
[INFO] [stdout]    |
[INFO] [stdout]    = and 2 other candidates
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `hyper_rustls`
[INFO] [stdout]  --> src/plugins/oauth2_auth/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hyper_rustls::HttpsConnector;
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 4 - use hyper_rustls::HttpsConnector;
[INFO] [stdout] 4 + use hyper_tls::HttpsConnector;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `base64`
[INFO] [stdout]  --> src/plugins/basic_auth/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `base64`
[INFO] [stdout]  --> src/plugins/basic_auth/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64};
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::config::data_model::Protocol`
[INFO] [stdout]  --> src/grpc/conversions.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Protocol, AuthMode, Configuration
[INFO] [stdout]   |     ^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider importing one of these items instead:
[INFO] [stdout]           crate::grpc::Protocol
[INFO] [stdout]           h3::ext::Protocol
[INFO] [stdout]           hyper::ext::Protocol
[INFO] [stdout]           sqlx::Error::Protocol
[INFO] [stdout]           tungstenite::Error::Protocol
[INFO] [stdout]           tungstenite::protocol::frame::coding::CloseCode::Protocol
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `config::data_model::Protocol`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Protocol, AuthMode, 
[INFO] [stdout]    |     ^^^^^^^^ no `Protocol` in `config::data_model`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            crate::grpc::proto::Protocol
[INFO] [stdout]            h3::ext::Protocol
[INFO] [stdout]            hyper::ext::Protocol
[INFO] [stdout]            sqlx::Error::Protocol
[INFO] [stdout]            tungstenite::Error::Protocol
[INFO] [stdout]            tungstenite::protocol::frame::coding::CloseCode::Protocol
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lazy_static`
[INFO] [stdout]  --> src/metrics/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lazy_static::lazy_static;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `lazy_static`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `lazy_static`, use `cargo add lazy_static` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:148:32
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     return Err(anyhow!("FERRUM_DB_TYPE is required for database mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:148:32
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     return Err(anyhow!("FERRUM_DB_TYPE is required for database mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:151:32
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     return Err(anyhow!("FERRUM_DB_URL is required for database mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:151:32
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     return Err(anyhow!("FERRUM_DB_URL is required for database mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:155:32
[INFO] [stdout]     |
[INFO] [stdout] 155 |                     return Err(anyhow!("FERRUM_ADMIN_JWT_SECRET is required for database mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:155:32
[INFO] [stdout]     |
[INFO] [stdout] 155 |                     return Err(anyhow!("FERRUM_ADMIN_JWT_SECRET is required for database mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:161:32
[INFO] [stdout]     |
[INFO] [stdout] 161 |                     return Err(anyhow!("FERRUM_FILE_CONFIG_PATH is required for file mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:161:32
[INFO] [stdout]     |
[INFO] [stdout] 161 |                     return Err(anyhow!("FERRUM_FILE_CONFIG_PATH is required for file mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:167:32
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     return Err(anyhow!("FERRUM_DB_TYPE is required for control plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:167:32
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     return Err(anyhow!("FERRUM_DB_TYPE is required for control plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:170:32
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     return Err(anyhow!("FERRUM_DB_URL is required for control plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:170:32
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     return Err(anyhow!("FERRUM_DB_URL is required for control plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:173:32
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     return Err(anyhow!("FERRUM_CP_GRPC_LISTEN_ADDR is required for control plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:173:32
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     return Err(anyhow!("FERRUM_CP_GRPC_LISTEN_ADDR is required for control plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:176:32
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     return Err(anyhow!("FERRUM_CP_GRPC_JWT_SECRET is required for control plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:176:32
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     return Err(anyhow!("FERRUM_CP_GRPC_JWT_SECRET is required for control plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:180:32
[INFO] [stdout]     |
[INFO] [stdout] 180 |                     return Err(anyhow!("FERRUM_ADMIN_JWT_SECRET is required for control plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:180:32
[INFO] [stdout]     |
[INFO] [stdout] 180 |                     return Err(anyhow!("FERRUM_ADMIN_JWT_SECRET is required for control plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:186:32
[INFO] [stdout]     |
[INFO] [stdout] 186 |                     return Err(anyhow!("FERRUM_DP_CP_GRPC_URL is required for data plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:186:32
[INFO] [stdout]     |
[INFO] [stdout] 186 |                     return Err(anyhow!("FERRUM_DP_CP_GRPC_URL is required for data plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:189:32
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     return Err(anyhow!("FERRUM_DP_GRPC_AUTH_TOKEN is required for data plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/config/env_config.rs:189:32
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     return Err(anyhow!("FERRUM_DP_GRPC_AUTH_TOKEN is required for data plane mode"));
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/database/postgres.rs:708:21
[INFO] [stdout]     |
[INFO] [stdout] 708 |         None => Err(anyhow!("Consumer with ID '{}' not found", consumer_id))
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/database/postgres.rs:708:21
[INFO] [stdout]     |
[INFO] [stdout] 708 |         None => Err(anyhow!("Consumer with ID '{}' not found", consumer_id))
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/proxy/tls.rs:151:34
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     .map_err(|e| anyhow!("Failed to add certificate: {}", e))?;
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `anyhow` in this scope
[INFO] [stdout]    --> src/proxy/tls.rs:151:34
[INFO] [stdout]     |
[INFO] [stdout] 151 |                     .map_err(|e| anyhow!("Failed to add certificate: {}", e))?;
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `anyhow` is in scope, but it is a crate, not a macro
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]     |
[INFO] [stdout]   1 + use anyhow::anyhow;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/database/mysql.rs:448:21
[INFO] [stdout]     |
[INFO] [stdout] 448 |                     error!("Failed to load plugin associations for proxy {}: {}", proxy.id, e);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `error` is an attribute that can be used by the derive macro `Error`, you might be missing a `derive` attribute
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::error;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tracing::error;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/database/mysql.rs:448:21
[INFO] [stdout]     |
[INFO] [stdout] 448 |                     error!("Failed to load plugin associations for proxy {}: {}", proxy.id, e);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `error` is an attribute that can be used by the derive macro `Error`, you might be missing a `derive` attribute
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::error;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tracing::error;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/database/mysql.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |                 error!("Failed to load plugin configs from MySQL database: {}", e);
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `error` is an attribute that can be used by the derive macro `Error`, you might be missing a `derive` attribute
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::error;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tracing::error;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/database/mysql.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |                 error!("Failed to load plugin configs from MySQL database: {}", e);
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `error` is an attribute that can be used by the derive macro `Error`, you might be missing a `derive` attribute
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::error;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tracing::error;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/database/mysql.rs:411:17
[INFO] [stdout]     |
[INFO] [stdout] 411 |                 error!("Failed to load consumers from MySQL database: {}", e);
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `error` is an attribute that can be used by the derive macro `Error`, you might be missing a `derive` attribute
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::error;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tracing::error;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/database/mysql.rs:411:17
[INFO] [stdout]     |
[INFO] [stdout] 411 |                 error!("Failed to load consumers from MySQL database: {}", e);
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `error` is an attribute that can be used by the derive macro `Error`, you might be missing a `derive` attribute
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::error;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tracing::error;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/database/mysql.rs:378:17
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 error!("Failed to load proxies from MySQL database: {}", e);
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `error` is an attribute that can be used by the derive macro `Error`, you might be missing a `derive` attribute
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::error;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tracing::error;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> src/database/mysql.rs:378:17
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 error!("Failed to load proxies from MySQL database: {}", e);
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `error` is an attribute that can be used by the derive macro `Error`, you might be missing a `derive` attribute
[INFO] [stdout] help: consider importing one of these macros
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::error;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tracing::error;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]   --> src/proxy/handler.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let https = hyper_rustls::HttpsConnectorBuilder::new()
[INFO] [stdout]    |                     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 42 -         let https = hyper_rustls::HttpsConnectorBuilder::new()
[INFO] [stdout] 42 +         let https = hyper_tls::HttpsConnectorBuilder::new()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]   --> src/proxy/handler.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let https = hyper_rustls::HttpsConnectorBuilder::new()
[INFO] [stdout]    |                     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 42 -         let https = hyper_rustls::HttpsConnectorBuilder::new()
[INFO] [stdout] 42 +         let https = hyper_tls::HttpsConnectorBuilder::new()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `ServerCertVerified` in `client`
[INFO] [stdout]    --> src/proxy/tls.rs:189:28
[INFO] [stdout]     |
[INFO] [stdout] 189 |         Ok(rustls::client::ServerCertVerified::assertion())
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^ could not find `ServerCertVerified` in `client`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.21.12/src/lib.rs:436:65
[INFO] [stdout]     |
[INFO] [stdout] 433 |     #[cfg(feature = "dangerous_configuration")]
[INFO] [stdout]     |           ----------------------------------- the item is gated behind the `dangerous_configuration` feature
[INFO] [stdout] ...
[INFO] [stdout] 436 |         CertificateTransparencyPolicy, HandshakeSignatureValid, ServerCertVerified,
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `ServerCertVerified` in `client`
[INFO] [stdout]    --> src/proxy/tls.rs:189:28
[INFO] [stdout]     |
[INFO] [stdout] 189 |         Ok(rustls::client::ServerCertVerified::assertion())
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^ could not find `ServerCertVerified` in `client`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.21.12/src/lib.rs:436:65
[INFO] [stdout]     |
[INFO] [stdout] 433 |     #[cfg(feature = "dangerous_configuration")]
[INFO] [stdout]     |           ----------------------------------- the item is gated behind the `dangerous_configuration` feature
[INFO] [stdout] ...
[INFO] [stdout] 436 |         CertificateTransparencyPolicy, HandshakeSignatureValid, ServerCertVerified,
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]    --> src/plugins/oauth2_auth/mod.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let https = hyper_rustls::HttpsConnectorBuilder::new()
[INFO] [stdout]     |                     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 158 -         let https = hyper_rustls::HttpsConnectorBuilder::new()
[INFO] [stdout] 158 +         let https = hyper_tls::HttpsConnectorBuilder::new()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `base64`
[INFO] [stdout]    --> src/plugins/oauth2_auth/mod.rs:348:30
[INFO] [stdout]     |
[INFO] [stdout] 348 |         let decoded_header = base64::Engine::decode(
[INFO] [stdout]     |                              ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `base64`
[INFO] [stdout]    --> src/plugins/oauth2_auth/mod.rs:349:14
[INFO] [stdout]     |
[INFO] [stdout] 349 |             &base64::engine::general_purpose::URL_SAFE_NO_PAD,
[INFO] [stdout]     |              ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `OAuth2Plugin` in `oauth2_auth`
[INFO] [stdout]    --> src/plugins/mod.rs:112:56
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Box::new(|config| Ok(Box::new(oauth2_auth::OAuth2Plugin::new(config)?) as Box<dyn Plugin>))
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        could not find `OAuth2Plugin` in `oauth2_auth`
[INFO] [stdout]     |                                                        help: a struct with a similar name exists: `OAuth2AuthPlugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `db` in the crate root
[INFO] [stdout]    --> src/plugins/mod.rs:383:32
[INFO] [stdout]     |
[INFO] [stdout] 383 |         if let Ok(db) = crate::db::get_connection() {
[INFO] [stdout]     |                                ^^ could not find `db` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `db` in the crate root
[INFO] [stdout]    --> src/plugins/mod.rs:384:26
[INFO] [stdout]     |
[INFO] [stdout] 384 |             match crate::db::plugin_configs::get_plugin_config_by_id(&db, id).await {
[INFO] [stdout]     |                          ^^ could not find `db` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `url`
[INFO] [stdout]   --> src/admin/pagination.rs:55:44
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let pairs: Vec<(String, String)> = url::form_urlencoded::parse(query_string.as_bytes())
[INFO] [stdout]    |                                            ^^^ use of unresolved module or unlinked crate `url`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `url`, use `cargo add url` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]    --> src/plugins/oauth2_auth/mod.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let https = hyper_rustls::HttpsConnectorBuilder::new()
[INFO] [stdout]     |                     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `hyper_rustls`
[INFO] [stdout]     |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 158 -         let https = hyper_rustls::HttpsConnectorBuilder::new()
[INFO] [stdout] 158 +         let https = hyper_tls::HttpsConnectorBuilder::new()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/modes/database.rs:39:31
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let dns_cache: Arc<crate::dns::cache::DnsCache> = Arc::new(DnsCache::new(dns_ttl, dns_overrides));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               unresolved import
[INFO] [stdout]    |                               help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/modes/database.rs:74:45
[INFO] [stdout]    |
[INFO] [stdout] 74 |             let dns_cache_clone: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache);
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             unresolved import
[INFO] [stdout]    |                                             help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/modes/database.rs:84:37
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let dns_cache_clone: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache);
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     unresolved import
[INFO] [stdout]    |                                     help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/database.rs:165:43
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let dns_cache_for_polling: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache);
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           unresolved import
[INFO] [stdout]     |                                           help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `base64`
[INFO] [stdout]    --> src/plugins/oauth2_auth/mod.rs:348:30
[INFO] [stdout]     |
[INFO] [stdout] 348 |         let decoded_header = base64::Engine::decode(
[INFO] [stdout]     |                              ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/database.rs:211:83
[INFO] [stdout]     |
[INFO] [stdout] 211 | ...                   let dns_cache: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache_for_polling);
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 unresolved import
[INFO] [stdout]     |                                                 help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `base64`
[INFO] [stdout]    --> src/plugins/oauth2_auth/mod.rs:349:14
[INFO] [stdout]     |
[INFO] [stdout] 349 |             &base64::engine::general_purpose::URL_SAFE_NO_PAD,
[INFO] [stdout]     |              ^^^^^^ use of unresolved module or unlinked crate `base64`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `base64`, use `cargo add base64` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/modes/file.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let dns_cache: Arc<crate::dns::cache::DnsCache> = Arc::new(DnsCache::new(dns_ttl, dns_overrides));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               unresolved import
[INFO] [stdout]    |                               help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:114:43
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let dns_cache_for_polling: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache);
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           unresolved import
[INFO] [stdout]     |                                           help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `OAuth2Plugin` in `oauth2_auth`
[INFO] [stdout]    --> src/plugins/mod.rs:112:56
[INFO] [stdout]     |
[INFO] [stdout] 112 |             Box::new(|config| Ok(Box::new(oauth2_auth::OAuth2Plugin::new(config)?) as Box<dyn Plugin>))
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout]     |                                                        |
[INFO] [stdout]     |                                                        could not find `OAuth2Plugin` in `oauth2_auth`
[INFO] [stdout]     |                                                        help: a struct with a similar name exists: `OAuth2AuthPlugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `db` in the crate root
[INFO] [stdout]    --> src/plugins/mod.rs:383:32
[INFO] [stdout]     |
[INFO] [stdout] 383 |         if let Ok(db) = crate::db::get_connection() {
[INFO] [stdout]     |                                ^^ could not find `db` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:187:83
[INFO] [stdout]     |
[INFO] [stdout] 187 | ...                   let dns_cache: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache_for_polling);
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 unresolved import
[INFO] [stdout]     |                                                 help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `db` in the crate root
[INFO] [stdout]    --> src/plugins/mod.rs:384:26
[INFO] [stdout]     |
[INFO] [stdout] 384 |             match crate::db::plugin_configs::get_plugin_config_by_id(&db, id).await {
[INFO] [stdout]     |                          ^^ could not find `db` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `url`
[INFO] [stdout]   --> src/admin/pagination.rs:55:44
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let pairs: Vec<(String, String)> = url::form_urlencoded::parse(query_string.as_bytes())
[INFO] [stdout]    |                                            ^^^ use of unresolved module or unlinked crate `url`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `url`, use `cargo add url` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/modes/database.rs:39:31
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let dns_cache: Arc<crate::dns::cache::DnsCache> = Arc::new(DnsCache::new(dns_ttl, dns_overrides));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               unresolved import
[INFO] [stdout]    |                               help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/modes/database.rs:74:45
[INFO] [stdout]    |
[INFO] [stdout] 74 |             let dns_cache_clone: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache);
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             unresolved import
[INFO] [stdout]    |                                             help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/modes/database.rs:84:37
[INFO] [stdout]    |
[INFO] [stdout] 84 |     let dns_cache_clone: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache);
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     unresolved import
[INFO] [stdout]    |                                     help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/database.rs:165:43
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let dns_cache_for_polling: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache);
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           unresolved import
[INFO] [stdout]     |                                           help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/database.rs:211:83
[INFO] [stdout]     |
[INFO] [stdout] 211 | ...                   let dns_cache: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache_for_polling);
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 unresolved import
[INFO] [stdout]     |                                                 help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/modes/data_plane.rs:76:40
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let dns_cache_for_grpc: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache);
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        unresolved import
[INFO] [stdout]    |                                        help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/modes/file.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let dns_cache: Arc<crate::dns::cache::DnsCache> = Arc::new(DnsCache::new(dns_ttl, dns_overrides));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               unresolved import
[INFO] [stdout]    |                               help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/data_plane.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |     dns_cache: Arc<crate::dns::cache::DnsCache>,
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           unresolved import
[INFO] [stdout]     |                           help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:114:43
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let dns_cache_for_polling: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache);
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           unresolved import
[INFO] [stdout]     |                                           help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:187:83
[INFO] [stdout]     |
[INFO] [stdout] 187 | ...                   let dns_cache: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache_for_polling);
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 unresolved import
[INFO] [stdout]     |                                                 help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]   --> src/modes/data_plane.rs:76:40
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let dns_cache_for_grpc: Arc<crate::dns::cache::DnsCache> = Arc::clone(&dns_cache);
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        unresolved import
[INFO] [stdout]    |                                        help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/data_plane.rs:144:27
[INFO] [stdout]     |
[INFO] [stdout] 144 |     dns_cache: Arc<crate::dns::cache::DnsCache>,
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           unresolved import
[INFO] [stdout]     |                           help: a similar path exists: `hyper::client::connect::dns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]    --> src/database/mysql.rs:939:18
[INFO] [stdout]     |
[INFO] [stdout] 939 |         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]     |                  ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use sqlx::types::Uuid;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Uuid`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 939 -         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout] 939 +         let id = Uuid::new_v4().to_string();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]     --> src/database/mysql.rs:1094:18
[INFO] [stdout]      |
[INFO] [stdout] 1094 |         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]      |                  ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout]    1 + use sqlx::types::Uuid;
[INFO] [stdout]      |
[INFO] [stdout] help: if you import `Uuid`, refer to it directly
[INFO] [stdout]      |
[INFO] [stdout] 1094 -         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout] 1094 +         let id = Uuid::new_v4().to_string();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]    --> src/database/sqlite.rs:883:18
[INFO] [stdout]     |
[INFO] [stdout] 883 |         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]     |                  ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use sqlx::types::Uuid;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Uuid`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 883 -         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout] 883 +         let id = Uuid::new_v4().to_string();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]     --> src/database/sqlite.rs:1032:18
[INFO] [stdout]      |
[INFO] [stdout] 1032 |         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]      |                  ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout]    1 + use sqlx::types::Uuid;
[INFO] [stdout]      |
[INFO] [stdout] help: if you import `Uuid`, refer to it directly
[INFO] [stdout]      |
[INFO] [stdout] 1032 -         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout] 1032 +         let id = Uuid::new_v4().to_string();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `load_configuration_delta` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:126:28
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     mysql::load_configuration_delta(pool, since).await
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::load_configuration_delta;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `load_configuration_delta`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 126 -                     mysql::load_configuration_delta(pool, since).await
[INFO] [stdout] 126 +                     load_configuration_delta(pool, since).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `load_configuration_delta` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:133:29
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     sqlite::load_configuration_delta(pool, since).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::load_configuration_delta;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `load_configuration_delta`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 133 -                     sqlite::load_configuration_delta(pool, since).await
[INFO] [stdout] 133 +                     load_configuration_delta(pool, since).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_latest_update_timestamp` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:153:28
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     mysql::get_latest_update_timestamp(pool).await
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::get_latest_update_timestamp;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `get_latest_update_timestamp`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 153 -                     mysql::get_latest_update_timestamp(pool).await
[INFO] [stdout] 153 +                     get_latest_update_timestamp(pool).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_latest_update_timestamp` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:160:29
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     sqlite::get_latest_update_timestamp(pool).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::get_latest_update_timestamp;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `get_latest_update_timestamp`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 160 -                     sqlite::get_latest_update_timestamp(pool).await
[INFO] [stdout] 160 +                     get_latest_update_timestamp(pool).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_consumer` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:239:28
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     mysql::delete_consumer(pool, consumer_id).await
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::delete_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:230:1
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub async fn delete_consumer(consumer_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 239 -                     mysql::delete_consumer(pool, consumer_id).await
[INFO] [stdout] 239 +                     delete_consumer(pool, consumer_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_consumer` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:246:29
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     sqlite::delete_consumer(pool, consumer_id).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::delete_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:230:1
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub async fn delete_consumer(consumer_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 246 -                     sqlite::delete_consumer(pool, consumer_id).await
[INFO] [stdout] 246 +                     delete_consumer(pool, consumer_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_plugin_config` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:266:29
[INFO] [stdout]     |
[INFO] [stdout] 266 |                      mysql::create_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/mysql.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | async fn load_plugin_configs(pool: &Pool<MySql>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ----------------------------------------------------------------------------- similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::create_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub async fn create_plugin_config(req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 266 -                      mysql::create_plugin_config(pool, plugin_config).await
[INFO] [stdout] 266 +                      mysql::load_plugin_configs(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::create_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `create_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 266 -                      mysql::create_plugin_config(pool, plugin_config).await
[INFO] [stdout] 266 +                      create_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_plugin_config` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:271:30
[INFO] [stdout]     |
[INFO] [stdout] 271 |                      sqlite::create_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/sqlite.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | async fn load_plugin_configs(pool: &Pool<Sqlite>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ------------------------------------------------------------------------------ similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::create_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub async fn create_plugin_config(req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 271 -                      sqlite::create_plugin_config(pool, plugin_config).await
[INFO] [stdout] 271 +                      sqlite::load_plugin_configs(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::create_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `create_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 271 -                      sqlite::create_plugin_config(pool, plugin_config).await
[INFO] [stdout] 271 +                      create_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]    --> src/database/mysql.rs:939:18
[INFO] [stdout]     |
[INFO] [stdout] 939 |         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]     |                  ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use sqlx::types::Uuid;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Uuid`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 939 -         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout] 939 +         let id = Uuid::new_v4().to_string();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_plugin_config` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:288:29
[INFO] [stdout]     |
[INFO] [stdout] 288 |                      mysql::update_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/mysql.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | async fn load_plugin_configs(pool: &Pool<MySql>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ----------------------------------------------------------------------------- similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::update_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub async fn update_plugin_config(config_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 288 -                      mysql::update_plugin_config(pool, plugin_config).await
[INFO] [stdout] 288 +                      mysql::load_plugin_configs(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 288 -                      mysql::update_plugin_config(pool, plugin_config).await
[INFO] [stdout] 288 +                      update_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_plugin_config` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:293:30
[INFO] [stdout]     |
[INFO] [stdout] 293 |                      sqlite::update_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/sqlite.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | async fn load_plugin_configs(pool: &Pool<Sqlite>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ------------------------------------------------------------------------------ similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::update_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub async fn update_plugin_config(config_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 293 -                      sqlite::update_plugin_config(pool, plugin_config).await
[INFO] [stdout] 293 +                      sqlite::load_plugin_configs(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 293 -                      sqlite::update_plugin_config(pool, plugin_config).await
[INFO] [stdout] 293 +                      update_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_plugin_config` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:310:29
[INFO] [stdout]     |
[INFO] [stdout] 310 |                      mysql::delete_plugin_config(pool, config_id).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/mysql.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | async fn load_plugin_configs(pool: &Pool<MySql>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ----------------------------------------------------------------------------- similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::delete_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:236:1
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub async fn delete_plugin_config(config_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 310 -                      mysql::delete_plugin_config(pool, config_id).await
[INFO] [stdout] 310 +                      mysql::load_plugin_configs(pool, config_id).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 310 -                      mysql::delete_plugin_config(pool, config_id).await
[INFO] [stdout] 310 +                      delete_plugin_config(pool, config_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]     --> src/database/mysql.rs:1094:18
[INFO] [stdout]      |
[INFO] [stdout] 1094 |         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]      |                  ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout]    1 + use sqlx::types::Uuid;
[INFO] [stdout]      |
[INFO] [stdout] help: if you import `Uuid`, refer to it directly
[INFO] [stdout]      |
[INFO] [stdout] 1094 -         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout] 1094 +         let id = Uuid::new_v4().to_string();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_plugin_config` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:315:30
[INFO] [stdout]     |
[INFO] [stdout] 315 |                      sqlite::delete_plugin_config(pool, config_id).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/sqlite.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | async fn load_plugin_configs(pool: &Pool<Sqlite>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ------------------------------------------------------------------------------ similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::delete_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:236:1
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub async fn delete_plugin_config(config_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 315 -                      sqlite::delete_plugin_config(pool, config_id).await
[INFO] [stdout] 315 +                      sqlite::load_plugin_configs(pool, config_id).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 315 -                      sqlite::delete_plugin_config(pool, config_id).await
[INFO] [stdout] 315 +                      delete_plugin_config(pool, config_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_consumer` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:333:29
[INFO] [stdout]     |
[INFO] [stdout] 333 |                      mysql::create_consumer(pool, consumer).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::create_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:39:1
[INFO] [stdout]     |
[INFO] [stdout]  39 | pub async fn create_consumer(req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::create_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `create_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 333 -                      mysql::create_consumer(pool, consumer).await
[INFO] [stdout] 333 +                      create_consumer(pool, consumer).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]    --> src/database/sqlite.rs:883:18
[INFO] [stdout]     |
[INFO] [stdout] 883 |         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]     |                  ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout]   1 + use sqlx::types::Uuid;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Uuid`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 883 -         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout] 883 +         let id = Uuid::new_v4().to_string();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_consumer` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:338:30
[INFO] [stdout]     |
[INFO] [stdout] 338 |                      sqlite::create_consumer(pool, consumer).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::create_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:39:1
[INFO] [stdout]     |
[INFO] [stdout]  39 | pub async fn create_consumer(req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::create_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `create_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 338 -                      sqlite::create_consumer(pool, consumer).await
[INFO] [stdout] 338 +                      create_consumer(pool, consumer).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_consumer` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:355:29
[INFO] [stdout]     |
[INFO] [stdout] 355 |                      mysql::update_consumer(pool, consumer).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::update_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub async fn update_consumer(consumer_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 355 -                      mysql::update_consumer(pool, consumer).await
[INFO] [stdout] 355 +                      update_consumer(pool, consumer).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_consumer` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:360:30
[INFO] [stdout]     |
[INFO] [stdout] 360 |                      sqlite::update_consumer(pool, consumer).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::update_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub async fn update_consumer(consumer_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 360 -                      sqlite::update_consumer(pool, consumer).await
[INFO] [stdout] 360 +                      update_consumer(pool, consumer).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]     --> src/database/sqlite.rs:1032:18
[INFO] [stdout]      |
[INFO] [stdout] 1032 |         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]      |                  ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]      |
[INFO] [stdout]    1 + use sqlx::types::Uuid;
[INFO] [stdout]      |
[INFO] [stdout] help: if you import `Uuid`, refer to it directly
[INFO] [stdout]      |
[INFO] [stdout] 1032 -         let id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout] 1032 +         let id = Uuid::new_v4().to_string();
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_proxy_by_id` in module `postgres`
[INFO] [stdout]    --> src/database/mod.rs:400:31
[INFO] [stdout]     |
[INFO] [stdout] 400 |                     postgres::get_proxy_by_id(pool, proxy_id).await
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ not found in `postgres`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `load_configuration_delta` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:126:28
[INFO] [stdout]     |
[INFO] [stdout] 126 |                     mysql::load_configuration_delta(pool, since).await
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::load_configuration_delta;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `load_configuration_delta`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 126 -                     mysql::load_configuration_delta(pool, since).await
[INFO] [stdout] 126 +                     load_configuration_delta(pool, since).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_proxy_by_id` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:405:29
[INFO] [stdout]     |
[INFO] [stdout] 405 |                      mysql::get_proxy_by_id(pool, proxy_id).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_proxy_by_id` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:410:30
[INFO] [stdout]     |
[INFO] [stdout] 410 |                      sqlite::get_proxy_by_id(pool, proxy_id).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `load_configuration_delta` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:133:29
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     sqlite::load_configuration_delta(pool, since).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::load_configuration_delta;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `load_configuration_delta`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 133 -                     sqlite::load_configuration_delta(pool, since).await
[INFO] [stdout] 133 +                     load_configuration_delta(pool, since).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_proxy` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:427:29
[INFO] [stdout]     |
[INFO] [stdout] 427 |                      mysql::update_proxy(pool, proxy).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/mysql.rs:51:1
[INFO] [stdout]     |
[INFO] [stdout]  51 | pub async fn create_proxy(pool: &Pool<MySql>, proxy: Proxy) -> Result<Proxy> {
[INFO] [stdout]     | ---------------------------------------------------------------------------- similarly named function `create_proxy` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::proxies::update_proxy` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/proxies.rs:155:1
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub async fn update_proxy(proxy_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 427 -                      mysql::update_proxy(pool, proxy).await
[INFO] [stdout] 427 +                      mysql::create_proxy(pool, proxy).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_proxy;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_proxy`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 427 -                      mysql::update_proxy(pool, proxy).await
[INFO] [stdout] 427 +                      update_proxy(pool, proxy).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_proxy` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:432:30
[INFO] [stdout]     |
[INFO] [stdout] 432 |                      sqlite::update_proxy(pool, proxy).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/sqlite.rs:51:1
[INFO] [stdout]     |
[INFO] [stdout]  51 | pub async fn create_proxy(pool: &Pool<Sqlite>, proxy: Proxy) -> Result<Proxy> {
[INFO] [stdout]     | ----------------------------------------------------------------------------- similarly named function `create_proxy` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::proxies::update_proxy` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/proxies.rs:155:1
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub async fn update_proxy(proxy_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 432 -                      sqlite::update_proxy(pool, proxy).await
[INFO] [stdout] 432 +                      sqlite::create_proxy(pool, proxy).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_proxy;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_proxy`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 432 -                      sqlite::update_proxy(pool, proxy).await
[INFO] [stdout] 432 +                      update_proxy(pool, proxy).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_latest_update_timestamp` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:153:28
[INFO] [stdout]     |
[INFO] [stdout] 153 |                     mysql::get_latest_update_timestamp(pool).await
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::get_latest_update_timestamp;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `get_latest_update_timestamp`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 153 -                     mysql::get_latest_update_timestamp(pool).await
[INFO] [stdout] 153 +                     get_latest_update_timestamp(pool).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_proxy` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:449:29
[INFO] [stdout]     |
[INFO] [stdout] 449 |                      mysql::delete_proxy(pool, proxy_id).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/mysql.rs:51:1
[INFO] [stdout]     |
[INFO] [stdout]  51 | pub async fn create_proxy(pool: &Pool<MySql>, proxy: Proxy) -> Result<Proxy> {
[INFO] [stdout]     | ---------------------------------------------------------------------------- similarly named function `create_proxy` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::proxies::delete_proxy` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/proxies.rs:245:1
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub async fn delete_proxy(proxy_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 449 -                      mysql::delete_proxy(pool, proxy_id).await
[INFO] [stdout] 449 +                      mysql::create_proxy(pool, proxy_id).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_proxy;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_proxy`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 449 -                      mysql::delete_proxy(pool, proxy_id).await
[INFO] [stdout] 449 +                      delete_proxy(pool, proxy_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_proxy` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:454:30
[INFO] [stdout]     |
[INFO] [stdout] 454 |                      sqlite::delete_proxy(pool, proxy_id).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/sqlite.rs:51:1
[INFO] [stdout]     |
[INFO] [stdout]  51 | pub async fn create_proxy(pool: &Pool<Sqlite>, proxy: Proxy) -> Result<Proxy> {
[INFO] [stdout]     | ----------------------------------------------------------------------------- similarly named function `create_proxy` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::proxies::delete_proxy` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/proxies.rs:245:1
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub async fn delete_proxy(proxy_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 454 -                      sqlite::delete_proxy(pool, proxy_id).await
[INFO] [stdout] 454 +                      sqlite::create_proxy(pool, proxy_id).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_proxy;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_proxy`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 454 -                      sqlite::delete_proxy(pool, proxy_id).await
[INFO] [stdout] 454 +                      delete_proxy(pool, proxy_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_latest_update_timestamp` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:160:29
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     sqlite::get_latest_update_timestamp(pool).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::get_latest_update_timestamp;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `get_latest_update_timestamp`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 160 -                     sqlite::get_latest_update_timestamp(pool).await
[INFO] [stdout] 160 +                     get_latest_update_timestamp(pool).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ServerCertVerifier` in module `rustls::client`
[INFO] [stdout]    --> src/proxy/tls.rs:179:22
[INFO] [stdout]     |
[INFO] [stdout] 179 | impl rustls::client::ServerCertVerifier for NoVerifier {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ not found in `rustls::client`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.21.12/src/lib.rs:437:9
[INFO] [stdout]     |
[INFO] [stdout] 433 |     #[cfg(feature = "dangerous_configuration")]
[INFO] [stdout]     |           ----------------------------------- the item is gated behind the `dangerous_configuration` feature
[INFO] [stdout] ...
[INFO] [stdout] 437 |         ServerCertVerifier, WebPkiVerifier,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `ServerCertVerified` in module `rustls::client`
[INFO] [stdout]    --> src/proxy/tls.rs:188:33
[INFO] [stdout]     |
[INFO] [stdout] 188 |     ) -> Result<rustls::client::ServerCertVerified, rustls::Error> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^ not found in `rustls::client`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.21.12/src/lib.rs:436:65
[INFO] [stdout]     |
[INFO] [stdout] 433 |     #[cfg(feature = "dangerous_configuration")]
[INFO] [stdout]     |           ----------------------------------- the item is gated behind the `dangerous_configuration` feature
[INFO] [stdout] ...
[INFO] [stdout] 436 |         CertificateTransparencyPolicy, HandshakeSignatureValid, ServerCertVerified,
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_consumer` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:239:28
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     mysql::delete_consumer(pool, consumer_id).await
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::delete_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:230:1
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub async fn delete_consumer(consumer_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 239 -                     mysql::delete_consumer(pool, consumer_id).await
[INFO] [stdout] 239 +                     delete_consumer(pool, consumer_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]    --> src/proxy/websocket.rs:188:15
[INFO] [stdout]     |
[INFO] [stdout] 188 |     mut read: futures_util::stream::SplitStream<WebSocketStream<S>>,
[INFO] [stdout]     |               ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use futures::stream;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `stream`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 188 -     mut read: futures_util::stream::SplitStream<WebSocketStream<S>>,
[INFO] [stdout] 188 +     mut read: stream::SplitStream<WebSocketStream<S>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]    --> src/proxy/websocket.rs:245:16
[INFO] [stdout]     |
[INFO] [stdout] 245 |     mut write: futures_util::stream::SplitSink<WebSocketStream<S>, Message>,
[INFO] [stdout]     |                ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use futures::stream;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `stream`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 245 -     mut write: futures_util::stream::SplitSink<WebSocketStream<S>, Message>,
[INFO] [stdout] 245 +     mut write: stream::SplitSink<WebSocketStream<S>, Message>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_consumer` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:246:29
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     sqlite::delete_consumer(pool, consumer_id).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::delete_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:230:1
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub async fn delete_consumer(consumer_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 246 -                     sqlite::delete_consumer(pool, consumer_id).await
[INFO] [stdout] 246 +                     delete_consumer(pool, consumer_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UdpSocket`
[INFO] [stdout]    --> src/proxy/mod.rs:385:22
[INFO] [stdout]     |
[INFO] [stdout] 385 |         let socket = UdpSocket::bind(addr)?;
[INFO] [stdout]     |                      ^^^^^^^^^ use of undeclared type `UdpSocket`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::net::UdpSocket;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tokio::net::UdpSocket;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Response` in `server`
[INFO] [stdout]    --> src/proxy/mod.rs:473:52
[INFO] [stdout]     |
[INFO] [stdout] 473 |                         let mut resp = h3::server::Response::from_parts(parts, ());
[INFO] [stdout]     |                                                    ^^^^^^^^ could not find `Response` in `server`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout]   1 + use http::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use hyper::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tonic::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tungstenite::handshake::client::Response;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: if you import `Response`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 473 -                         let mut resp = h3::server::Response::from_parts(parts, ());
[INFO] [stdout] 473 +                         let mut resp = Response::from_parts(parts, ());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Response` in `server`
[INFO] [stdout]    --> src/proxy/mod.rs:516:54
[INFO] [stdout]     |
[INFO] [stdout] 516 |                         let error_resp = h3::server::Response::builder()
[INFO] [stdout]     |                                                      ^^^^^^^^ could not find `Response` in `server`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::proxy::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use http::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use hyper::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tonic::Response;
[INFO] [stdout]     |
[INFO] [stdout]     = and 2 other candidates
[INFO] [stdout] help: if you import `Response`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 516 -                         let error_resp = h3::server::Response::builder()
[INFO] [stdout] 516 +                         let error_resp = Response::builder()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_plugin_config` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:266:29
[INFO] [stdout]     |
[INFO] [stdout] 266 |                      mysql::create_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/mysql.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | async fn load_plugin_configs(pool: &Pool<MySql>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ----------------------------------------------------------------------------- similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::create_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub async fn create_plugin_config(req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 266 -                      mysql::create_plugin_config(pool, plugin_config).await
[INFO] [stdout] 266 +                      mysql::load_plugin_configs(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::create_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `create_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 266 -                      mysql::create_plugin_config(pool, plugin_config).await
[INFO] [stdout] 266 +                      create_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `url`
[INFO] [stdout]    --> src/plugins/oauth2_auth/mod.rs:275:25
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let form_body = url::form_urlencoded::Serializer::new(String::new())
[INFO] [stdout]     |                         ^^^ use of unresolved module or unlinked crate `url`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `url`, use `cargo add url` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout]   1 + use serde::Serializer;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use serde_json::Serializer;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use serde_json::value::Serializer;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use serde_yaml::Serializer;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: if you import `Serializer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 275 -         let form_body = url::form_urlencoded::Serializer::new(String::new())
[INFO] [stdout] 275 +         let form_body = Serializer::new(String::new())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_plugin_config` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:271:30
[INFO] [stdout]     |
[INFO] [stdout] 271 |                      sqlite::create_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/sqlite.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | async fn load_plugin_configs(pool: &Pool<Sqlite>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ------------------------------------------------------------------------------ similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::create_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:65:1
[INFO] [stdout]     |
[INFO] [stdout]  65 | pub async fn create_plugin_config(req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 271 -                      sqlite::create_plugin_config(pool, plugin_config).await
[INFO] [stdout] 271 +                      sqlite::load_plugin_configs(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::create_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `create_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 271 -                      sqlite::create_plugin_config(pool, plugin_config).await
[INFO] [stdout] 271 +                      create_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope
[INFO] [stdout]    --> src/plugins/oauth2_auth/mod.rs:566:34
[INFO] [stdout]     |
[INFO] [stdout] 566 |         if let Some(consumers) = ctx.proxy.active_config.as_ref().map(|cfg| &cfg.consumers) {
[INFO] [stdout]     |                                  ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `default_consumer_claim` in this scope
[INFO] [stdout]   --> src/plugins/jwt_auth/mod.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |     #[serde(default = "default_consumer_claim")]
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `default_consumer_claim_field`
[INFO] [stdout] ...
[INFO] [stdout] 87 | fn default_consumer_claim_field() -> String {
[INFO] [stdout]    | ------------------------------------------- similarly named function `default_consumer_claim_field` defined here
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::plugins::oauth2_auth::default_consumer_claim` exists but is inaccessible
[INFO] [stdout]   --> src/plugins/oauth2_auth/mod.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn default_consumer_claim() -> String {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_plugin_config` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:288:29
[INFO] [stdout]     |
[INFO] [stdout] 288 |                      mysql::update_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/mysql.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | async fn load_plugin_configs(pool: &Pool<MySql>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ----------------------------------------------------------------------------- similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::update_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub async fn update_plugin_config(config_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 288 -                      mysql::update_plugin_config(pool, plugin_config).await
[INFO] [stdout] 288 +                      mysql::load_plugin_configs(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 288 -                      mysql::update_plugin_config(pool, plugin_config).await
[INFO] [stdout] 288 +                      update_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PaginationQuery`
[INFO] [stdout]   --> src/admin/routes/proxies.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let pagination = PaginationQuery::from_request(&Request::new(Body::empty()));
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ use of undeclared type `PaginationQuery`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::admin::pagination::PaginationQuery;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_plugin_config` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:293:30
[INFO] [stdout]     |
[INFO] [stdout] 293 |                      sqlite::update_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/sqlite.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | async fn load_plugin_configs(pool: &Pool<Sqlite>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ------------------------------------------------------------------------------ similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::update_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:153:1
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub async fn update_plugin_config(config_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 293 -                      sqlite::update_plugin_config(pool, plugin_config).await
[INFO] [stdout] 293 +                      sqlite::load_plugin_configs(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 293 -                      sqlite::update_plugin_config(pool, plugin_config).await
[INFO] [stdout] 293 +                      update_plugin_config(pool, plugin_config).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_paginated_response` in this scope
[INFO] [stdout]   --> src/admin/routes/proxies.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let response = create_paginated_response(paginated_proxies, pagination_meta);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::admin::pagination::create_paginated_response;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:153:74
[INFO] [stdout]     |
[INFO] [stdout] 153 | ...                   let proto_delta = crate::proto::ConfigDelta {
[INFO] [stdout]     |                                                ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 153 |                                                 let proto_delta = crate::prometheus::proto::ConfigDelta {
[INFO] [stdout]     |                                                                          ++++++++++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `proto`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 153 -                                                 let proto_delta = crate::proto::ConfigDelta {
[INFO] [stdout] 153 +                                                 let proto_delta = proto::ConfigDelta {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:154:109
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...                   upsert_proxies: delta.updated_proxies.iter().map(crate::proto::Proxy::from).collect(),
[INFO] [stdout]     |                                                                               ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 154 |                                                     upsert_proxies: delta.updated_proxies.iter().map(crate::prometheus::proto::Proxy::from).collect(),
[INFO] [stdout]     |                                                                                                             ++++++++++++
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::Proxy;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::Proxy;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Proxy`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 154 -                                                     upsert_proxies: delta.updated_proxies.iter().map(crate::proto::Proxy::from).collect(),
[INFO] [stdout] 154 +                                                     upsert_proxies: delta.updated_proxies.iter().map(Proxy::from).collect(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_plugin_config` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:310:29
[INFO] [stdout]     |
[INFO] [stdout] 310 |                      mysql::delete_plugin_config(pool, config_id).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/mysql.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | async fn load_plugin_configs(pool: &Pool<MySql>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ----------------------------------------------------------------------------- similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::delete_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:236:1
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub async fn delete_plugin_config(config_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 310 -                      mysql::delete_plugin_config(pool, config_id).await
[INFO] [stdout] 310 +                      mysql::load_plugin_configs(pool, config_id).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 310 -                      mysql::delete_plugin_config(pool, config_id).await
[INFO] [stdout] 310 +                      delete_plugin_config(pool, config_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:156:113
[INFO] [stdout]     |
[INFO] [stdout] 156 | ...                   upsert_consumers: delta.updated_consumers.iter().map(crate::proto::Consumer::from).collect(),
[INFO] [stdout]     |                                                                                   ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] note: struct `crate::proxy::handler::Consumer` exists but is inaccessible
[INFO] [stdout]    --> src/proxy/handler.rs:409:1
[INFO] [stdout]     |
[INFO] [stdout] 409 | pub struct Consumer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 156 |                                                     upsert_consumers: delta.updated_consumers.iter().map(crate::prometheus::proto::Consumer::from).collect(),
[INFO] [stdout]     |                                                                                                                 ++++++++++++
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::Consumer;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::Consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 156 -                                                     upsert_consumers: delta.updated_consumers.iter().map(crate::proto::Consumer::from).collect(),
[INFO] [stdout] 156 +                                                     upsert_consumers: delta.updated_consumers.iter().map(Consumer::from).collect(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:158:123
[INFO] [stdout]     |
[INFO] [stdout] 158 | ...                   upsert_plugin_configs: delta.updated_plugin_configs.iter().map(crate::proto::PluginConfig::from).collect(),
[INFO] [stdout]     |                                                                                             ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 158 |                                                     upsert_plugin_configs: delta.updated_plugin_configs.iter().map(crate::prometheus::proto::PluginConfig::from).collect(),
[INFO] [stdout]     |                                                                                                                           ++++++++++++
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::PluginConfig;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::PluginConfig;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `PluginConfig`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 158 -                                                     upsert_plugin_configs: delta.updated_plugin_configs.iter().map(crate::proto::PluginConfig::from).collect(),
[INFO] [stdout] 158 +                                                     upsert_plugin_configs: delta.updated_plugin_configs.iter().map(PluginConfig::from).collect(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_plugin_config` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:315:30
[INFO] [stdout]     |
[INFO] [stdout] 315 |                      sqlite::delete_plugin_config(pool, config_id).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/sqlite.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | async fn load_plugin_configs(pool: &Pool<Sqlite>) -> Result<Vec<PluginConfig>> {
[INFO] [stdout]     | ------------------------------------------------------------------------------ similarly named function `load_plugin_configs` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::plugins::delete_plugin_config` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/plugins.rs:236:1
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub async fn delete_plugin_config(config_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 315 -                      sqlite::delete_plugin_config(pool, config_id).await
[INFO] [stdout] 315 +                      sqlite::load_plugin_configs(pool, config_id).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_plugin_config;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_plugin_config`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 315 -                      sqlite::delete_plugin_config(pool, config_id).await
[INFO] [stdout] 315 +                      delete_plugin_config(pool, config_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:163:69
[INFO] [stdout]     |
[INFO] [stdout] 163 | ...                   let update = crate::proto::ConfigUpdate {
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 163 |                                                 let update = crate::prometheus::proto::ConfigUpdate {
[INFO] [stdout]     |                                                                     ++++++++++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `proto`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 163 -                                                 let update = crate::proto::ConfigUpdate {
[INFO] [stdout] 163 +                                                 let update = proto::ConfigUpdate {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_consumer` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:333:29
[INFO] [stdout]     |
[INFO] [stdout] 333 |                      mysql::create_consumer(pool, consumer).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::create_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:39:1
[INFO] [stdout]     |
[INFO] [stdout]  39 | pub async fn create_consumer(req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::create_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `create_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 333 -                      mysql::create_consumer(pool, consumer).await
[INFO] [stdout] 333 +                      create_consumer(pool, consumer).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:164:73
[INFO] [stdout]     |
[INFO] [stdout] 164 | ...                   update_type: crate::proto::UpdateType::Delta as i32,
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 164 |                                                     update_type: crate::prometheus::proto::UpdateType::Delta as i32,
[INFO] [stdout]     |                                                                         ++++++++++++
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::UpdateType;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `UpdateType`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 164 -                                                     update_type: crate::proto::UpdateType::Delta as i32,
[INFO] [stdout] 164 +                                                     update_type: UpdateType::Delta as i32,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:167:73
[INFO] [stdout]     |
[INFO] [stdout] 167 | ...                   update: Some(crate::proto::config_update::Update::Delta(proto_delta)),
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 167 |                                                     update: Some(crate::prometheus::proto::config_update::Update::Delta(proto_delta)),
[INFO] [stdout]     |                                                                         ++++++++++++
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::ferrumgw::config::config_update::Update;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Update`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 167 -                                                     update: Some(crate::proto::config_update::Update::Delta(proto_delta)),
[INFO] [stdout] 167 +                                                     update: Some(Update::Delta(proto_delta)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:248:55
[INFO] [stdout]     |
[INFO] [stdout] 248 | ...                   let snapshot = crate::proto::ConfigSnapshot::from(&new_config);
[INFO] [stdout]     |                                             ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 248 |                                 let snapshot = crate::prometheus::proto::ConfigSnapshot::from(&new_config);
[INFO] [stdout]     |                                                       ++++++++++++
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::ConfigSnapshot;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `ConfigSnapshot`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 248 -                                 let snapshot = crate::proto::ConfigSnapshot::from(&new_config);
[INFO] [stdout] 248 +                                 let snapshot = ConfigSnapshot::from(&new_config);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_consumer` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:338:30
[INFO] [stdout]     |
[INFO] [stdout] 338 |                      sqlite::create_consumer(pool, consumer).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::create_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:39:1
[INFO] [stdout]     |
[INFO] [stdout]  39 | pub async fn create_consumer(req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::create_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `create_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 338 -                      sqlite::create_consumer(pool, consumer).await
[INFO] [stdout] 338 +                      create_consumer(pool, consumer).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:251:53
[INFO] [stdout]     |
[INFO] [stdout] 251 | ...                   let update = crate::proto::ConfigUpdate {
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 251 |                                 let update = crate::prometheus::proto::ConfigUpdate {
[INFO] [stdout]     |                                                     ++++++++++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `proto`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 251 -                                 let update = crate::proto::ConfigUpdate {
[INFO] [stdout] 251 +                                 let update = proto::ConfigUpdate {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:252:57
[INFO] [stdout]     |
[INFO] [stdout] 252 | ...                   update_type: crate::proto::UpdateType::Full as i32,
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 252 |                                     update_type: crate::prometheus::proto::UpdateType::Full as i32,
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::UpdateType;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `UpdateType`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 252 -                                     update_type: crate::proto::UpdateType::Full as i32,
[INFO] [stdout] 252 +                                     update_type: UpdateType::Full as i32,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_consumer` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:355:29
[INFO] [stdout]     |
[INFO] [stdout] 355 |                      mysql::update_consumer(pool, consumer).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::update_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub async fn update_consumer(consumer_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 355 -                      mysql::update_consumer(pool, consumer).await
[INFO] [stdout] 355 +                      update_consumer(pool, consumer).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:255:57
[INFO] [stdout]     |
[INFO] [stdout] 255 | ...                   update: Some(crate::proto::config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 255 |                                     update: Some(crate::prometheus::proto::config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::ferrumgw::config::config_update::Update;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Update`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 255 -                                     update: Some(crate::proto::config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout] 255 +                                     update: Some(Update::FullSnapshot(snapshot)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:388:43
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 proxies.push(conversions::From::from(proxy));
[INFO] [stdout]     |                                           ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 388 -                 proxies.push(conversions::From::from(proxy));
[INFO] [stdout] 388 +                 proxies.push(From::from(proxy));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_consumer` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:360:30
[INFO] [stdout]     |
[INFO] [stdout] 360 |                      sqlite::update_consumer(pool, consumer).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::consumers::update_consumer` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/consumers.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub async fn update_consumer(consumer_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 360 -                      sqlite::update_consumer(pool, consumer).await
[INFO] [stdout] 360 +                      update_consumer(pool, consumer).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:392:45
[INFO] [stdout]     |
[INFO] [stdout] 392 |                 consumers.push(conversions::From::from(consumer));
[INFO] [stdout]     |                                             ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 392 -                 consumers.push(conversions::From::from(consumer));
[INFO] [stdout] 392 +                 consumers.push(From::from(consumer));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_proxy_by_id` in module `postgres`
[INFO] [stdout]    --> src/database/mod.rs:400:31
[INFO] [stdout]     |
[INFO] [stdout] 400 |                     postgres::get_proxy_by_id(pool, proxy_id).await
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^ not found in `postgres`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:396:50
[INFO] [stdout]     |
[INFO] [stdout] 396 |                 plugin_configs.push(conversions::From::from(plugin_config));
[INFO] [stdout]     |                                                  ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 396 -                 plugin_configs.push(conversions::From::from(plugin_config));
[INFO] [stdout] 396 +                 plugin_configs.push(From::from(plugin_config));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_proxy_by_id` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:405:29
[INFO] [stdout]     |
[INFO] [stdout] 405 |                      mysql::get_proxy_by_id(pool, proxy_id).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ not found in `mysql`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_proxy_by_id` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:410:30
[INFO] [stdout]     |
[INFO] [stdout] 410 |                      sqlite::get_proxy_by_id(pool, proxy_id).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ not found in `sqlite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:421:43
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 proxies.push(conversions::From::from(proxy));
[INFO] [stdout]     |                                           ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 421 -                 proxies.push(conversions::From::from(proxy));
[INFO] [stdout] 421 +                 proxies.push(From::from(proxy));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_proxy` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:427:29
[INFO] [stdout]     |
[INFO] [stdout] 427 |                      mysql::update_proxy(pool, proxy).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/mysql.rs:51:1
[INFO] [stdout]     |
[INFO] [stdout]  51 | pub async fn create_proxy(pool: &Pool<MySql>, proxy: Proxy) -> Result<Proxy> {
[INFO] [stdout]     | ---------------------------------------------------------------------------- similarly named function `create_proxy` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::proxies::update_proxy` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/proxies.rs:155:1
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub async fn update_proxy(proxy_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 427 -                      mysql::update_proxy(pool, proxy).await
[INFO] [stdout] 427 +                      mysql::create_proxy(pool, proxy).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_proxy;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_proxy`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 427 -                      mysql::update_proxy(pool, proxy).await
[INFO] [stdout] 427 +                      update_proxy(pool, proxy).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:425:45
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 consumers.push(conversions::From::from(consumer));
[INFO] [stdout]     |                                             ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 425 -                 consumers.push(conversions::From::from(consumer));
[INFO] [stdout] 425 +                 consumers.push(From::from(consumer));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `update_proxy` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:432:30
[INFO] [stdout]     |
[INFO] [stdout] 432 |                      sqlite::update_proxy(pool, proxy).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/sqlite.rs:51:1
[INFO] [stdout]     |
[INFO] [stdout]  51 | pub async fn create_proxy(pool: &Pool<Sqlite>, proxy: Proxy) -> Result<Proxy> {
[INFO] [stdout]     | ----------------------------------------------------------------------------- similarly named function `create_proxy` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::proxies::update_proxy` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/proxies.rs:155:1
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub async fn update_proxy(proxy_id: &str, req: Request<Body>, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 432 -                      sqlite::update_proxy(pool, proxy).await
[INFO] [stdout] 432 +                      sqlite::create_proxy(pool, proxy).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::update_proxy;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `update_proxy`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 432 -                      sqlite::update_proxy(pool, proxy).await
[INFO] [stdout] 432 +                      update_proxy(pool, proxy).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:429:50
[INFO] [stdout]     |
[INFO] [stdout] 429 |                 plugin_configs.push(conversions::From::from(plugin_config));
[INFO] [stdout]     |                                                  ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 429 -                 plugin_configs.push(conversions::From::from(plugin_config));
[INFO] [stdout] 429 +                 plugin_configs.push(From::from(plugin_config));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_proxy` in module `mysql`
[INFO] [stdout]    --> src/database/mod.rs:449:29
[INFO] [stdout]     |
[INFO] [stdout] 449 |                      mysql::delete_proxy(pool, proxy_id).await
[INFO] [stdout]     |                             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/mysql.rs:51:1
[INFO] [stdout]     |
[INFO] [stdout]  51 | pub async fn create_proxy(pool: &Pool<MySql>, proxy: Proxy) -> Result<Proxy> {
[INFO] [stdout]     | ---------------------------------------------------------------------------- similarly named function `create_proxy` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::proxies::delete_proxy` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/proxies.rs:245:1
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub async fn delete_proxy(proxy_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 449 -                      mysql::delete_proxy(pool, proxy_id).await
[INFO] [stdout] 449 +                      mysql::create_proxy(pool, proxy_id).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_proxy;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_proxy`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 449 -                      mysql::delete_proxy(pool, proxy_id).await
[INFO] [stdout] 449 +                      delete_proxy(pool, proxy_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `delete_proxy` in module `sqlite`
[INFO] [stdout]    --> src/database/mod.rs:454:30
[INFO] [stdout]     |
[INFO] [stdout] 454 |                      sqlite::delete_proxy(pool, proxy_id).await
[INFO] [stdout]     |                              ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/database/sqlite.rs:51:1
[INFO] [stdout]     |
[INFO] [stdout]  51 | pub async fn create_proxy(pool: &Pool<Sqlite>, proxy: Proxy) -> Result<Proxy> {
[INFO] [stdout]     | ----------------------------------------------------------------------------- similarly named function `create_proxy` defined here
[INFO] [stdout]     |
[INFO] [stdout] note: function `crate::admin::routes::proxies::delete_proxy` exists but is inaccessible
[INFO] [stdout]    --> src/admin/routes/proxies.rs:245:1
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub async fn delete_proxy(proxy_id: &str, state: Arc<AdminApiState>) -> Result<Response<Body>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 454 -                      sqlite::delete_proxy(pool, proxy_id).await
[INFO] [stdout] 454 +                      sqlite::create_proxy(pool, proxy_id).await
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::database::postgres::delete_proxy;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `delete_proxy`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 454 -                      sqlite::delete_proxy(pool, proxy_id).await
[INFO] [stdout] 454 +                      delete_proxy(pool, proxy_id).await
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:687:63
[INFO] [stdout]     |
[INFO] [stdout] 687 |         pub async fn push_config_update(&self, update: crate::proto::ConfigUpdate) -> Result<(), Status> {
[INFO] [stdout]     |                                                               ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 687 |         pub async fn push_config_update(&self, update: crate::prometheus::proto::ConfigUpdate) -> Result<(), Status> {
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use crate::grpc::proto;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `proto`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 687 -         pub async fn push_config_update(&self, update: crate::proto::ConfigUpdate) -> Result<(), Status> {
[INFO] [stdout] 687 +         pub async fn push_config_update(&self, update: proto::ConfigUpdate) -> Result<(), Status> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ServerCertVerifier` in module `rustls::client`
[INFO] [stdout]    --> src/proxy/tls.rs:179:22
[INFO] [stdout]     |
[INFO] [stdout] 179 | impl rustls::client::ServerCertVerifier for NoVerifier {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^ not found in `rustls::client`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.21.12/src/lib.rs:437:9
[INFO] [stdout]     |
[INFO] [stdout] 433 |     #[cfg(feature = "dangerous_configuration")]
[INFO] [stdout]     |           ----------------------------------- the item is gated behind the `dangerous_configuration` feature
[INFO] [stdout] ...
[INFO] [stdout] 437 |         ServerCertVerifier, WebPkiVerifier,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]   --> src/grpc/config_client.rs:30:40
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let node_id = format!("dp-{}", uuid::Uuid::new_v4());
[INFO] [stdout]    |                                        ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::types::Uuid;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Uuid`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 30 -         let node_id = format!("dp-{}", uuid::Uuid::new_v4());
[INFO] [stdout] 30 +         let node_id = format!("dp-{}", Uuid::new_v4());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `config_update`
[INFO] [stdout]   --> src/grpc/mod.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |             update: Some(config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout]    |                          ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `config_update`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `config_update`, use `cargo add config_update` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  5 + use crate::grpc::ferrumgw::config::config_update::Update;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Update`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 99 -             update: Some(config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout] 99 +             update: Some(Update::FullSnapshot(snapshot)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `ServerCertVerified` in module `rustls::client`
[INFO] [stdout]    --> src/proxy/tls.rs:188:33
[INFO] [stdout]     |
[INFO] [stdout] 188 |     ) -> Result<rustls::client::ServerCertVerified, rustls::Error> {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^ not found in `rustls::client`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.21.12/src/lib.rs:436:65
[INFO] [stdout]     |
[INFO] [stdout] 433 |     #[cfg(feature = "dangerous_configuration")]
[INFO] [stdout]     |           ----------------------------------- the item is gated behind the `dangerous_configuration` feature
[INFO] [stdout] ...
[INFO] [stdout] 436 |         CertificateTransparencyPolicy, HandshakeSignatureValid, ServerCertVerified,
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]    --> src/proxy/websocket.rs:188:15
[INFO] [stdout]     |
[INFO] [stdout] 188 |     mut read: futures_util::stream::SplitStream<WebSocketStream<S>>,
[INFO] [stdout]     |               ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use futures::stream;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `stream`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 188 -     mut read: futures_util::stream::SplitStream<WebSocketStream<S>>,
[INFO] [stdout] 188 +     mut read: stream::SplitStream<WebSocketStream<S>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `config_update` in `proto`
[INFO] [stdout]    --> src/grpc/mod.rs:141:37
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 update: Some(proto::config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ could not find `config_update` in `proto`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout]   5 + use crate::grpc::ferrumgw::config::config_update::Update;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Update`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 141 -                 update: Some(proto::config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout] 141 +                 update: Some(Update::FullSnapshot(snapshot)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `config_service_client` in `proto`
[INFO] [stdout]    --> src/grpc/mod.rs:196:20
[INFO] [stdout]     |
[INFO] [stdout] 196 |     client: proto::config_service_client::ConfigServiceClient<tonic::transport::Channel>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^ could not find `config_service_client` in `proto`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   5 + use crate::grpc::ferrumgw::config::config_service_client;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `config_service_client`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 196 -     client: proto::config_service_client::ConfigServiceClient<tonic::transport::Channel>,
[INFO] [stdout] 196 +     client: config_service_client::ConfigServiceClient<tonic::transport::Channel>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]    --> src/proxy/websocket.rs:245:16
[INFO] [stdout]     |
[INFO] [stdout] 245 |     mut write: futures_util::stream::SplitSink<WebSocketStream<S>, Message>,
[INFO] [stdout]     |                ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use futures::stream;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `stream`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 245 -     mut write: futures_util::stream::SplitSink<WebSocketStream<S>, Message>,
[INFO] [stdout] 245 +     mut write: stream::SplitSink<WebSocketStream<S>, Message>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `config_service_client` in `proto`
[INFO] [stdout]    --> src/grpc/mod.rs:205:29
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let client = proto::config_service_client::ConfigServiceClient::connect(grpc_url.to_string())
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^ could not find `config_service_client` in `proto`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   5 + use crate::grpc::proto::ConfigServiceClient;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `ConfigServiceClient`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 205 -         let client = proto::config_service_client::ConfigServiceClient::connect(grpc_url.to_string())
[INFO] [stdout] 205 +         let client = ConfigServiceClient::connect(grpc_url.to_string())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `UdpSocket`
[INFO] [stdout]    --> src/proxy/mod.rs:385:22
[INFO] [stdout]     |
[INFO] [stdout] 385 |         let socket = UdpSocket::bind(addr)?;
[INFO] [stdout]     |                      ^^^^^^^^^ use of undeclared type `UdpSocket`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use std::net::UdpSocket;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tokio::net::UdpSocket;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Response` in `server`
[INFO] [stdout]    --> src/proxy/mod.rs:473:52
[INFO] [stdout]     |
[INFO] [stdout] 473 |                         let mut resp = h3::server::Response::from_parts(parts, ());
[INFO] [stdout]     |                                                    ^^^^^^^^ could not find `Response` in `server`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout]   1 + use http::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use hyper::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tonic::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tungstenite::handshake::client::Response;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: if you import `Response`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 473 -                         let mut resp = h3::server::Response::from_parts(parts, ());
[INFO] [stdout] 473 +                         let mut resp = Response::from_parts(parts, ());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUESTS_TOTAL` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         PROXY_REQUESTS_TOTAL.inc();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `Response` in `server`
[INFO] [stdout]    --> src/proxy/mod.rs:516:54
[INFO] [stdout]     |
[INFO] [stdout] 516 |                         let error_resp = h3::server::Response::builder()
[INFO] [stdout]     |                                                      ^^^^^^^^ could not find `Response` in `server`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::proxy::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use http::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use hyper::Response;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use tonic::Response;
[INFO] [stdout]     |
[INFO] [stdout]     = and 2 other candidates
[INFO] [stdout] help: if you import `Response`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 516 -                         let error_resp = h3::server::Response::builder()
[INFO] [stdout] 516 +                         let error_resp = Response::builder()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUESTS_ACTIVE` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         PROXY_REQUESTS_ACTIVE.inc();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `url`
[INFO] [stdout]    --> src/plugins/oauth2_auth/mod.rs:275:25
[INFO] [stdout]     |
[INFO] [stdout] 275 |         let form_body = url::form_urlencoded::Serializer::new(String::new())
[INFO] [stdout]     |                         ^^^ use of unresolved module or unlinked crate `url`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `url`, use `cargo add url` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout]   1 + use serde::Serializer;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use serde_json::Serializer;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use serde_json::value::Serializer;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use serde_yaml::Serializer;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: if you import `Serializer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 275 -         let form_body = url::form_urlencoded::Serializer::new(String::new())
[INFO] [stdout] 275 +         let form_body = Serializer::new(String::new())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUESTS_ACTIVE` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         PROXY_REQUESTS_ACTIVE.dec();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope
[INFO] [stdout]    --> src/plugins/oauth2_auth/mod.rs:566:34
[INFO] [stdout]     |
[INFO] [stdout] 566 |         if let Some(consumers) = ctx.proxy.active_config.as_ref().map(|cfg| &cfg.consumers) {
[INFO] [stdout]     |                                  ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_STATUS_CODES` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         PROXY_STATUS_CODES.with_label_values(&[&status_code_str]).inc();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `default_consumer_claim` in this scope
[INFO] [stdout]   --> src/plugins/jwt_auth/mod.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |     #[serde(default = "default_consumer_claim")]
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `default_consumer_claim_field`
[INFO] [stdout] ...
[INFO] [stdout] 87 | fn default_consumer_claim_field() -> String {
[INFO] [stdout]    | ------------------------------------------- similarly named function `default_consumer_claim_field` defined here
[INFO] [stdout]    |
[INFO] [stdout] note: function `crate::plugins::oauth2_auth::default_consumer_claim` exists but is inaccessible
[INFO] [stdout]   --> src/plugins/oauth2_auth/mod.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn default_consumer_claim() -> String {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUESTS_BY_PROXY` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |             PROXY_REQUESTS_BY_PROXY.with_label_values(&[proxy_id, proxy_name]).inc();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUEST_DURATION` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             PROXY_REQUEST_DURATION.with_label_values(&[proxy_id]).observe(duration_seconds);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PaginationQuery`
[INFO] [stdout]   --> src/admin/routes/proxies.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let pagination = PaginationQuery::from_request(&Request::new(Body::empty()));
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ use of undeclared type `PaginationQuery`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::admin::pagination::PaginationQuery;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_BACKEND_DURATION` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         PROXY_BACKEND_DURATION.with_label_values(&[proxy_id]).observe(duration_seconds);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `create_paginated_response` in this scope
[INFO] [stdout]   --> src/admin/routes/proxies.rs:23:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let response = create_paginated_response(paginated_proxies, pagination_meta);
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::admin::pagination::create_paginated_response;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `AUTH_SUCCESSES` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |             AUTH_SUCCESSES.with_label_values(&[plugin_name]).inc();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:153:74
[INFO] [stdout]     |
[INFO] [stdout] 153 | ...                   let proto_delta = crate::proto::ConfigDelta {
[INFO] [stdout]     |                                                ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 153 |                                                 let proto_delta = crate::prometheus::proto::ConfigDelta {
[INFO] [stdout]     |                                                                          ++++++++++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `proto`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 153 -                                                 let proto_delta = crate::proto::ConfigDelta {
[INFO] [stdout] 153 +                                                 let proto_delta = proto::ConfigDelta {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `AUTH_FAILURES` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |             AUTH_FAILURES.with_label_values(&[plugin_name]).inc();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:154:109
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...                   upsert_proxies: delta.updated_proxies.iter().map(crate::proto::Proxy::from).collect(),
[INFO] [stdout]     |                                                                               ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 154 |                                                     upsert_proxies: delta.updated_proxies.iter().map(crate::prometheus::proto::Proxy::from).collect(),
[INFO] [stdout]     |                                                                                                             ++++++++++++
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::Proxy;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::Proxy;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Proxy`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 154 -                                                     upsert_proxies: delta.updated_proxies.iter().map(crate::proto::Proxy::from).collect(),
[INFO] [stdout] 154 +                                                     upsert_proxies: delta.updated_proxies.iter().map(Proxy::from).collect(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PLUGIN_EXEC_DURATION` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         PLUGIN_EXEC_DURATION.with_label_values(&[plugin_name, hook_name]).observe(duration_seconds);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:156:113
[INFO] [stdout]     |
[INFO] [stdout] 156 | ...                   upsert_consumers: delta.updated_consumers.iter().map(crate::proto::Consumer::from).collect(),
[INFO] [stdout]     |                                                                                   ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] note: struct `crate::proxy::handler::Consumer` exists but is inaccessible
[INFO] [stdout]    --> src/proxy/handler.rs:409:1
[INFO] [stdout]     |
[INFO] [stdout] 409 | pub struct Consumer {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^ not accessible
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 156 |                                                     upsert_consumers: delta.updated_consumers.iter().map(crate::prometheus::proto::Consumer::from).collect(),
[INFO] [stdout]     |                                                                                                                 ++++++++++++
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::Consumer;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::Consumer;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Consumer`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 156 -                                                     upsert_consumers: delta.updated_consumers.iter().map(crate::proto::Consumer::from).collect(),
[INFO] [stdout] 156 +                                                     upsert_consumers: delta.updated_consumers.iter().map(Consumer::from).collect(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUESTS_TOTAL` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:158:29
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let current_total = PROXY_REQUESTS_TOTAL.get();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:158:123
[INFO] [stdout]     |
[INFO] [stdout] 158 | ...                   upsert_plugin_configs: delta.updated_plugin_configs.iter().map(crate::proto::PluginConfig::from).collect(),
[INFO] [stdout]     |                                                                                             ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 158 |                                                     upsert_plugin_configs: delta.updated_plugin_configs.iter().map(crate::prometheus::proto::PluginConfig::from).collect(),
[INFO] [stdout]     |                                                                                                                           ++++++++++++
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::PluginConfig;
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::PluginConfig;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `PluginConfig`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 158 -                                                     upsert_plugin_configs: delta.updated_plugin_configs.iter().map(crate::proto::PluginConfig::from).collect(),
[INFO] [stdout] 158 +                                                     upsert_plugin_configs: delta.updated_plugin_configs.iter().map(PluginConfig::from).collect(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/stdout_logging/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/http_logging/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/transaction_debugger/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/oauth2_auth/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::proxy::handler::{RequestContext, Consumer};
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:163:69
[INFO] [stdout]     |
[INFO] [stdout] 163 | ...                   let update = crate::proto::ConfigUpdate {
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 163 |                                                 let update = crate::prometheus::proto::ConfigUpdate {
[INFO] [stdout]     |                                                                     ++++++++++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `proto`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 163 -                                                 let update = crate::proto::ConfigUpdate {
[INFO] [stdout] 163 +                                                 let update = proto::ConfigUpdate {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/jwt_auth/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::{RequestContext, Consumer};
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/key_auth/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::{RequestContext, Consumer};
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/basic_auth/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::proxy::handler::{RequestContext, Consumer};
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/access_control/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:164:73
[INFO] [stdout]     |
[INFO] [stdout] 164 | ...                   update_type: crate::proto::UpdateType::Delta as i32,
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 164 |                                                     update_type: crate::prometheus::proto::UpdateType::Delta as i32,
[INFO] [stdout]     |                                                                         ++++++++++++
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::UpdateType;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `UpdateType`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 164 -                                                     update_type: crate::proto::UpdateType::Delta as i32,
[INFO] [stdout] 164 +                                                     update_type: UpdateType::Delta as i32,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/request_transformer/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/response_transformer/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/rate_limiting/mod.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `tls` is private
[INFO] [stdout]   --> src/admin/mod.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::proxy::tls;
[INFO] [stdout]    |                   ^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `tls` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | mod tls;
[INFO] [stdout]    | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `update_manager` is private
[INFO] [stdout]   --> src/admin/mod.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::proxy::update_manager::RouterUpdate;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^  ------------ enum `RouterUpdate` is not publicly re-exported
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `update_manager` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | mod update_manager;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:167:73
[INFO] [stdout]     |
[INFO] [stdout] 167 | ...                   update: Some(crate::proto::config_update::Update::Delta(proto_delta)),
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 167 |                                                     update: Some(crate::prometheus::proto::config_update::Update::Delta(proto_delta)),
[INFO] [stdout]     |                                                                         ++++++++++++
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::ferrumgw::config::config_update::Update;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Update`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 167 -                                                     update: Some(crate::proto::config_update::Update::Delta(proto_delta)),
[INFO] [stdout] 167 +                                                     update: Some(Update::Delta(proto_delta)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:248:55
[INFO] [stdout]     |
[INFO] [stdout] 248 | ...                   let snapshot = crate::proto::ConfigSnapshot::from(&new_config);
[INFO] [stdout]     |                                             ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 248 |                                 let snapshot = crate::prometheus::proto::ConfigSnapshot::from(&new_config);
[INFO] [stdout]     |                                                       ++++++++++++
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::ConfigSnapshot;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `ConfigSnapshot`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 248 -                                 let snapshot = crate::proto::ConfigSnapshot::from(&new_config);
[INFO] [stdout] 248 +                                 let snapshot = ConfigSnapshot::from(&new_config);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:251:53
[INFO] [stdout]     |
[INFO] [stdout] 251 | ...                   let update = crate::proto::ConfigUpdate {
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 251 |                                 let update = crate::prometheus::proto::ConfigUpdate {
[INFO] [stdout]     |                                                     ++++++++++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `proto`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 251 -                                 let update = crate::proto::ConfigUpdate {
[INFO] [stdout] 251 +                                 let update = proto::ConfigUpdate {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `update_manager` is private
[INFO] [stdout]   --> src/admin/routes/proxies.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::update_manager::RouterUpdate;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^  ------------ enum `RouterUpdate` is not publicly re-exported
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `update_manager` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | mod update_manager;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/lib.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use proxy::handler::ProxyHandler;
[INFO] [stdout]    |                ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `router` is private
[INFO] [stdout]   --> src/lib.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use proxy::router::Router;
[INFO] [stdout]    |                ^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `router` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | mod router;
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: function `validate_listen_path_uniqueness` is private
[INFO] [stdout]    --> src/modes/control_plane.rs:227:69
[INFO] [stdout]     |
[INFO] [stdout] 227 | ...                   if let Err(e) = crate::modes::database::validate_listen_path_uniqueness(&new_config) {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private function
[INFO] [stdout]     |
[INFO] [stdout] note: the function `validate_listen_path_uniqueness` is defined here
[INFO] [stdout]    --> src/modes/database.rs:300:1
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn validate_listen_path_uniqueness(config: &Configuration) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:252:57
[INFO] [stdout]     |
[INFO] [stdout] 252 | ...                   update_type: crate::proto::UpdateType::Full as i32,
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 252 |                                     update_type: crate::prometheus::proto::UpdateType::Full as i32,
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] help: consider importing this enum through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::UpdateType;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `UpdateType`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 252 -                                     update_type: crate::proto::UpdateType::Full as i32,
[INFO] [stdout] 252 +                                     update_type: UpdateType::Full as i32,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:255:57
[INFO] [stdout]     |
[INFO] [stdout] 255 | ...                   update: Some(crate::proto::config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout]     |                                           ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 255 |                                     update: Some(crate::prometheus::proto::config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout]     |                                                         ++++++++++++
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout]   1 + use crate::grpc::proto::ferrumgw::config::config_update::Update;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Update`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 255 -                                     update: Some(crate::proto::config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout] 255 +                                     update: Some(Update::FullSnapshot(snapshot)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:388:43
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 proxies.push(conversions::From::from(proxy));
[INFO] [stdout]     |                                           ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 388 -                 proxies.push(conversions::From::from(proxy));
[INFO] [stdout] 388 +                 proxies.push(From::from(proxy));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/database/mod.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, error};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DatabaseType`
[INFO] [stdout]   --> src/database/mod.rs:10:48
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::config::data_model::{Configuration, DatabaseType, Proxy, Consumer, PluginConfig, ConfigurationDelta};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]  --> src/database/postgres.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::{Pool, Postgres, Transaction};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/database/postgres.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing::{info, error, debug};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/database/mysql.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/database/mysql.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/database/sqlite.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/database/sqlite.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/database/sqlite.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/proxy/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `make_service_fn`
[INFO] [stdout]   --> src/proxy/mod.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use hyper::service::{service_fn, make_service_fn};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `h3::quic::SendStream`
[INFO] [stdout]   --> src/proxy/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use h3::quic::SendStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:392:45
[INFO] [stdout]     |
[INFO] [stdout] 392 |                 consumers.push(conversions::From::from(consumer));
[INFO] [stdout]     |                                             ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 392 -                 consumers.push(conversions::From::from(consumer));
[INFO] [stdout] 392 +                 consumers.push(From::from(consumer));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryStreamExt`
[INFO] [stdout]   --> src/proxy/mod.rs:17:26
[INFO] [stdout]    |
[INFO] [stdout] 17 | use futures::{StreamExt, TryStreamExt};
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytes::Bytes`
[INFO] [stdout]   --> src/proxy/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use bytes::Bytes;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncWriteExt`
[INFO] [stdout]   --> src/proxy/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::io::AsyncWriteExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]   --> src/proxy/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::pin::Pin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context as TaskContext` and `Poll`
[INFO] [stdout]   --> src/proxy/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::task::{Context as TaskContext, Poll};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BackendProtocol` and `Proxy`
[INFO] [stdout]   --> src/proxy/mod.rs:24:48
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::config::data_model::{Configuration, Proxy, BackendProtocol};
[INFO] [stdout]    |                                                ^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/proxy/router.rs:5:40
[INFO] [stdout]   |
[INFO] [stdout] 5 | use matchit::{Router as MatchitRouter, Match};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `trace` and `warn`
[INFO] [stdout]  --> src/proxy/handler.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{info, warn, error, debug, trace};
[INFO] [stdout]   |                     ^^^^                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `header`
[INFO] [stdout]  --> src/proxy/handler.rs:7:55
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hyper::{Body, Request, Response, StatusCode, Uri, header};
[INFO] [stdout]   |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/proxy/tls.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/proxy/tls.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Client`
[INFO] [stdout]  --> src/proxy/websocket.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hyper::{Body, Client, Request, Response, StatusCode};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hyper_tls::HttpsConnector`
[INFO] [stdout]  --> src/proxy/websocket.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use hyper_tls::HttpsConnector;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]  --> src/proxy/websocket.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MaybeTlsStream`
[INFO] [stdout]  --> src/proxy/websocket.rs:8:59
[INFO] [stdout]   |
[INFO] [stdout] 8 |     connect_async, tungstenite::Message, WebSocketStream, MaybeTlsStream
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/proxy/websocket.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/proxy/websocket.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RwLock` and `mpsc`
[INFO] [stdout]  --> src/proxy/update_manager.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::sync::{RwLock, mpsc, broadcast};
[INFO] [stdout]   |                   ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/proxy/update_manager.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, warn, error, info};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/mod.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, error, warn};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/plugins/transaction_debugger/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> src/plugins/transaction_debugger/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Response`
[INFO] [stdout]  --> src/plugins/oauth2_auth/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header, StatusCode, client::HttpConnector};
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/oauth2_auth/mod.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UNIX_EPOCH`
[INFO] [stdout]  --> src/plugins/oauth2_auth/mod.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Response` and `StatusCode`
[INFO] [stdout]  --> src/plugins/jwt_auth/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header, StatusCode};
[INFO] [stdout]   |                            ^^^^^^^^          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/jwt_auth/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenData`
[INFO] [stdout]  --> src/plugins/jwt_auth/mod.rs:6:64
[INFO] [stdout]   |
[INFO] [stdout] 6 | use jsonwebtoken::{decode, DecodingKey, Validation, Algorithm, TokenData};
[INFO] [stdout]   |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:396:50
[INFO] [stdout]     |
[INFO] [stdout] 396 |                 plugin_configs.push(conversions::From::from(plugin_config));
[INFO] [stdout]     |                                                  ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 396 -                 plugin_configs.push(conversions::From::from(plugin_config));
[INFO] [stdout] 396 +                 plugin_configs.push(From::from(plugin_config));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Response`, `StatusCode`, and `header`
[INFO] [stdout]  --> src/plugins/key_auth/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header, StatusCode};
[INFO] [stdout]   |                            ^^^^^^^^  ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/key_auth/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bcrypt::verify`
[INFO] [stdout]  --> src/plugins/key_auth/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use bcrypt::verify;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `argon2`
[INFO] [stdout]    --> src/plugins/key_auth/mod.rs:213:11
[INFO] [stdout]     |
[INFO] [stdout] 213 |     #[cfg(feature = "argon2")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `argon2` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `argon2`
[INFO] [stdout]    --> src/plugins/key_auth/mod.rs:227:15
[INFO] [stdout]     |
[INFO] [stdout] 227 |     #[cfg(not(feature = "argon2"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `argon2` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Response` and `StatusCode`
[INFO] [stdout]  --> src/plugins/basic_auth/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header, StatusCode};
[INFO] [stdout]   |                            ^^^^^^^^          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/basic_auth/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bcrypt::verify`
[INFO] [stdout]  --> src/plugins/basic_auth/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bcrypt::verify;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bcrypt`
[INFO] [stdout]    --> src/plugins/basic_auth/mod.rs:186:11
[INFO] [stdout]     |
[INFO] [stdout] 186 |     #[cfg(feature = "bcrypt")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `bcrypt` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `argon2`
[INFO] [stdout]    --> src/plugins/basic_auth/mod.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 191 |     #[cfg(all(feature = "argon2", not(feature = "bcrypt")))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `argon2` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bcrypt`
[INFO] [stdout]    --> src/plugins/basic_auth/mod.rs:191:39
[INFO] [stdout]     |
[INFO] [stdout] 191 |     #[cfg(all(feature = "argon2", not(feature = "bcrypt")))]
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `bcrypt` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bcrypt`
[INFO] [stdout]    --> src/plugins/basic_auth/mod.rs:205:19
[INFO] [stdout]     |
[INFO] [stdout] 205 |     #[cfg(not(any(feature = "bcrypt", feature = "argon2")))]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `bcrypt` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `argon2`
[INFO] [stdout]    --> src/plugins/basic_auth/mod.rs:205:39
[INFO] [stdout]     |
[INFO] [stdout] 205 |     #[cfg(not(any(feature = "bcrypt", feature = "argon2")))]
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `argon2` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Response` and `StatusCode`
[INFO] [stdout]  --> src/plugins/access_control/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, StatusCode};
[INFO] [stdout]   |                            ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/plugins/access_control/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Response`
[INFO] [stdout]  --> src/plugins/request_transformer/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header, Uri};
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/request_transformer/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Request`
[INFO] [stdout]  --> src/plugins/response_transformer/mod.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header};
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/response_transformer/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> src/plugins/rate_limiting/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/admin/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]   --> src/admin/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chrono::Utc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenData`
[INFO] [stdout]   --> src/admin/mod.rs:12:64
[INFO] [stdout]    |
[INFO] [stdout] 12 | use jsonwebtoken::{decode, DecodingKey, Validation, Algorithm, TokenData};
[INFO] [stdout]    |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Consumer`, `PluginConfig`, and `Proxy`
[INFO] [stdout]   --> src/admin/mod.rs:16:48
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::config::data_model::{Configuration, Proxy, Consumer, PluginConfig};
[INFO] [stdout]    |                                                ^^^^^  ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:421:43
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 proxies.push(conversions::From::from(proxy));
[INFO] [stdout]     |                                           ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 421 -                 proxies.push(conversions::From::from(proxy));
[INFO] [stdout] 421 +                 proxies.push(From::from(proxy));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/admin/routes/proxies.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, error, info};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:425:45
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 consumers.push(conversions::From::from(consumer));
[INFO] [stdout]     |                                             ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 425 -                 consumers.push(conversions::From::from(consumer));
[INFO] [stdout] 425 +                 consumers.push(From::from(consumer));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/admin/routes/consumers.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, error, info};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `From` in `conversions`
[INFO] [stdout]    --> src/modes/control_plane.rs:429:50
[INFO] [stdout]     |
[INFO] [stdout] 429 |                 plugin_configs.push(conversions::From::from(plugin_config));
[INFO] [stdout]     |                                                  ^^^^ could not find `From` in `conversions`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use std::convert::From;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `From`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 429 -                 plugin_configs.push(conversions::From::from(plugin_config));
[INFO] [stdout] 429 +                 plugin_configs.push(From::from(plugin_config));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> src/admin/routes/plugins.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, error, info};
[INFO] [stdout]   |               ^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: unresolved import
[INFO] [stdout]    --> src/modes/control_plane.rs:687:63
[INFO] [stdout]     |
[INFO] [stdout] 687 |         pub async fn push_config_update(&self, update: crate::proto::ConfigUpdate) -> Result<(), Status> {
[INFO] [stdout]     |                                                               ^^^^^ unresolved import
[INFO] [stdout]     |
[INFO] [stdout] help: a similar path exists
[INFO] [stdout]     |
[INFO] [stdout] 687 |         pub async fn push_config_update(&self, update: crate::prometheus::proto::ConfigUpdate) -> Result<(), Status> {
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout] 300 +     use crate::grpc::proto;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `proto`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 687 -         pub async fn push_config_update(&self, update: crate::proto::ConfigUpdate) -> Result<(), Status> {
[INFO] [stdout] 687 +         pub async fn push_config_update(&self, update: proto::ConfigUpdate) -> Result<(), Status> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::modes::OperationMode`
[INFO] [stdout]  --> src/admin/metrics.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::modes::OperationMode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/admin/pagination.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]   --> src/grpc/config_client.rs:30:40
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let node_id = format!("dp-{}", uuid::Uuid::new_v4());
[INFO] [stdout]    |                                        ^^^^ use of unresolved module or unlinked crate `uuid`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `uuid`, use `cargo add uuid` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  1 + use sqlx::types::Uuid;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Uuid`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 30 -         let node_id = format!("dp-{}", uuid::Uuid::new_v4());
[INFO] [stdout] 30 +         let node_id = format!("dp-{}", Uuid::new_v4());
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/modes/file.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, warn, error, debug};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time`
[INFO] [stdout]  --> src/modes/control_plane.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::time;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `config_update`
[INFO] [stdout]   --> src/grpc/mod.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |             update: Some(config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout]    |                          ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `config_update`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `config_update`, use `cargo add config_update` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout]  5 + use crate::grpc::ferrumgw::config::config_update::Update;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `Update`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 99 -             update: Some(config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout] 99 +             update: Some(Update::FullSnapshot(snapshot)),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stream`
[INFO] [stdout]    --> src/modes/control_plane.rs:304:24
[INFO] [stdout]     |
[INFO] [stdout] 304 |     use tokio_stream::{Stream, wrappers::ReceiverStream};
[INFO] [stdout]     |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `config_update` in `proto`
[INFO] [stdout]    --> src/grpc/mod.rs:141:37
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 update: Some(proto::config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ could not find `config_update` in `proto`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout]   5 + use crate::grpc::ferrumgw::config::config_update::Update;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Update`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 141 -                 update: Some(proto::config_update::Update::FullSnapshot(snapshot)),
[INFO] [stdout] 141 +                 update: Some(Update::FullSnapshot(snapshot)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Consumer`, `PluginConfig`, and `Proxy`
[INFO] [stdout]    --> src/modes/control_plane.rs:311:52
[INFO] [stdout]     |
[INFO] [stdout] 311 |     use crate::config::data_model::{Configuration, Proxy, Consumer, PluginConfig};
[INFO] [stdout]     |                                                    ^^^^^  ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `config_service_client` in `proto`
[INFO] [stdout]    --> src/grpc/mod.rs:196:20
[INFO] [stdout]     |
[INFO] [stdout] 196 |     client: proto::config_service_client::ConfigServiceClient<tonic::transport::Channel>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^ could not find `config_service_client` in `proto`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this module
[INFO] [stdout]     |
[INFO] [stdout]   5 + use crate::grpc::ferrumgw::config::config_service_client;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `config_service_client`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 196 -     client: proto::config_service_client::ConfigServiceClient<tonic::transport::Channel>,
[INFO] [stdout] 196 +     client: config_service_client::ConfigServiceClient<tonic::transport::Channel>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/modes/data_plane.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/modes/data_plane.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{info, warn, error, debug};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConfigSnapshot as ProtoConfigSnapshot`
[INFO] [stdout]   --> src/grpc/conversions.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ConfigSnapshot as ProtoConfigSnapshot,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RwLock` and `mpsc`
[INFO] [stdout]  --> src/grpc/mod.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::sync::{mpsc, RwLock};
[INFO] [stdout]   |                   ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Stream` and `wrappers::ReceiverStream`
[INFO] [stdout]  --> src/grpc/mod.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio_stream::{wrappers::ReceiverStream, Stream, StreamExt};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `atomic::AtomicU64`
[INFO] [stdout]  --> src/grpc/mod.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Arc, Mutex, atomic::AtomicU64};
[INFO] [stdout]   |                      ^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/grpc/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/grpc/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]   --> src/grpc/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::pin::Pin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/grpc/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use chrono::{Utc, DateTime};
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/grpc/mod.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/grpc/mod.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]  --> src/grpc/config_client.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{info, warn, error, debug};
[INFO] [stdout]   |               ^^^^  ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `register_counter_vec`, `register_histogram_vec`, `register_int_counter`, and `register_int_gauge`
[INFO] [stdout]  --> src/metrics/mod.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use prometheus::{register_counter_vec, register_histogram_vec, register_int_counter, register_int_gauge};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CounterVec`, `Counter`, `HistogramVec`, `Histogram`, `IntCounter`, and `IntGauge`
[INFO] [stdout]  --> src/metrics/mod.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use prometheus::{Counter, CounterVec, Histogram, HistogramVec, IntCounter, IntGauge};
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warn`
[INFO] [stdout]  --> src/utils.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{info, warn, error};
[INFO] [stdout]   |               ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `config_service_client` in `proto`
[INFO] [stdout]    --> src/grpc/mod.rs:205:29
[INFO] [stdout]     |
[INFO] [stdout] 205 |         let client = proto::config_service_client::ConfigServiceClient::connect(grpc_url.to_string())
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^ could not find `config_service_client` in `proto`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct through its public re-export
[INFO] [stdout]     |
[INFO] [stdout]   5 + use crate::grpc::proto::ConfigServiceClient;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `ConfigServiceClient`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 205 -         let client = proto::config_service_client::ConfigServiceClient::connect(grpc_url.to_string())
[INFO] [stdout] 205 +         let client = ConfigServiceClient::connect(grpc_url.to_string())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUESTS_TOTAL` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         PROXY_REQUESTS_TOTAL.inc();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUESTS_ACTIVE` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         PROXY_REQUESTS_ACTIVE.inc();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUESTS_ACTIVE` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         PROXY_REQUESTS_ACTIVE.dec();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_STATUS_CODES` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         PROXY_STATUS_CODES.with_label_values(&[&status_code_str]).inc();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUESTS_BY_PROXY` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |             PROXY_REQUESTS_BY_PROXY.with_label_values(&[proxy_id, proxy_name]).inc();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUEST_DURATION` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |             PROXY_REQUEST_DURATION.with_label_values(&[proxy_id]).observe(duration_seconds);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_BACKEND_DURATION` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         PROXY_BACKEND_DURATION.with_label_values(&[proxy_id]).observe(duration_seconds);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `AUTH_SUCCESSES` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |             AUTH_SUCCESSES.with_label_values(&[plugin_name]).inc();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `AUTH_FAILURES` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |             AUTH_FAILURES.with_label_values(&[plugin_name]).inc();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PLUGIN_EXEC_DURATION` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         PLUGIN_EXEC_DURATION.with_label_values(&[plugin_name, hook_name]).observe(duration_seconds);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PROXY_REQUESTS_TOTAL` in this scope
[INFO] [stdout]    --> src/metrics/mod.rs:158:29
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let current_total = PROXY_REQUESTS_TOTAL.get();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/mod.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/stdout_logging/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/http_logging/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/transaction_debugger/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/oauth2_auth/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::proxy::handler::{RequestContext, Consumer};
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/jwt_auth/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::{RequestContext, Consumer};
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/key_auth/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::{RequestContext, Consumer};
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/basic_auth/mod.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::proxy::handler::{RequestContext, Consumer};
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/access_control/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/request_transformer/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/response_transformer/mod.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/plugins/rate_limiting/mod.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::proxy::handler::RequestContext;
[INFO] [stdout]    |                   ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `tls` is private
[INFO] [stdout]   --> src/admin/mod.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::proxy::tls;
[INFO] [stdout]    |                   ^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `tls` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | mod tls;
[INFO] [stdout]    | ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `update_manager` is private
[INFO] [stdout]   --> src/admin/mod.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::proxy::update_manager::RouterUpdate;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^  ------------ enum `RouterUpdate` is not publicly re-exported
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `update_manager` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | mod update_manager;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `update_manager` is private
[INFO] [stdout]   --> src/admin/routes/proxies.rs:9:19
[INFO] [stdout]    |
[INFO] [stdout]  9 | use crate::proxy::update_manager::RouterUpdate;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^  ------------ enum `RouterUpdate` is not publicly re-exported
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `update_manager` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | mod update_manager;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `handler` is private
[INFO] [stdout]   --> src/lib.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use proxy::handler::ProxyHandler;
[INFO] [stdout]    |                ^^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `handler` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | mod handler;
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: module `router` is private
[INFO] [stdout]   --> src/lib.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use proxy::router::Router;
[INFO] [stdout]    |                ^^^^^^ private module
[INFO] [stdout]    |
[INFO] [stdout] note: the module `router` is defined here
[INFO] [stdout]   --> src/proxy/mod.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | mod router;
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: function `validate_listen_path_uniqueness` is private
[INFO] [stdout]    --> src/modes/control_plane.rs:227:69
[INFO] [stdout]     |
[INFO] [stdout] 227 | ...                   if let Err(e) = crate::modes::database::validate_listen_path_uniqueness(&new_config) {
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ private function
[INFO] [stdout]     |
[INFO] [stdout] note: the function `validate_listen_path_uniqueness` is defined here
[INFO] [stdout]    --> src/modes/database.rs:300:1
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn validate_listen_path_uniqueness(config: &Configuration) -> Result<()> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/database/mod.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, error};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DatabaseType`
[INFO] [stdout]   --> src/database/mod.rs:10:48
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::config::data_model::{Configuration, DatabaseType, Proxy, Consumer, PluginConfig, ConfigurationDelta};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]  --> src/database/postgres.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | use sqlx::{Pool, Postgres, Transaction};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/database/postgres.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tracing::{info, error, debug};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/database/mysql.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/database/mysql.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/database/sqlite.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/database/sqlite.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/database/sqlite.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/proxy/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `make_service_fn`
[INFO] [stdout]   --> src/proxy/mod.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 | use hyper::service::{service_fn, make_service_fn};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `h3::quic::SendStream`
[INFO] [stdout]   --> src/proxy/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use h3::quic::SendStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryStreamExt`
[INFO] [stdout]   --> src/proxy/mod.rs:17:26
[INFO] [stdout]    |
[INFO] [stdout] 17 | use futures::{StreamExt, TryStreamExt};
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytes::Bytes`
[INFO] [stdout]   --> src/proxy/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use bytes::Bytes;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncWriteExt`
[INFO] [stdout]   --> src/proxy/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use tokio::io::AsyncWriteExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]   --> src/proxy/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::pin::Pin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context as TaskContext` and `Poll`
[INFO] [stdout]   --> src/proxy/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::task::{Context as TaskContext, Poll};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BackendProtocol` and `Proxy`
[INFO] [stdout]   --> src/proxy/mod.rs:24:48
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::config::data_model::{Configuration, Proxy, BackendProtocol};
[INFO] [stdout]    |                                                ^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Match`
[INFO] [stdout]  --> src/proxy/router.rs:5:40
[INFO] [stdout]   |
[INFO] [stdout] 5 | use matchit::{Router as MatchitRouter, Match};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `trace` and `warn`
[INFO] [stdout]  --> src/proxy/handler.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{info, warn, error, debug, trace};
[INFO] [stdout]   |                     ^^^^                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `header`
[INFO] [stdout]  --> src/proxy/handler.rs:7:55
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hyper::{Body, Request, Response, StatusCode, Uri, header};
[INFO] [stdout]   |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/proxy/tls.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/proxy/tls.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Client`
[INFO] [stdout]  --> src/proxy/websocket.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hyper::{Body, Client, Request, Response, StatusCode};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hyper_tls::HttpsConnector`
[INFO] [stdout]  --> src/proxy/websocket.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use hyper_tls::HttpsConnector;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]  --> src/proxy/websocket.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MaybeTlsStream`
[INFO] [stdout]  --> src/proxy/websocket.rs:8:59
[INFO] [stdout]   |
[INFO] [stdout] 8 |     connect_async, tungstenite::Message, WebSocketStream, MaybeTlsStream
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/proxy/websocket.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> src/proxy/websocket.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RwLock` and `mpsc`
[INFO] [stdout]  --> src/proxy/update_manager.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | use tokio::sync::{RwLock, mpsc, broadcast};
[INFO] [stdout]   |                   ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/proxy/update_manager.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, warn, error, info};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/mod.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, error, warn};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]  --> src/plugins/transaction_debugger/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use chrono::Utc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::StreamExt`
[INFO] [stdout]  --> src/plugins/transaction_debugger/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Response`
[INFO] [stdout]  --> src/plugins/oauth2_auth/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header, StatusCode, client::HttpConnector};
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/oauth2_auth/mod.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UNIX_EPOCH`
[INFO] [stdout]  --> src/plugins/oauth2_auth/mod.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Response` and `StatusCode`
[INFO] [stdout]  --> src/plugins/jwt_auth/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header, StatusCode};
[INFO] [stdout]   |                            ^^^^^^^^          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/jwt_auth/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenData`
[INFO] [stdout]  --> src/plugins/jwt_auth/mod.rs:6:64
[INFO] [stdout]   |
[INFO] [stdout] 6 | use jsonwebtoken::{decode, DecodingKey, Validation, Algorithm, TokenData};
[INFO] [stdout]   |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Response`, `StatusCode`, and `header`
[INFO] [stdout]  --> src/plugins/key_auth/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header, StatusCode};
[INFO] [stdout]   |                            ^^^^^^^^  ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/key_auth/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bcrypt::verify`
[INFO] [stdout]  --> src/plugins/key_auth/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use bcrypt::verify;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `argon2`
[INFO] [stdout]    --> src/plugins/key_auth/mod.rs:213:11
[INFO] [stdout]     |
[INFO] [stdout] 213 |     #[cfg(feature = "argon2")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `argon2` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `argon2`
[INFO] [stdout]    --> src/plugins/key_auth/mod.rs:227:15
[INFO] [stdout]     |
[INFO] [stdout] 227 |     #[cfg(not(feature = "argon2"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `argon2` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Response` and `StatusCode`
[INFO] [stdout]  --> src/plugins/basic_auth/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header, StatusCode};
[INFO] [stdout]   |                            ^^^^^^^^          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/basic_auth/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bcrypt::verify`
[INFO] [stdout]  --> src/plugins/basic_auth/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use bcrypt::verify;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bcrypt`
[INFO] [stdout]    --> src/plugins/basic_auth/mod.rs:186:11
[INFO] [stdout]     |
[INFO] [stdout] 186 |     #[cfg(feature = "bcrypt")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `bcrypt` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `argon2`
[INFO] [stdout]    --> src/plugins/basic_auth/mod.rs:191:15
[INFO] [stdout]     |
[INFO] [stdout] 191 |     #[cfg(all(feature = "argon2", not(feature = "bcrypt")))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `argon2` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bcrypt`
[INFO] [stdout]    --> src/plugins/basic_auth/mod.rs:191:39
[INFO] [stdout]     |
[INFO] [stdout] 191 |     #[cfg(all(feature = "argon2", not(feature = "bcrypt")))]
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `bcrypt` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `bcrypt`
[INFO] [stdout]    --> src/plugins/basic_auth/mod.rs:205:19
[INFO] [stdout]     |
[INFO] [stdout] 205 |     #[cfg(not(any(feature = "bcrypt", feature = "argon2")))]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `bcrypt` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `argon2`
[INFO] [stdout]    --> src/plugins/basic_auth/mod.rs:205:39
[INFO] [stdout]     |
[INFO] [stdout] 205 |     #[cfg(not(any(feature = "bcrypt", feature = "argon2")))]
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `default`, `mysql`, `offline`, `postgres`, `simplified_build`, `sqlite`, and `test_mode`
[INFO] [stdout]     = help: consider adding `argon2` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Response` and `StatusCode`
[INFO] [stdout]  --> src/plugins/access_control/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, StatusCode};
[INFO] [stdout]   |                            ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/plugins/access_control/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Response`
[INFO] [stdout]  --> src/plugins/request_transformer/mod.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header, Uri};
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/request_transformer/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Request`
[INFO] [stdout]  --> src/plugins/response_transformer/mod.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hyper::{Body, Request, Response, header};
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/plugins/response_transformer/mod.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, warn, info};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::Mutex`
[INFO] [stdout]  --> src/plugins/rate_limiting/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/admin/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]   --> src/admin/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chrono::Utc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokenData`
[INFO] [stdout]   --> src/admin/mod.rs:12:64
[INFO] [stdout]    |
[INFO] [stdout] 12 | use jsonwebtoken::{decode, DecodingKey, Validation, Algorithm, TokenData};
[INFO] [stdout]    |                                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Consumer`, `PluginConfig`, and `Proxy`
[INFO] [stdout]   --> src/admin/mod.rs:16:48
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::config::data_model::{Configuration, Proxy, Consumer, PluginConfig};
[INFO] [stdout]    |                                                ^^^^^  ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/admin/routes/proxies.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, error, info};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/admin/routes/consumers.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, error, info};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `info`
[INFO] [stdout]  --> src/admin/routes/plugins.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, error, info};
[INFO] [stdout]   |               ^^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::modes::OperationMode`
[INFO] [stdout]  --> src/admin/metrics.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::modes::OperationMode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/admin/pagination.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/modes/file.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, warn, error, debug};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time`
[INFO] [stdout]  --> src/modes/control_plane.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::time;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stream`
[INFO] [stdout]    --> src/modes/control_plane.rs:304:24
[INFO] [stdout]     |
[INFO] [stdout] 304 |     use tokio_stream::{Stream, wrappers::ReceiverStream};
[INFO] [stdout]     |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Consumer`, `PluginConfig`, and `Proxy`
[INFO] [stdout]    --> src/modes/control_plane.rs:311:52
[INFO] [stdout]     |
[INFO] [stdout] 311 |     use crate::config::data_model::{Configuration, Proxy, Consumer, PluginConfig};
[INFO] [stdout]     |                                                    ^^^^^  ^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/modes/data_plane.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/modes/data_plane.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{info, warn, error, debug};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConfigSnapshot as ProtoConfigSnapshot`
[INFO] [stdout]   --> src/grpc/conversions.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ConfigSnapshot as ProtoConfigSnapshot,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RwLock` and `mpsc`
[INFO] [stdout]  --> src/grpc/mod.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::sync::{mpsc, RwLock};
[INFO] [stdout]   |                   ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Stream` and `wrappers::ReceiverStream`
[INFO] [stdout]  --> src/grpc/mod.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio_stream::{wrappers::ReceiverStream, Stream, StreamExt};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `atomic::AtomicU64`
[INFO] [stdout]  --> src/grpc/mod.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::{Arc, Mutex, atomic::AtomicU64};
[INFO] [stdout]   |                      ^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/grpc/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/grpc/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]   --> src/grpc/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::pin::Pin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]   --> src/grpc/mod.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use chrono::{Utc, DateTime};
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> src/grpc/mod.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | use serde::{Serialize, Deserialize};
[INFO] [stdout]    |             ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/grpc/mod.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]  --> src/grpc/config_client.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{info, warn, error, debug};
[INFO] [stdout]   |               ^^^^  ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `register_counter_vec`, `register_histogram_vec`, `register_int_counter`, and `register_int_gauge`
[INFO] [stdout]  --> src/metrics/mod.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use prometheus::{register_counter_vec, register_histogram_vec, register_int_counter, register_int_gauge};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CounterVec`, `Counter`, `HistogramVec`, `Histogram`, `IntCounter`, and `IntGauge`
[INFO] [stdout]  --> src/metrics/mod.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use prometheus::{Counter, CounterVec, Histogram, HistogramVec, IntCounter, IntGauge};
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warn`
[INFO] [stdout]  --> src/utils.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{info, warn, error};
[INFO] [stdout]   |               ^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 2 generic arguments but 1 generic argument was supplied
[INFO] [stdout]    --> src/proxy/mod.rs:442:22
[INFO] [stdout]     |
[INFO] [stdout] 442 |         mut h3_conn: H3Connection<T>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^ - supplied 1 generic argument
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      expected 2 generic arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 2 generic parameters: `C`, `B`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/h3-0.0.7/src/server/connection.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | pub struct Connection<C, B>
[INFO] [stdout]     |            ^^^^^^^^^^ -  -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]     |
[INFO] [stdout] 442 |         mut h3_conn: H3Connection<T, B>,
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/modes/control_plane.rs:492:30
[INFO] [stdout]     |
[INFO] [stdout] 492 |         ) -> Result<Response<Self::SubscribeConfigUpdatesStream>, Status> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if there were a trait named `Example` with associated type `SubscribeConfigUpdatesStream` implemented for `control_plane::grpc::ConfigServiceImpl`, you could use the fully-qualified path
[INFO] [stdout]     |
[INFO] [stdout] 492 -         ) -> Result<Response<Self::SubscribeConfigUpdatesStream>, Status> {
[INFO] [stdout] 492 +         ) -> Result<Response<<control_plane::grpc::ConfigServiceImpl as Example>::SubscribeConfigUpdatesStream>, Status> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: struct takes 2 generic arguments but 1 generic argument was supplied
[INFO] [stdout]    --> src/proxy/mod.rs:442:22
[INFO] [stdout]     |
[INFO] [stdout] 442 |         mut h3_conn: H3Connection<T>,
[INFO] [stdout]     |                      ^^^^^^^^^^^^ - supplied 1 generic argument
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      expected 2 generic arguments
[INFO] [stdout]     |
[INFO] [stdout] note: struct defined here, with 2 generic parameters: `C`, `B`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/h3-0.0.7/src/server/connection.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | pub struct Connection<C, B>
[INFO] [stdout]     |            ^^^^^^^^^^ -  -
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]     |
[INFO] [stdout] 442 |         mut h3_conn: H3Connection<T, B>,
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0223]: ambiguous associated type
[INFO] [stdout]    --> src/modes/control_plane.rs:492:30
[INFO] [stdout]     |
[INFO] [stdout] 492 |         ) -> Result<Response<Self::SubscribeConfigUpdatesStream>, Status> {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if there were a trait named `Example` with associated type `SubscribeConfigUpdatesStream` implemented for `control_plane::grpc::ConfigServiceImpl`, you could use the fully-qualified path
[INFO] [stdout]     |
[INFO] [stdout] 492 -         ) -> Result<Response<Self::SubscribeConfigUpdatesStream>, Status> {
[INFO] [stdout] 492 +         ) -> Result<Response<<control_plane::grpc::ConfigServiceImpl as Example>::SubscribeConfigUpdatesStream>, Status> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0223, E0255, E0405, E0425, E0432, E0433, E0603.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ferrumgw` (lib) due to 274 previous errors; 90 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0107, E0223, E0255, E0405, E0425, E0432, E0433, E0603.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ferrumgw` (lib test) due to 274 previous errors; 90 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ad7ded706bd4be9b299e9d574b4436daaa743ede0e2463b49732bd30f25adfce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad7ded706bd4be9b299e9d574b4436daaa743ede0e2463b49732bd30f25adfce", kill_on_drop: false }`
[INFO] [stdout] ad7ded706bd4be9b299e9d574b4436daaa743ede0e2463b49732bd30f25adfce
