package main import ( "os" "git.coopgo.io/coopgo-platform/saved-search/core/service" grpcserver "git.coopgo.io/coopgo-platform/saved-search/servers/grpc/server" "git.coopgo.io/coopgo-platform/saved-search/data/storage" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) func main() { // zerolog.TimeFieldFormat = zerolog.TimeFormatUnix cfg, err := ReadConfig() if err != nil { panic(err) } var ( service_name = cfg.GetString("name") grpc_enable = cfg.GetBool("services.grpc.enable") dev_env = cfg.GetBool("dev_env") ) if dev_env { log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr}) } log.Info().Msg("Running " + service_name) storageImpl, err := storage.NewStorage(cfg) if err != nil { log.Fatal().Err(err).Msg("could not initiate storage") return } savedSearchService := service.NewSavedSearchService(storageImpl) failed := make(chan error) if grpc_enable { log.Info().Msg("Running grpc server") go grpcserver.Run(failed, cfg, savedSearchService) } err = <-failed log.Fatal().Err(err).Msg("Terminating") }