Crate dotenvage

Crate dotenvage 

Source
Expand description

§dotenvage

A library and CLI tool for managing encrypted secrets in .env files using age encryption.

§Quick Start

use dotenvage::{SecretManager, EnvLoader};

// Load environment files with automatic decryption
EnvLoader::new()?.load()?;

// Or manage secrets manually
let manager = SecretManager::generate()?;
let encrypted = manager.encrypt_value("my-secret")?;
let decrypted = manager.decrypt_value(&encrypted)?;

§Features

  • Selective Encryption: Only encrypt sensitive values (tokens, passwords, API keys)
  • Modern Cryptography: Uses age (X25519) for encryption
  • CI/CD Friendly: Supports key loading via environment variables
  • Smart Detection: Auto-detects sensitive keys based on naming patterns
  • Multiple Environments: Support for .env, .env.local, .env.production, etc.

Re-exports§

pub use crate::error::SecretsError;
pub use crate::error::SecretsResult;
pub use crate::loader::AutoDetectPatterns;
pub use crate::loader::EnvLoader;
pub use crate::manager::SecretManager;

Modules§

error
Error types for dotenvage operations.
loader
Environment loader with automatic secret decryption.
manager
Secret manager implementation for encryption and decryption using age.
patterns
Pattern-based detection for sensitive environment variables.