diff --git a/Cargo.lock b/Cargo.lock index d12a19badc..6153a148c3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2331,6 +2331,7 @@ dependencies = [ "reqwest", "runtime", "rusqlite", + "rustls 0.23.10", "rustyline", "serde", "serde-transcode", diff --git a/crates/flowctl/Cargo.toml b/crates/flowctl/Cargo.toml index 1976536e63..2049799e49 100644 --- a/crates/flowctl/Cargo.toml +++ b/crates/flowctl/Cargo.toml @@ -53,6 +53,7 @@ postgrest = { workspace = true } prost = { workspace = true } reqwest = { workspace = true } rusqlite = { workspace = true } +rustls = { workspace = true } rustyline = { workspace = true } serde = { workspace = true } serde-transcode = { workspace = true } diff --git a/crates/flowctl/src/main.rs b/crates/flowctl/src/main.rs index 1ca128198f..8996c8bdab 100644 --- a/crates/flowctl/src/main.rs +++ b/crates/flowctl/src/main.rs @@ -4,6 +4,12 @@ use tracing_subscriber::{filter::LevelFilter, EnvFilter}; fn main() -> Result<(), anyhow::Error> { let cli = flowctl::Cli::parse(); + // Required in order for libraries to use `rustls` for TLS. + // See: https://docs.rs/rustls/latest/rustls/crypto/struct.CryptoProvider.html + rustls::crypto::aws_lc_rs::default_provider() + .install_default() + .expect("failed to install default crypto provider"); + let env_filter = EnvFilter::builder() .with_default_directive(LevelFilter::WARN.into()) // Otherwise it's ERROR. .from_env_lossy();