diff options
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/gotosocial/main.go | 58 | ||||
-rw-r--r-- | cmd/server/server.go | 35 |
2 files changed, 62 insertions, 31 deletions
diff --git a/cmd/gotosocial/main.go b/cmd/gotosocial/main.go index 78c7002a2..ffb7b9b8d 100644 --- a/cmd/gotosocial/main.go +++ b/cmd/gotosocial/main.go @@ -22,23 +22,69 @@ import ( "os" "github.com/gotosocial/gotosocial/cmd/server" + "github.com/gotosocial/gotosocial/internal/consts" "github.com/sirupsen/logrus" "github.com/urfave/cli/v2" ) func main() { + flagNames := consts.GetFlagNames() + envNames := consts.GetEnvNames() app := &cli.App{ Flags: []cli.Flag{ + // GENERAL FLAGS &cli.StringFlag{ - Name: "config", - Aliases: []string{"c"}, - Usage: "Load configuration from `FILE`", + Name: flagNames.LogLevel, + Usage: "Log level to run at: debug, info, warn, fatal", + Value: "info", + EnvVars: []string{"GTS_LOG_LEVEL"}, }, &cli.StringFlag{ - Name: "log-level", - Usage: "Log level to run at: debug, info, warn, fatal", - Value: "info", + Name: flagNames.ApplicationName, + Usage: "Name of the application, used in various places internally", + Value: "gotosocial", + EnvVars: []string{envNames.ApplicationName}, + Hidden: true, + }, + + // DATABASE FLAGS + &cli.StringFlag{ + Name: flagNames.DbType, + Usage: "Database type: eg., postgres", + Value: "postgres", + EnvVars: []string{envNames.DbType}, + }, + &cli.StringFlag{ + Name: flagNames.DbAddress, + Usage: "Database ipv4 address or hostname", + Value: "localhost", + EnvVars: []string{envNames.DbAddress}, + }, + &cli.IntFlag{ + Name: flagNames.DbPort, + Usage: "Database port", + Value: 5432, + EnvVars: []string{envNames.DbPort}, + }, + &cli.StringFlag{ + Name: flagNames.DbUser, + Usage: "Database username", + Value: "postgres", + EnvVars: []string{envNames.DbUser}, + }, + &cli.StringFlag{ + Name: flagNames.DbPassword, + Usage: "Database password", + Value: "postgres", + EnvVars: []string{envNames.DbPassword}, + FilePath: "./dbpass", + }, + &cli.StringFlag{ + Name: flagNames.DbDatabase, + Usage: "Database name", + Value: "postgres", + EnvVars: []string{envNames.DbDatabase}, }, }, Commands: []*cli.Command{ diff --git a/cmd/server/server.go b/cmd/server/server.go index 4f2969993..bd16e1f84 100644 --- a/cmd/server/server.go +++ b/cmd/server/server.go @@ -25,43 +25,28 @@ import ( "os/signal" "syscall" + "github.com/gotosocial/gotosocial/internal/config" "github.com/gotosocial/gotosocial/internal/db" - "github.com/sirupsen/logrus" + "github.com/gotosocial/gotosocial/internal/log" "github.com/urfave/cli/v2" ) -// getLog will try to set the logrus log level to the -// desired level specified by the user with the --log-level flag -func getLog(c *cli.Context) (*logrus.Logger, error) { - log := logrus.New() - logLevel, err := logrus.ParseLevel(c.String("log-level")) - if err != nil { - return nil, err - } - log.SetLevel(logLevel) - return log, nil -} - // Run starts the gotosocial server func Run(c *cli.Context) error { - log, err := getLog(c) + log, err := log.New(c.String("log-level")) if err != nil { return fmt.Errorf("error creating logger: %s", err) } - ctx := context.Background() - dbConfig := &db.Config{ - Type: "POSTGRES", - Address: "", - Port: 5432, - User: "", - Password: "whatever", - Database: "postgres", - ApplicationName: "gotosocial", + var gtsConfig *config.Config + if gtsConfig, err = config.New(c.String("config")); err != nil { + return fmt.Errorf("error creating config: %s", err) } - dbService, err := db.NewService(ctx, dbConfig, log) + + ctx := context.Background() + dbService, err := db.NewService(ctx, gtsConfig.DBConfig, log) if err != nil { - return err + return fmt.Errorf("error creating dbservice: %s", err) } // catch shutdown signals from the operating system |