initiate repo
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package config
|
||||
|
||||
import "time"
|
||||
|
||||
type Config struct {
|
||||
Server ServerConfig
|
||||
Databases map[string]DatabaseConfig
|
||||
ReadReplicas map[string][]DatabaseConfig
|
||||
}
|
||||
|
||||
type ServerConfig struct {
|
||||
Port int
|
||||
Mode string
|
||||
}
|
||||
|
||||
type DatabaseConfig struct {
|
||||
Name string
|
||||
Type string // postgres, mysql, sqlserver, sqlite, mongodb
|
||||
Host string
|
||||
Port int
|
||||
Username string
|
||||
Password string
|
||||
Database string
|
||||
Schema string
|
||||
SSLMode string
|
||||
Path string // For SQLite
|
||||
Options string // Additional connection options
|
||||
MaxOpenConns int // Max open connections
|
||||
MaxIdleConns int // Max idle connections
|
||||
ConnMaxLifetime time.Duration // Connection max lifetime
|
||||
// Security settings
|
||||
RequireSSL bool // Require SSL connection
|
||||
SSLRootCert string // Path to SSL root certificate
|
||||
SSLCert string // Path to SSL client certificate
|
||||
SSLKey string // Path to SSL client key
|
||||
Timeout time.Duration // Connection timeout
|
||||
ConnectTimeout time.Duration // Connect timeout
|
||||
ReadTimeout time.Duration // Read timeout
|
||||
WriteTimeout time.Duration // Write timeout
|
||||
StatementTimeout time.Duration // Statement timeout for PostgreSQL
|
||||
// Connection pool settings
|
||||
MaxLifetime time.Duration // Maximum amount of time a connection may be reused
|
||||
MaxIdleTime time.Duration // Maximum amount of time a connection may be idle
|
||||
HealthCheckPeriod time.Duration // Health check period
|
||||
}
|
||||
Reference in New Issue
Block a user