37 lines
1.0 KiB
Rust
37 lines
1.0 KiB
Rust
use miette::Diagnostic;
|
|
use thiserror::Error;
|
|
|
|
/// Error type for forge lifecycle, API, git, and secret-resolution failures.
|
|
#[derive(Debug, Diagnostic, Error)]
|
|
pub enum NotforgeError {
|
|
/// Configuration could not be loaded or parsed.
|
|
#[error("configuration error: {0}")]
|
|
#[diagnostic(code(notforge::config))]
|
|
Config(String),
|
|
|
|
/// A required secret could not be resolved.
|
|
#[error("secret resolution error: {0}")]
|
|
#[diagnostic(code(notforge::secret))]
|
|
Secret(String),
|
|
|
|
/// Forge API communication failed.
|
|
#[error("HTTP error: {0}")]
|
|
#[diagnostic(code(notforge::http))]
|
|
Http(String),
|
|
|
|
/// A lifecycle command failed.
|
|
#[error("command error: {0}")]
|
|
#[diagnostic(code(notforge::command))]
|
|
Command(String),
|
|
|
|
/// A git operation failed.
|
|
#[error("git error: {0}")]
|
|
#[diagnostic(code(notforge::git))]
|
|
Git(String),
|
|
|
|
/// Repository lookup or provisioning failed.
|
|
#[error("repository error: {0}")]
|
|
#[diagnostic(code(notforge::repository))]
|
|
Repository(String),
|
|
}
|