25 lines
496 B
Go
25 lines
496 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"time"
|
|
|
|
"github.com/kelseyhightower/envconfig"
|
|
)
|
|
|
|
type Config struct {
|
|
DSN string `envconfig:"DSN" default:"postgresql://postgres:postgres@postgres:5432/postgres?sslmode=disable"`
|
|
ReconnectTimeout time.Duration `envconfig:"RECONNECT_TIMEOUT" default:"2s"`
|
|
}
|
|
|
|
func (c *Config) Parse() error {
|
|
flag.StringVar(&c.DSN, "DSN", "", "postgresql DSN")
|
|
flag.Parse()
|
|
|
|
if err := envconfig.Process("", c); err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|