Skip to main content

cli_shared/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2//! CLI-side utilities shared between the OSS `cli` crate and the
3//! closed `heddle-client` crate.
4//!
5//! These items would create a circular dependency if they stayed in
6//! `cli` (which depends on `heddle-client` when the `heddle-client`
7//! feature is on, and `heddle-client` needs `UserConfig` /
8//! `RemoteTarget` / `ClientConfig`). Pulling them out lets both sides
9//! resolve cleanly.
10
11pub mod client_config;
12pub mod config;
13pub mod logging;
14pub mod output;
15pub mod remote;
16
17pub use client_config::{
18    ClientConfig, cleartext_connect_allowed, cleartext_refused_message, is_loopback_ip,
19};
20pub use config::UserConfig;
21pub use logging::{
22    LogFormat, LoggingConfig, LoggingGuard, init_logging, init_logging_default, is_enabled,
23};
24pub use output::OutputMode;
25pub use remote::{
26    Remote, RemoteConfig, RemoteTarget, remote_allows_insecure, resolve_remote_with_key,
27    resolve_remote_with_key_and_insecure,
28};