konector 0.1.3

Sync GitHub SSH keys with your servers.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use std::time::Duration;

use crate::{config::Config, github, ssh, utils::types::KonectorResult};

pub async fn run() -> KonectorResult {
    loop {
        let config = Config::load().await?;
        let wait_minutes = std::cmp::min(config.interval, 1);

        let data = github::fetch_users(config.usernames).await?;
        let keys: Vec<String> = data.into_iter().map(|data| data.key).collect();

        ssh::save_keys(&keys).await?;
        tokio::time::sleep(Duration::from_secs(wait_minutes * 60)).await;
    }
}