Releases: SupportTools/go-sql-proxy
Releases · SupportTools/go-sql-proxy
v1.0.2
Changes
Performance Improvements
- Reduce Kubernetes health check frequency by 75% (liveness: 60s, readiness: 30s intervals)
- Add proper probe timeouts and failure thresholds for better reliability
Infrastructure
- Add dockerhub imagePullSecret for private registry access
Bug Fixes
- Resolve excessive database connection creation from frequent health checks
- Improve connection management and reduce resource usage
This release addresses connection spam issues reported in production deployments.
🤖 Generated with Claude Code
Release v1.0.0
go-sql-proxy v1.0.0
Initial release of go-sql-proxy with SSL/TLS support and flag-based configuration.
Features
SSL/TLS Support
- Flag-based SSL control using
USE_SSLenvironment variable - Support for custom CA certificates (
SSL_CA_FILE) - Client certificate support for mutual TLS (
SSL_CERT_FILE,SSL_KEY_FILE) - SSL certificate verification control (
SSL_SKIP_VERIFY) - Compatible with PlanetScale and other SSL-enabled MySQL services on any port
Core Functionality
- MySQL proxy server with transparent traffic forwarding
- Protocol decoding capabilities for packet inspection
- Prometheus metrics collection and HTTP endpoints
- Health check endpoints (
/healthz,/readyz,/version,/metrics) - Context-based lifecycle management with graceful shutdown
- Concurrent connection handling
Deployment
- Docker images available at
fruition/go-sql-proxy:v1.0.0 - Helm chart available at
fruition/go-sql-proxy - Kubernetes deployment support with comprehensive configuration options
Configuration
Environment Variables
USE_SSL: Enable SSL/TLS connection to upstream MySQLSSL_SKIP_VERIFY: Skip SSL certificate verificationSSL_CA_FILE: Path to CA certificate fileSSL_CERT_FILE: Path to client certificate fileSSL_KEY_FILE: Path to client key fileDEBUG: Enable debug loggingMETRICS_PORT: Port for metrics/health endpoints (default: 9090)SOURCE_DATABASE_SERVER: Target MySQL server hostnameSOURCE_DATABASE_PORT: Target MySQL server port (default: 25060)SOURCE_DATABASE_USER: MySQL usernameSOURCE_DATABASE_PASSWORD: MySQL passwordSOURCE_DATABASE_NAME: Default database nameBIND_ADDRESS: Proxy bind address (default: 0.0.0.0)BIND_PORT: Proxy listening port (default: 3306)
Installation
Docker
docker run -d \
-p 3306:3306 \
-p 9090:9090 \
-e SOURCE_DATABASE_SERVER=your-mysql-server.com \
-e SOURCE_DATABASE_USER=username \
-e SOURCE_DATABASE_PASSWORD=password \
-e USE_SSL=true \
fruition/go-sql-proxy:v1.0.0Helm
helm repo add fruition https://fruition.github.io/helm-chart/
helm repo update
helm install my-proxy fruition/go-sql-proxy --version v1.0.0Example: PlanetScale Configuration
docker run -d \
-p 3306:3306 \
-p 9090:9090 \
-e SOURCE_DATABASE_SERVER=your-database.planetscale.com \
-e SOURCE_DATABASE_PORT=3306 \
-e SOURCE_DATABASE_USER=your-username \
-e SOURCE_DATABASE_PASSWORD=your-password \
-e SOURCE_DATABASE_NAME=your-database \
-e USE_SSL=true \
-e SSL_SKIP_VERIFY=true \
fruition/go-sql-proxy:v1.0.0What's New
- Complete SSL/TLS implementation with comprehensive certificate support
- Flag-based SSL control replacing port-based logic
- Enhanced Helm chart with SSL configuration options
- Improved CI/CD pipeline with tag-based versioning
- Updated documentation and examples
- Security improvements and modern Go practices
Breaking Changes
- SSL behavior is now controlled by
USE_SSLflag instead of port-based logic - Docker images moved from
supporttools/go-sql-proxytofruition/go-sql-proxy - Helm charts moved to
fruition/helm-chartrepository
🤖 Generated with Claude Code