Repository navigation
v1.0.0 - Prod Release
Release v1.0.0
Major Architecture Overhaul
This release is a complete rewrite based on code review feedback, implementing standard libraries and improving reliability.
Major Features
CLI Management
- Cobra CLI Framework: Command-line interface with help, subcommands, and flag management
- Viper Configuration: Configuration management with environment variable support and multiple config formats
- Help Documentation: Help text and usage examples
Proxy Implementation
- mwitkow/grpc-proxy Integration: Replaced custom proxy logic with established library
- Reliability: Eliminates custom stream handling bugs and edge cases
- Performance: Optimized request forwarding and resource management
gRPC Connection Management
- Keep Alive Parameters: Prevents connection drops with configurable keep-alive settings
- 10-second ping intervals
- 1-second timeout for ping responses
- Pings without active streams
- TLS Configuration: Session caching and minimum TLS version enforcement
- Connection Pooling: Reuses upstream connections for better performance
Operations
- Signal Handling: SIGINT/SIGTERM handling for graceful shutdown
- Resource Cleanup: Connection and listener management
- Logging: Startup/shutdown logging
Technical Improvements
- JWT Authentication: JWT token forwarding with test coverage
- Error Handling: Descriptive error messages and failure recovery
- Code Quality: Improved code structure and documentation
- Test Coverage: Unit, integration, and authentication tests
Usage
# Show help
./grpc-proxy --help
# Use default config (./config.yaml)
./grpc-proxy
# Use custom config file
./grpc-proxy --config /path/to/your/config.yaml
# Graceful shutdown with Ctrl+C or SIGTERMMigration Guide
No breaking changes - existing config.yaml files work unchanged.
- Binary name changed:
grpc-auth-proxy→grpc-proxy - CLI flags updated:
-config→--config(old format still works) - Functionality: All existing functionality preserved with improvements
Testing
- Test Suite: Unit tests, integration tests, and JWT authentication tests
- Mock gRPC Testing: Proxy behavior testing with mock upstream servers
- CI/CD: Tests designed for automated testing environments
Architecture Changes
- Dependencies: Added Cobra, Viper, and grpc-proxy libraries
- Module Updates: Updated to latest gRPC and protobuf versions
- Code Organization: Separation of concerns and maintainability improvements
Performance Improvements
- Connection Reuse: Single upstream connection per endpoint with lifecycle management
- Keep Alive: Prevents unnecessary connection re-establishment
- Memory Efficiency: Resource management and cleanup
Security Enhancements
- TLS 1.2 Minimum: Enforced minimum TLS version for secure connections
- Session Caching: TLS session reuse for performance
- JWT Security: Token handling and validation
Release Summary
This version provides a stable gRPC proxy with:
- Standard libraries and patterns
- Error handling and logging
- Graceful startup and shutdown procedures
- Test coverage including edge cases
- CLI interface
Previous Releases
v0.0.2 - Configuration Path Enhancement
- Custom config path support
- Better error messages
- Flexible file paths