mirror of
https://github.com/house-of-vanity/khm.git
synced 2025-08-21 22:27:14 +00:00
Fixed build workflow
This commit is contained in:
@@ -29,16 +29,11 @@ impl Default for KhmSettings {
|
||||
|
||||
/// Get default known_hosts file path based on OS
|
||||
fn get_default_known_hosts_path() -> String {
|
||||
#[cfg(target_os = "windows")]
|
||||
{
|
||||
if let Ok(user_profile) = std::env::var("USERPROFILE") {
|
||||
format!("{}/.ssh/known_hosts", user_profile)
|
||||
} else {
|
||||
"~/.ssh/known_hosts".to_string()
|
||||
}
|
||||
}
|
||||
#[cfg(not(target_os = "windows"))]
|
||||
{
|
||||
if let Some(home) = home_dir() {
|
||||
let ssh_dir = home.join(".ssh");
|
||||
let known_hosts_file = ssh_dir.join("known_hosts");
|
||||
known_hosts_file.to_string_lossy().to_string()
|
||||
} else {
|
||||
"~/.ssh/known_hosts".to_string()
|
||||
}
|
||||
}
|
||||
@@ -61,12 +56,12 @@ pub fn load_settings() -> KhmSettings {
|
||||
error!("Failed to parse KHM config: {}", e);
|
||||
KhmSettings::default()
|
||||
});
|
||||
|
||||
|
||||
// Fill in default known_hosts path if empty
|
||||
if settings.known_hosts.is_empty() {
|
||||
settings.known_hosts = get_default_known_hosts_path();
|
||||
}
|
||||
|
||||
|
||||
settings
|
||||
}
|
||||
Err(_) => {
|
||||
@@ -98,10 +93,12 @@ pub fn expand_path(path: &str) -> String {
|
||||
/// Perform sync operation using KHM client logic
|
||||
pub async fn perform_sync(settings: &KhmSettings) -> Result<usize, std::io::Error> {
|
||||
use crate::Args;
|
||||
|
||||
info!("Starting sync with settings: host={}, flow={}, known_hosts={}, in_place={}",
|
||||
settings.host, settings.flow, settings.known_hosts, settings.in_place);
|
||||
|
||||
|
||||
info!(
|
||||
"Starting sync with settings: host={}, flow={}, known_hosts={}, in_place={}",
|
||||
settings.host, settings.flow, settings.known_hosts, settings.in_place
|
||||
);
|
||||
|
||||
// Convert KhmSettings to Args for client module
|
||||
let args = Args {
|
||||
server: false,
|
||||
@@ -109,27 +106,27 @@ pub async fn perform_sync(settings: &KhmSettings) -> Result<usize, std::io::Erro
|
||||
settings_ui: false,
|
||||
in_place: settings.in_place,
|
||||
flows: vec!["default".to_string()], // Not used in client mode
|
||||
ip: "127.0.0.1".to_string(), // Not used in client mode
|
||||
port: 8080, // Not used in client mode
|
||||
db_host: "127.0.0.1".to_string(), // Not used in client mode
|
||||
db_name: "khm".to_string(), // Not used in client mode
|
||||
db_user: None, // Not used in client mode
|
||||
db_password: None, // Not used in client mode
|
||||
ip: "127.0.0.1".to_string(), // Not used in client mode
|
||||
port: 8080, // Not used in client mode
|
||||
db_host: "127.0.0.1".to_string(), // Not used in client mode
|
||||
db_name: "khm".to_string(), // Not used in client mode
|
||||
db_user: None, // Not used in client mode
|
||||
db_password: None, // Not used in client mode
|
||||
host: Some(settings.host.clone()),
|
||||
flow: Some(settings.flow.clone()),
|
||||
known_hosts: expand_path(&settings.known_hosts),
|
||||
basic_auth: settings.basic_auth.clone(),
|
||||
};
|
||||
|
||||
|
||||
info!("Expanded known_hosts path: {}", args.known_hosts);
|
||||
|
||||
|
||||
// Get keys count before and after sync
|
||||
let keys_before = crate::client::read_known_hosts(&args.known_hosts)
|
||||
.unwrap_or_else(|_| Vec::new())
|
||||
.len();
|
||||
|
||||
|
||||
crate::client::run_client(args.clone()).await?;
|
||||
|
||||
|
||||
let keys_after = if args.in_place {
|
||||
crate::client::read_known_hosts(&args.known_hosts)
|
||||
.unwrap_or_else(|_| Vec::new())
|
||||
@@ -137,7 +134,10 @@ pub async fn perform_sync(settings: &KhmSettings) -> Result<usize, std::io::Erro
|
||||
} else {
|
||||
keys_before
|
||||
};
|
||||
|
||||
info!("Sync completed: {} keys before, {} keys after", keys_before, keys_after);
|
||||
|
||||
info!(
|
||||
"Sync completed: {} keys before, {} keys after",
|
||||
keys_before, keys_after
|
||||
);
|
||||
Ok(keys_after)
|
||||
}
|
||||
|
Reference in New Issue
Block a user