Skip to main content

cli_shared/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2//! Shared Heddle CLI configuration and credential-file contracts.
3//!
4//! This crate contains transport configuration inputs and the durable global
5//! credential-store schema used by both the Heddle CLI and operator tooling.
6//! Transport implementations and application policy remain in their callers.
7
8pub mod client_config;
9pub mod config;
10pub mod credentials;
11pub mod logging;
12pub mod output;
13pub mod remote;
14pub mod tls_trust;
15
16pub use client_config::{
17    ClientConfig, cleartext_connect_allowed, cleartext_refused_message, is_loopback_ip,
18};
19pub use config::{
20    ResolvedPrincipal, UserConfig, principal_source_display, resolve_principal,
21    resolve_principal_without_repo,
22};
23pub use logging::{
24    LogFormat, LoggingConfig, LoggingGuard, init_logging, init_logging_default, is_enabled,
25};
26pub use output::OutputMode;
27pub use remote::{
28    Remote, RemoteConfig, RemoteTarget, remote_allows_insecure, resolve_remote_with_key,
29    resolve_remote_with_key_and_insecure,
30};
31pub use tls_trust::{
32    REMOTE_TLS_CA_CERT_SETTING, annotate_error_chain_tls_trust_failure, annotate_tls_trust_failure,
33    is_tls_trust_failure,
34};