docs: Enhance MONOREPO_CONVERSION_PLAN.md with improved details
- Specify production-ready implementation details for sal-git package. - Add a detailed code review and quality assurance process section. - Include comprehensive success metrics and validation checklists for production readiness. - Improve security considerations and risk mitigation strategies. - Add stricter code review criteria based on sal-git's conversion. - Update README with security configurations and environment variables.
This commit is contained in:
@@ -81,6 +81,36 @@ The `herodo` CLI tool likely leverages `GitExecutor` to provide its scriptable G
|
||||
|
||||
Both `git.rs` and `git_executor.rs` define their own specific error enums (`GitError` and `GitExecutorError` respectively) to provide detailed information about issues encountered during Git operations. These errors cover a wide range of scenarios from command execution failures to authentication problems and invalid configurations.
|
||||
|
||||
## Configuration
|
||||
|
||||
The git module supports configuration through environment variables:
|
||||
|
||||
### Environment Variables
|
||||
|
||||
- **`REDIS_URL`**: Redis connection URL (default: `redis://127.0.0.1/`)
|
||||
- **`SAL_REDIS_URL`**: Alternative Redis URL (fallback if REDIS_URL not set)
|
||||
- **`GIT_DEFAULT_BASE_PATH`**: Default base path for git operations (default: system temp directory)
|
||||
|
||||
### Example Configuration
|
||||
|
||||
```bash
|
||||
# Set Redis connection
|
||||
export REDIS_URL="redis://localhost:6379/0"
|
||||
|
||||
# Set default git base path
|
||||
export GIT_DEFAULT_BASE_PATH="/tmp/git_repos"
|
||||
|
||||
# Run your application
|
||||
herodo your_script.rhai
|
||||
```
|
||||
|
||||
### Security Considerations
|
||||
|
||||
- Passwords are never embedded in URLs or logged
|
||||
- Temporary credential helpers are used for HTTPS authentication
|
||||
- Redis URLs with passwords are masked in logs
|
||||
- All temporary files are cleaned up after use
|
||||
|
||||
## Summary
|
||||
|
||||
The `git` module offers a powerful and flexible interface to Git, catering to both simple, high-level repository interactions and complex, authenticated command execution scenarios. Its integration with Redis for authentication configuration makes it particularly well-suited for automated systems and tools like `herodo`.
|
||||
|
Reference in New Issue
Block a user