feat: wip - configuration design

This commit is contained in:
Jun Kurihara 2024-07-12 23:50:37 +09:00
commit 887e6b64b0
No known key found for this signature in database
GPG key ID: 48ADFD173ED22B03
13 changed files with 173 additions and 11 deletions

View file

@ -0,0 +1,14 @@
/// ACME directory url
pub const ACME_DIR_URL: &str = "https://acme-v02.api.letsencrypt.org/directory";
/// ACME registry path that stores account key and certificate
pub const ACME_REGISTRY_PATH: &str = "./acme_registry";
/// ACME accounts directory, subdirectory of ACME_REGISTRY_PATH
pub(crate) const ACME_ACCOUNT_SUBDIR: &str = "account";
/// ACME private key file name
pub const ACME_PRIVATE_KEY_FILE_NAME: &str = "private_key.pem";
/// ACME certificate file name
pub const ACME_CERTIFICATE_FILE_NAME: &str = "certificate.pem";

15
rpxy-acme/src/error.rs Normal file
View file

@ -0,0 +1,15 @@
use thiserror::Error;
#[derive(Error, Debug)]
/// Error type for rpxy-acme
pub enum RpxyAcmeError {
/// Invalid acme registry path
#[error("Invalid acme registry path")]
InvalidAcmeRegistryPath,
/// Invalid url
#[error("Invalid url: {0}")]
InvalidUrl(#[from] url::ParseError),
/// IO error
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
}

12
rpxy-acme/src/lib.rs Normal file
View file

@ -0,0 +1,12 @@
mod constants;
mod error;
mod targets;
#[allow(unused_imports)]
mod log {
pub(super) use tracing::{debug, error, info, warn};
}
pub use constants::{ACME_CERTIFICATE_FILE_NAME, ACME_DIR_URL, ACME_PRIVATE_KEY_FILE_NAME, ACME_REGISTRY_PATH};
pub use error::RpxyAcmeError;
pub use targets::AcmeTargets;