cargo fmt
This commit is contained in:
parent
8bc9126264
commit
c8854fcbd4
1 changed files with 20 additions and 11 deletions
31
src/main.rs
31
src/main.rs
|
@ -3,8 +3,8 @@ use eyre::{eyre, OptionExt, WrapErr};
|
|||
use serde::{Deserialize, Serialize};
|
||||
use std::collections::HashMap;
|
||||
use std::convert::TryFrom;
|
||||
use std::{fmt,env};
|
||||
use std::time::{Duration, SystemTime};
|
||||
use std::{env, fmt};
|
||||
|
||||
const RESTIC_ALARM_BUCKET: &str = "restic-alarm-state";
|
||||
const RESTIC_ALARM_STATE_FILE: &str = "state.toml";
|
||||
|
@ -18,23 +18,27 @@ struct SmtpConfig {
|
|||
|
||||
impl SmtpConfig {
|
||||
fn mailer(&self) -> Result<lettre::SmtpTransport, lettre::transport::smtp::Error> {
|
||||
use lettre::SmtpTransport;
|
||||
use lettre::transport::smtp::authentication::Credentials;
|
||||
use lettre::SmtpTransport;
|
||||
Ok(SmtpTransport::relay(&self.address)?
|
||||
.credentials(Credentials::new(
|
||||
self.username.to_owned(),
|
||||
self.password.to_owned(),
|
||||
))
|
||||
.build())
|
||||
.credentials(Credentials::new(
|
||||
self.username.to_owned(),
|
||||
self.password.to_owned(),
|
||||
))
|
||||
.build())
|
||||
}
|
||||
|
||||
async fn from_env() -> eyre::Result<SmtpConfig> {
|
||||
let address = env::var("SMTP_ADDRESS")?;
|
||||
let username = env::var("SMTP_USERNAME")?;
|
||||
let password = env::var("SMTP_PASSWORD")?;
|
||||
let smtp = SmtpConfig { address, username, password };
|
||||
if ! smtp.mailer()?.test_connection()? {
|
||||
return Err(eyre!("Unable to contact the SMTP relay"))
|
||||
let smtp = SmtpConfig {
|
||||
address,
|
||||
username,
|
||||
password,
|
||||
};
|
||||
if !smtp.mailer()?.test_connection()? {
|
||||
return Err(eyre!("Unable to contact the SMTP relay"));
|
||||
}
|
||||
Ok(smtp)
|
||||
}
|
||||
|
@ -277,7 +281,12 @@ struct RepoInfo {
|
|||
// (e.g. if it fails to parse).
|
||||
// So the error must not be propagated to the toplevel, which would abort the
|
||||
// alert for remaining repositories; it should instead just be reported/logged.
|
||||
async fn check_repo(smtp: &SmtpConfig, client: &s3::Client, state: &mut State, repo: &str) -> eyre::Result<RepoInfo> {
|
||||
async fn check_repo(
|
||||
smtp: &SmtpConfig,
|
||||
client: &s3::Client,
|
||||
state: &mut State,
|
||||
repo: &str,
|
||||
) -> eyre::Result<RepoInfo> {
|
||||
let config = read_repo_config(client, repo).await?;
|
||||
let alert_status = if let Some(inactivity) = repo_last_snapshot(client, repo).await? {
|
||||
let last_alert = state.last_alert(repo);
|
||||
|
|
Loading…
Reference in a new issue