feat: implement comprehensive environment variable credential support

- Add environment variable overrides for sensitive credentials in both Go and Rust implementations
- Support MAIL2COUCH_COUCHDB_USER and MAIL2COUCH_COUCHDB_PASSWORD for CouchDB credentials
- Support MAIL2COUCH_IMAP_<NAME>_USER and MAIL2COUCH_IMAP_<NAME>_PASSWORD for IMAP credentials
- Implement automatic name normalization for mail source names to environment variable format
- Add runtime display of active environment variable overrides
- Enhance --help output in both implementations with comprehensive environment variable documentation
- Add detailed environment variable section to README with usage examples and security benefits
- Create comprehensive ENVIRONMENT_VARIABLES.md reference guide with SystemD, Docker, and CI/CD examples
- Update all documentation indices and cross-references
- Include security best practices and troubleshooting guidance
- Maintain full backward compatibility with existing configuration files

This enhancement addresses the high-priority security requirement to eliminate plaintext
passwords from configuration files while providing production-ready credential management
for both development and deployment scenarios.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2025-08-07 15:09:34 +02:00
commit 8764b44a05
9 changed files with 532 additions and 13 deletions

View file

@ -34,11 +34,14 @@ This document outlines the development roadmap for mail2couch, with both Go and
## 🚧 Current Development Priorities
### High Priority
### Recently Completed ✅
1. **🔐 Enhanced Security Model**
- Environment variable credential support (`MAIL2COUCH_IMAP_PASSWORD`, etc.)
- Eliminate plaintext passwords from configuration files
- System keyring integration for credential storage
- ✅ Environment variable credential support (`MAIL2COUCH_IMAP_PASSWORD`, etc.)
- ✅ Eliminate plaintext passwords from configuration files
- ✅ Comprehensive documentation and help integration
- ❌ System keyring integration for credential storage (future enhancement)
### High Priority
### Medium Priority
2. **🚀 Go Implementation Concurrency**