From 229e76975514f90a619cbd477ad9cfaa72f0ed43 Mon Sep 17 00:00:00 2001 From: anonpenguin23 Date: Wed, 22 Oct 2025 08:34:42 +0300 Subject: [PATCH] Enhance gateway configuration by adding RQLiteDSN support and updating default connection settings. Updated config parsing to include RQLiteDSN from YAML and environment variables. Changed default RQLite connection URL from port 4001 to 5001. --- cmd/gateway/config.go | 8 ++++++++ pkg/config/config.go | 10 +++++----- pkg/gateway/gateway.go | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/cmd/gateway/config.go b/cmd/gateway/config.go index cc8f345..acfbdcc 100644 --- a/cmd/gateway/config.go +++ b/cmd/gateway/config.go @@ -45,6 +45,7 @@ func parseGatewayConfig(logger *logging.ColoredLogger) *gateway.Config { ListenAddr: ":6001", ClientNamespace: "default", BootstrapPeers: nil, + RQLiteDSN: "", } // 1) YAML (optional) @@ -52,6 +53,7 @@ func parseGatewayConfig(logger *logging.ColoredLogger) *gateway.Config { type yamlCfg struct { ListenAddr string `yaml:"listen_addr"` ClientNamespace string `yaml:"client_namespace"` + RQLiteDSN string `yaml:"rqlite_dsn"` BootstrapPeers []string `yaml:"bootstrap_peers"` } const path = "configs/gateway.yaml" @@ -66,6 +68,9 @@ func parseGatewayConfig(logger *logging.ColoredLogger) *gateway.Config { if v := strings.TrimSpace(y.ClientNamespace); v != "" { cfg.ClientNamespace = v } + if v := strings.TrimSpace(y.RQLiteDSN); v != "" { + cfg.RQLiteDSN = v + } if len(y.BootstrapPeers) > 0 { var bp []string for _, p := range y.BootstrapPeers { @@ -89,6 +94,9 @@ func parseGatewayConfig(logger *logging.ColoredLogger) *gateway.Config { if v := strings.TrimSpace(os.Getenv("GATEWAY_NAMESPACE")); v != "" { cfg.ClientNamespace = v } + if v := strings.TrimSpace(os.Getenv("GATEWAY_RQLITE_DSN")); v != "" { + cfg.RQLiteDSN = v + } if v := strings.TrimSpace(os.Getenv("GATEWAY_BOOTSTRAP_PEERS")); v != "" { parts := strings.Split(v, ",") var bp []string diff --git a/pkg/config/config.go b/pkg/config/config.go index 39bef1b..85e595d 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -109,11 +109,11 @@ func DefaultConfig() *Config { }, Discovery: DiscoveryConfig{ BootstrapPeers: []string{ - "/ip4/217.76.54.168/tcp/4001/p2p/12D3KooWDp7xeShVY9uHfqNVPSsJeCKUatAviFZV8Y1joox5nUvx", - "/ip4/217.76.54.178/tcp/4001/p2p/12D3KooWKZnirPwNT4URtNSWK45f6vLkEs4xyUZ792F8Uj1oYnm1", - "/ip4/51.83.128.181/tcp/4001/p2p/12D3KooWBn2Zf1R8v9pEfmz7hDZ5b3oADxfejA3zJBYzKRCzgvhR", - "/ip4/155.133.27.199/tcp/4001/p2p/12D3KooWC69SBzM5QUgrLrfLWUykE8au32X5LwT7zwv9bixrQPm1", - "/ip4/217.76.56.2/tcp/4001/p2p/12D3KooWEiqJHvznxqJ5p2y8mUs6Ky6dfU1xTYFQbyKRCABfcZz4", + "/ip4/127.0.0.1/tcp/4001/p2p/12D3KooWHbcFcrGPXKUrHcxvd8MXEeUzRYyvY8fQcpEBxncSUwhj", + // "/ip4/217.76.54.178/tcp/4001/p2p/12D3KooWKZnirPwNT4URtNSWK45f6vLkEs4xyUZ792F8Uj1oYnm1", + // "/ip4/51.83.128.181/tcp/4001/p2p/12D3KooWBn2Zf1R8v9pEfmz7hDZ5b3oADxfejA3zJBYzKRCzgvhR", + // "/ip4/155.133.27.199/tcp/4001/p2p/12D3KooWC69SBzM5QUgrLrfLWUykE8au32X5LwT7zwv9bixrQPm1", + // "/ip4/217.76.56.2/tcp/4001/p2p/12D3KooWEiqJHvznxqJ5p2y8mUs6Ky6dfU1xTYFQbyKRCABfcZz4", }, BootstrapPort: 4001, // Default LibP2P port DiscoveryInterval: time.Second * 15, // Back to 15 seconds for testing diff --git a/pkg/gateway/gateway.go b/pkg/gateway/gateway.go index 4e140ed..8887237 100644 --- a/pkg/gateway/gateway.go +++ b/pkg/gateway/gateway.go @@ -90,7 +90,7 @@ func New(logger *logging.ColoredLogger, cfg *Config) (*Gateway, error) { logger.ComponentInfo(logging.ComponentGeneral, "Initializing RQLite ORM HTTP gateway...") dsn := cfg.RQLiteDSN if dsn == "" { - dsn = "http://localhost:4001" + dsn = "http://localhost:5001" } db, dbErr := sql.Open("rqlite", dsn) if dbErr != nil {