1234567891011121314151617181920212223242526272829303132333435 |
- package main
- import (
- "github.com/alecthomas/kong"
- "github.com/annybs/shorty/internal/cli"
- "github.com/rs/zerolog"
- "github.com/spf13/viper"
- )
- func main() {
- // Initialise config from environment
- config := viper.New()
- config.SetEnvPrefix("shorty")
- config.SetDefault("all_path", "/*")
- config.SetDefault("database_path", ".shorty")
- config.SetDefault("port", "3000")
- config.SetDefault("url", "http://localhost:3000")
- config.AutomaticEnv()
- // Create logger
- log := zerolog.New(zerolog.NewConsoleWriter()).With().Timestamp().Logger()
- // Initialise and run CLI
- vars := kong.Vars{
- "all_path": config.GetString("all_path"),
- "database_path": config.GetString("database_path"),
- "host": config.GetString("host"),
- "port": config.GetString("port"),
- "token": config.GetString("token"),
- "url": config.GetString("url"),
- }
- ctx := kong.Parse(&cli.CLI{}, vars)
- err := ctx.Run(&cli.Context{Config: config, Log: log})
- ctx.FatalIfErrorf(err)
- }
|