mirror of
https://github.com/hanzo-fi/stack.git
synced 2026-10-30 20:34:43 +00:00
50 lines
1.3 KiB
Go
50 lines
1.3 KiB
Go
package flag
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
"github.com/spf13/pflag"
|
|
)
|
|
|
|
const (
|
|
LogLevel = "log-level"
|
|
Listen = "listen"
|
|
Worker = "worker"
|
|
|
|
RetryPeriod = "retry-period"
|
|
AbortAfter = "abort-after"
|
|
MinBackoffDelay = "min-backoff-delay"
|
|
MaxBackoffDelay = "max-backoff-delay"
|
|
|
|
KafkaTopics = "kafka-topics"
|
|
AutoMigrate = "auto-migrate"
|
|
)
|
|
|
|
const (
|
|
DefaultBindAddressServer = ":8080"
|
|
|
|
DefaultPostgresConnString = "postgresql://webhooks:[email protected]/webhooks?sslmode=disable"
|
|
|
|
DefaultKafkaTopic = "default"
|
|
)
|
|
|
|
var (
|
|
DefaultRetryPeriod = time.Minute
|
|
)
|
|
|
|
func Init(flagSet *pflag.FlagSet) {
|
|
flagSet.String(LogLevel, logrus.InfoLevel.String(), "Log level")
|
|
|
|
flagSet.String(Listen, DefaultBindAddressServer, "server HTTP bind address")
|
|
flagSet.Duration(RetryPeriod, DefaultRetryPeriod, "worker retry period")
|
|
flagSet.Bool(Worker, false, "Enable worker on server")
|
|
|
|
flagSet.StringSlice(KafkaTopics, []string{DefaultKafkaTopic}, "Kafka topics")
|
|
|
|
flagSet.Duration(AbortAfter, 30*24*time.Hour, "consider a webhook as failed after retrying it for this duration.")
|
|
flagSet.Duration(MinBackoffDelay, time.Minute, "minimum backoff delay")
|
|
flagSet.Duration(MaxBackoffDelay, time.Hour, "maximum backoff delay")
|
|
flagSet.Bool(AutoMigrate, false, "auto migrate database")
|
|
}
|