consul_client/
config.rs

1use camino::Utf8PathBuf;
2use serde::{Deserialize, Serialize};
3
4/// HashiCorp Consul client configuration
5#[derive(Debug, Clone, Deserialize, Serialize)]
6pub struct Config {
7    /// Vault address
8    #[serde(default = "default_consul_address")]
9    pub address: String,
10
11    /// True if TLS is used to speak to vault
12    #[serde(default)]
13    pub tls: Option<TlsConfig>,
14}
15
16fn default_consul_address() -> String {
17    "127.0.0.1:8501".into()
18}
19
20/// HashiCorp Consul client's TLS configuration
21#[derive(Debug, Clone, Deserialize, Serialize)]
22pub struct TlsConfig {
23    /// CA (Certificate Authority) file
24    pub ca_file: Utf8PathBuf,
25    /// Certificate file
26    pub cert_file: Utf8PathBuf,
27    /// Private key file
28    pub key_file: Utf8PathBuf,
29}