diff --git a/Makefile b/Makefile index 360ed8e4..1fcca977 100644 --- a/Makefile +++ b/Makefile @@ -31,7 +31,7 @@ generate-mocks: mockery bin/mockery --config mockery.yaml run: - go run app/*.go + go run app/*.go --config config.json redis-start: docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 -v ./redis-cache/:/data redis/redis-stack:7.2.0-v3 diff --git a/app/main.go b/app/main.go index 5f0c2d7e..54f1e378 100644 --- a/app/main.go +++ b/app/main.go @@ -2,32 +2,41 @@ package main import ( "context" + "flag" "fmt" "log" "os" "os/signal" "syscall" - "github.com/osmosis-labs/osmosis/v21/app" "github.com/osmosis-labs/sqs/chaininfo/client" sqslog "github.com/osmosis-labs/sqs/log" "github.com/redis/go-redis/v9" "github.com/spf13/viper" + + "github.com/osmosis-labs/osmosis/v21/app" ) func init() { - viper.SetConfigFile(`config.json`) - err := viper.ReadInConfig() - if err != nil { - panic(err) - } - if viper.GetBool(`debug`) { log.Println("Service RUN on DEBUG mode") } } func main() { + configPath := flag.String("config", "config.json", "config file location") + + // Parse the command-line arguments + flag.Parse() + + fmt.Println("configPath", *configPath) + + viper.SetConfigFile(*configPath) + err := viper.ReadInConfig() + if err != nil { + panic(err) + } + dbHost := viper.GetString(`database.host`) dbPort := viper.GetString(`database.port`) @@ -49,7 +58,7 @@ func main() { }) redisStatus := redisClient.Ping(context.Background()) - _, err := redisStatus.Result() + _, err = redisStatus.Result() if err != nil { panic(err) } diff --git a/app/sqs_config.go b/app/sqs_config.go index 93fd98fd..ad88ddd1 100644 --- a/app/sqs_config.go +++ b/app/sqs_config.go @@ -1,9 +1,6 @@ package main import ( - servertypes "github.com/cosmos/cosmos-sdk/server/types" - - "github.com/osmosis-labs/osmosis/osmoutils" "github.com/osmosis-labs/sqs/domain" ) @@ -62,50 +59,3 @@ var DefaultConfig = Config{ RouteCacheExpirySeconds: 600, // 10 minutes }, } - -// NewConfigFromOptions returns a new sidecar query server config from the given options. -func NewConfigFromOptions(opts servertypes.AppOptions) Config { - isEnabled := osmoutils.ParseBool(opts, groupOptName, "is-enabled", false) - - if !isEnabled { - return Config{ - IsEnabled: false, - } - } - - return Config{ - IsEnabled: isEnabled, - - StorageHost: osmoutils.ParseString(opts, groupOptName, "db-host"), - StoragePort: osmoutils.ParseString(opts, groupOptName, "db-port"), - - ServerAddress: osmoutils.ParseString(opts, groupOptName, "server-address"), - ServerTimeoutDurationSecs: osmoutils.ParseInt(opts, groupOptName, "timeout-duration-secs"), - - LoggerFilename: osmoutils.ParseString(opts, groupOptName, "logger-filename"), - LoggerIsProduction: osmoutils.ParseBool(opts, groupOptName, "logger-is-production", false), - LoggerLevel: osmoutils.ParseString(opts, groupOptName, "logger-level"), - - ChainGRPCGatewayEndpoint: osmoutils.ParseString(opts, groupOptName, "grpc-gateway-endpoint"), - - Router: &domain.RouterConfig{ - PreferredPoolIDs: osmoutils.ParseUint64Slice(opts, groupOptName, "preferred-pool-ids"), - - MaxPoolsPerRoute: osmoutils.ParseInt(opts, groupOptName, "max-pools-per-route"), - - MaxRoutes: osmoutils.ParseInt(opts, groupOptName, "max-routes"), - - MaxSplitRoutes: osmoutils.ParseInt(opts, groupOptName, "max-split-routes"), - - MaxSplitIterations: osmoutils.ParseInt(opts, groupOptName, "max-split-iterations"), - - MinOSMOLiquidity: osmoutils.ParseInt(opts, groupOptName, "min-osmo-liquidity"), - - RouteUpdateHeightInterval: osmoutils.ParseInt(opts, groupOptName, "route-update-height-interval"), - - RouteCacheEnabled: osmoutils.ParseBool(opts, groupOptName, "route-cache-enabled", false), - - RouteCacheExpirySeconds: uint64(osmoutils.ParseInt(opts, groupOptName, "route-cache-expiry-seconds")), - }, - } -}