Release v2.0.0 - Enterprise-Grade Database Proxy#2
Merged
hasirciogluhq merged 22 commits intomainfrom Jan 12, 2026
Merged
Conversation
…ck to build configuration in both build-and-push-development and create-release jobs [*] adjusted platforms in both jobs to include linux/amd64, linux/arm64, and linux/386
…providers. And old database instance id system will be implemented soon
…er will be imöplementedç.
Client test connection script added into scripts folder. Gitignore updated for development data folder for local development testing.
… response and lifecycle is not good as well for production environments.
…inking about how to address the challenges of the infrastructure I aim to build.
… and security enhancements
- Modify GitHub Actions workflow to include test job with matrix strategy for different OS and Go versions. - Update Dockerfile to specify GOOS and GOARCH for building the binary. - Change Kubernetes deployment ports from 5432 to 4545 and update health check ports to 8080.
….0.0 - Added multi-platform Docker build support and automated TLS certificate creation. - Enhanced TLS configuration with multiple priority levels and static backend support. - Introduced health check and readiness endpoints, along with debug logging mode. - Updated Dockerfile for cross-platform compatibility and improved GitHub Actions workflow. - Fixed macOS build compatibility issues and race conditions in TLS certificate generation. - Added comprehensive environment variable documentation in README. - Created development deployment configuration for Kubernetes.
- Updated environment variables in development and production deployment YAML files to enhance configurability. - Introduced new environment variables for TLS settings, including auto-generation and renewal options. - Modified health check endpoint from /healthz to /health for consistency. - Enhanced start-proxy-test and test-server scripts to align with new configuration standards. - Added comprehensive README documentation detailing features, installation, configuration, and usage scenarios. - Implemented a new configuration management system in config.go to handle environment variables and legacy support. - Created a factory pattern for proxy and resolver creation, allowing for better separation of concerns and easier future extensions. - Established TLS management with support for file-based, Kubernetes secret, and in-memory certificate handling. - Added validation for configuration settings to ensure coherence and correctness. - Introduced structured logging for better observability and debugging.
…s service discovery section
… image version in deployment
…remove outdated Kubernetes deployment files
Owner
Author
|
@hasirciogluhq I've opened a new pull request, #3, to work on those changes. Once the pull request is ready, I'll request review from you. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v2.0.0 - Enterprise-Grade Database Proxy 🚀
🎯 Overview
Major architectural overhaul transforming xdatabase-proxy into a production-ready, enterprise-grade database proxy solution with advanced runtime detection, flexible discovery modes, and comprehensive TLS management.
✨ Major Features
🔍 Runtime Environment Detection
🌐 Flexible Discovery Modes
🔐 Enterprise TLS Management
TLS_ENABLEDflag for TLS-optional deploymentsTLS_AUTO_GENERATEcreates self-signed certificates automaticallyTLS_AUTO_RENEWwith configurable threshold (TLS_RENEWAL_THRESHOLD_DAYS)⚙️ Professional Configuration System
🐘 PostgreSQL Protocol Enhancements
username.deployment_id[.pool]alice.db-prod.pool→username=alice, deployment_id=db-prod, pooled=true🔧 Technical Improvements
Architecture Refactoring
apps/proxytocmd/proxywith internal packagesConfiguration Variables
New Variables:
DATABASE_TYPE: Database type (postgresql)RUNTIME: Explicit runtime environment settingDISCOVERY_MODE: Explicit discovery modeTLS_MODE: Explicit TLS provider modeTLS_ENABLED: Enable/disable TLSTLS_AUTO_GENERATE: Auto-generate certificatesTLS_AUTO_RENEW: Auto-renew certificatesTLS_RENEWAL_THRESHOLD_DAYS: Renewal thresholdNAMESPACE: Professional naming (replacesPOD_NAMESPACE)STATIC_BACKENDS: Comma-separated backend list (deployment_id[.pool]=host:port)Removed Variables:
PROXY_ENABLED: Proxy always runs (fail-fast on misconfiguration)POD_NAMESPACE: Replaced byNAMESPACEPOSTGRESQL_PROXY_ENABLED: Replaced byDATABASE_TYPETLS_ENABLE_SELF_SIGNED: Replaced byTLS_AUTO_GENERATE🐛 Critical Fixes
PostgreSQL Database Parameter Fix
database=postgres.team-1992252154561→database=postgresProtocol Fixes
Infrastructure Fixes
📊 Statistics
🔒 Security Enhancements
📚 Documentation
🎯 Breaking Changes
apps/proxy→cmd/proxy)🚦 Testing
All changes tested with:
📦 Deployment
Ready for production deployment with:
Ready to merge: All tests passing, comprehensive changelog, production-ready architecture.
/cc @hasirciogluhq