diff --git a/client/interceptor/retry.go b/client/interceptor/retry.go index 867c1e1ea..a8fb61fa4 100644 --- a/client/interceptor/retry.go +++ b/client/interceptor/retry.go @@ -5,7 +5,7 @@ import ( "strings" "github.com/cenkalti/backoff/v4" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" "google.golang.org/grpc" ) diff --git a/client/resolver/eru/resolver.go b/client/resolver/eru/resolver.go index 2981e53e6..6f09ae526 100644 --- a/client/resolver/eru/resolver.go +++ b/client/resolver/eru/resolver.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/projecteru2/core/client/servicediscovery" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" "google.golang.org/grpc/resolver" ) diff --git a/client/servicediscovery/eru_service_discovery.go b/client/servicediscovery/eru_service_discovery.go index 93ac76f35..463d16fab 100644 --- a/client/servicediscovery/eru_service_discovery.go +++ b/client/servicediscovery/eru_service_discovery.go @@ -8,9 +8,9 @@ import ( "github.com/projecteru2/core/auth" "github.com/projecteru2/core/client/interceptor" + "github.com/projecteru2/core/log" pb "github.com/projecteru2/core/rpc/gen" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" "google.golang.org/grpc" ) diff --git a/client/servicediscovery/resolver.go b/client/servicediscovery/resolver.go index 82ecc0735..7fffbceb9 100644 --- a/client/servicediscovery/resolver.go +++ b/client/servicediscovery/resolver.go @@ -1,7 +1,7 @@ package servicediscovery import ( - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" "google.golang.org/grpc/resolver" ) diff --git a/cluster/calcium/build.go b/cluster/calcium/build.go index 82b539a52..fcf80c624 100644 --- a/cluster/calcium/build.go +++ b/cluster/calcium/build.go @@ -11,8 +11,8 @@ import ( "time" enginetypes "github.com/projecteru2/core/engine/types" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // BuildImage will build image diff --git a/cluster/calcium/calcium.go b/cluster/calcium/calcium.go index ab3bbb2d4..7f5096f37 100644 --- a/cluster/calcium/calcium.go +++ b/cluster/calcium/calcium.go @@ -6,6 +6,7 @@ import ( "github.com/projecteru2/core/cluster" "github.com/projecteru2/core/discovery" "github.com/projecteru2/core/discovery/helium" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/scheduler" complexscheduler "github.com/projecteru2/core/scheduler/complex" "github.com/projecteru2/core/source" @@ -14,7 +15,6 @@ import ( "github.com/projecteru2/core/store" "github.com/projecteru2/core/store/etcdv3" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // Calcium implement the cluster diff --git a/cluster/calcium/capacity.go b/cluster/calcium/capacity.go index ebc02d215..4ebb3765c 100644 --- a/cluster/calcium/capacity.go +++ b/cluster/calcium/capacity.go @@ -4,11 +4,11 @@ import ( "context" "github.com/pkg/errors" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/resources" resourcetypes "github.com/projecteru2/core/resources/types" "github.com/projecteru2/core/strategy" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // CalculateCapacity calculates capacity diff --git a/cluster/calcium/control.go b/cluster/calcium/control.go index 7d022761f..e225a9e49 100644 --- a/cluster/calcium/control.go +++ b/cluster/calcium/control.go @@ -6,9 +6,9 @@ import ( "sync" "github.com/projecteru2/core/cluster" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" ) // ControlWorkload control workloads status diff --git a/cluster/calcium/copy.go b/cluster/calcium/copy.go index 3ce8dc573..34293156c 100644 --- a/cluster/calcium/copy.go +++ b/cluster/calcium/copy.go @@ -4,8 +4,8 @@ import ( "context" "sync" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // Copy uses VirtualizationCopyFrom cp to copy specified things and send to remote diff --git a/cluster/calcium/create.go b/cluster/calcium/create.go index ffa23b1dc..eaf401ba9 100644 --- a/cluster/calcium/create.go +++ b/cluster/calcium/create.go @@ -12,10 +12,10 @@ import ( "github.com/projecteru2/core/metrics" resourcetypes "github.com/projecteru2/core/resources/types" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" "github.com/sanity-io/litter" - log "github.com/sirupsen/logrus" ) // CreateWorkload use options to create workloads @@ -116,7 +116,7 @@ func (c *Calcium) doCreateWorkloads(ctx context.Context, opts *types.DeployOptio } }() - return ch, err + return ch, errors.WithStack(err) } func (c *Calcium) doDeployWorkloads(ctx context.Context, ch chan *types.CreateWorkloadMessage, opts *types.DeployOptions, plans []resourcetypes.ResourcePlans, deployMap map[string]int) (_ map[string][]int, err error) { diff --git a/cluster/calcium/dissociate.go b/cluster/calcium/dissociate.go index b025b9f05..357087c31 100644 --- a/cluster/calcium/dissociate.go +++ b/cluster/calcium/dissociate.go @@ -3,10 +3,10 @@ package calcium import ( "context" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/store" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" ) // DissociateWorkload dissociate workload from eru, return it resource but not modity it diff --git a/cluster/calcium/execute.go b/cluster/calcium/execute.go index e573edf0d..2ff5025bf 100644 --- a/cluster/calcium/execute.go +++ b/cluster/calcium/execute.go @@ -5,8 +5,8 @@ import ( "strconv" enginetypes "github.com/projecteru2/core/engine/types" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // ExecuteWorkload executes commands in running workloads diff --git a/cluster/calcium/helper.go b/cluster/calcium/helper.go index 7005eecd4..831a41217 100644 --- a/cluster/calcium/helper.go +++ b/cluster/calcium/helper.go @@ -9,9 +9,9 @@ import ( "github.com/projecteru2/core/engine" enginetypes "github.com/projecteru2/core/engine/types" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" "golang.org/x/net/context" ) diff --git a/cluster/calcium/image.go b/cluster/calcium/image.go index adb5acc3c..6b6c7a7cd 100644 --- a/cluster/calcium/image.go +++ b/cluster/calcium/image.go @@ -5,8 +5,8 @@ import ( "fmt" "sync" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // RemoveImage remove images diff --git a/cluster/calcium/lambda.go b/cluster/calcium/lambda.go index 5e60f9a29..dd5ad362a 100644 --- a/cluster/calcium/lambda.go +++ b/cluster/calcium/lambda.go @@ -7,10 +7,10 @@ import ( "sync" enginetypes "github.com/projecteru2/core/engine/types" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/strategy" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" ) const exitDataPrefix = "[exitcode] " diff --git a/cluster/calcium/lock.go b/cluster/calcium/lock.go index ee9653b6b..e29e3f975 100644 --- a/cluster/calcium/lock.go +++ b/cluster/calcium/lock.go @@ -7,8 +7,8 @@ import ( "github.com/projecteru2/core/cluster" "github.com/projecteru2/core/lock" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) func (c *Calcium) doLock(ctx context.Context, name string, timeout time.Duration) (lock.DistributedLock, error) { diff --git a/cluster/calcium/node.go b/cluster/calcium/node.go index d23f88fae..7d0a49468 100644 --- a/cluster/calcium/node.go +++ b/cluster/calcium/node.go @@ -3,9 +3,9 @@ package calcium import ( "context" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" "github.com/sanity-io/litter" - log "github.com/sirupsen/logrus" ) // AddNode adds a node diff --git a/cluster/calcium/remove.go b/cluster/calcium/remove.go index 241be30c2..8248edc5a 100644 --- a/cluster/calcium/remove.go +++ b/cluster/calcium/remove.go @@ -8,8 +8,8 @@ import ( "github.com/projecteru2/core/store" "github.com/projecteru2/core/utils" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // RemoveWorkload remove workloads diff --git a/cluster/calcium/replace.go b/cluster/calcium/replace.go index 8c52f118e..59f9e3904 100644 --- a/cluster/calcium/replace.go +++ b/cluster/calcium/replace.go @@ -8,9 +8,9 @@ import ( "sync" enginetypes "github.com/projecteru2/core/engine/types" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" ) // ReplaceWorkload replace workloads with same resource diff --git a/cluster/calcium/resource.go b/cluster/calcium/resource.go index 62033cdfe..43c0b8711 100644 --- a/cluster/calcium/resource.go +++ b/cluster/calcium/resource.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/pkg/errors" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" resourcetypes "github.com/projecteru2/core/resources/types" "github.com/projecteru2/core/strategy" diff --git a/cluster/calcium/send.go b/cluster/calcium/send.go index c8ef7dd9c..9dda44823 100644 --- a/cluster/calcium/send.go +++ b/cluster/calcium/send.go @@ -7,8 +7,8 @@ import ( "sync" "github.com/projecteru2/core/engine" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // Send send files to workload diff --git a/cluster/calcium/service.go b/cluster/calcium/service.go index 3cd25f285..403d79551 100644 --- a/cluster/calcium/service.go +++ b/cluster/calcium/service.go @@ -5,9 +5,9 @@ import ( "sync" "time" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" ) // WatchServiceStatus returns chan of available service address diff --git a/core.go b/core.go index 74da95b63..427ad4cc8 100644 --- a/core.go +++ b/core.go @@ -6,9 +6,12 @@ import ( "net/http" _ "net/http/pprof" // nolint "os" + "time" + "github.com/getsentry/sentry-go" "github.com/projecteru2/core/auth" "github.com/projecteru2/core/cluster/calcium" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/metrics" "github.com/projecteru2/core/rpc" pb "github.com/projecteru2/core/rpc/gen" @@ -16,7 +19,6 @@ import ( "github.com/projecteru2/core/version" "github.com/prometheus/client_golang/prometheus/promhttp" "github.com/sethvargo/go-signalcontext" - log "github.com/sirupsen/logrus" cli "github.com/urfave/cli/v2" "google.golang.org/grpc" @@ -28,20 +30,22 @@ var ( embeddedStorage bool ) -func setupLog(l string) error { - level, err := log.ParseLevel(l) - if err != nil { - return err +func setupSentry(dsn string) (func(), error) { + if dsn == "" { + return nil, nil } - log.SetLevel(level) - formatter := &log.TextFormatter{ - TimestampFormat: "2006-01-02 15:04:05", - FullTimestamp: true, + sentryDefer := func() { + defer sentry.Flush(2 * time.Second) + err := recover() + if err != nil { + sentry.CaptureMessage(fmt.Sprintf("%+v", err)) + panic(err) + } } - log.SetFormatter(formatter) - log.SetOutput(os.Stdout) - return nil + return sentryDefer, sentry.Init(sentry.ClientOptions{ + Dsn: dsn, + }) } func serve(c *cli.Context) error { @@ -50,10 +54,16 @@ func serve(c *cli.Context) error { log.Fatalf("[main] %v", err) } - if err := setupLog(config.LogLevel); err != nil { + if err := log.SetupLog(config.LogLevel); err != nil { log.Fatalf("[main] %v", err) } + if sentryDefer, err := setupSentry(config.SentryDSN); err != nil { + log.Warnf("[main] sentry %v", err) + } else if sentryDefer != nil { + defer sentryDefer() + } + if err := metrics.InitMetrics(config); err != nil { log.Fatalf("[main] %v", err) } diff --git a/core.yaml.sample b/core.yaml.sample index 4eb3f9b73..c68047f5b 100644 --- a/core.yaml.sample +++ b/core.yaml.sample @@ -5,6 +5,7 @@ profile: ":12346" global_timeout: 300s lock_timeout: 30s cert_path: "/etc/eru/tls" +sentry_dsn: "https://examplePublicKey@o0.ingest.sentry.io/0" auth: username: admin diff --git a/discovery/helium/helium.go b/discovery/helium/helium.go index d115ec65d..d845fa463 100644 --- a/discovery/helium/helium.go +++ b/discovery/helium/helium.go @@ -6,9 +6,9 @@ import ( "time" "github.com/google/uuid" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/store" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // Helium . diff --git a/engine/docker/build.go b/engine/docker/build.go index 66d3c198f..bd8c48241 100644 --- a/engine/docker/build.go +++ b/engine/docker/build.go @@ -11,10 +11,10 @@ import ( "github.com/projecteru2/core/engine/types" enginetypes "github.com/projecteru2/core/engine/types" + "github.com/projecteru2/core/log" coresource "github.com/projecteru2/core/source" coretypes "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" ) const ( diff --git a/engine/docker/container.go b/engine/docker/container.go index 777a21313..051da43bc 100644 --- a/engine/docker/container.go +++ b/engine/docker/container.go @@ -16,7 +16,7 @@ import ( "github.com/docker/go-units" "github.com/pkg/errors" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" dockertypes "github.com/docker/docker/api/types" dockercontainer "github.com/docker/docker/api/types/container" diff --git a/engine/docker/docker.go b/engine/docker/docker.go index b435266ba..f7e0df551 100644 --- a/engine/docker/docker.go +++ b/engine/docker/docker.go @@ -11,8 +11,8 @@ import ( "github.com/docker/go-connections/tlsconfig" "github.com/projecteru2/core/engine" enginetypes "github.com/projecteru2/core/engine/types" + "github.com/projecteru2/core/log" coretypes "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) const ( diff --git a/engine/docker/helper.go b/engine/docker/helper.go index bb3778fc6..6398703a3 100644 --- a/engine/docker/helper.go +++ b/engine/docker/helper.go @@ -19,9 +19,9 @@ import ( corecluster "github.com/projecteru2/core/cluster" "github.com/projecteru2/core/engine" enginetypes "github.com/projecteru2/core/engine/types" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" coretypes "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" "github.com/docker/distribution/reference" dockertypes "github.com/docker/docker/api/types" diff --git a/engine/docker/tarfile.go b/engine/docker/tarfile.go index b7ed3413f..08e2f0bb4 100644 --- a/engine/docker/tarfile.go +++ b/engine/docker/tarfile.go @@ -7,7 +7,7 @@ import ( "os" "path/filepath" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" ) func withTarfileDump(target string, content io.Reader, f func(target, tarfile string) error) error { diff --git a/engine/systemd/systemd.go b/engine/systemd/systemd.go index 472d4fece..0e26eaef6 100644 --- a/engine/systemd/systemd.go +++ b/engine/systemd/systemd.go @@ -15,7 +15,7 @@ import ( coretypes "github.com/projecteru2/core/types" "golang.org/x/crypto/ssh" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" ) const ( diff --git a/engine/systemd/unit.go b/engine/systemd/unit.go index 63021905f..3aa4b02ae 100644 --- a/engine/systemd/unit.go +++ b/engine/systemd/unit.go @@ -7,7 +7,7 @@ import ( "strings" "github.com/pkg/errors" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" "github.com/docker/go-units" enginetypes "github.com/projecteru2/core/engine/types" diff --git a/engine/virt/image.go b/engine/virt/image.go index 0eab13c1c..1ee24a9b0 100644 --- a/engine/virt/image.go +++ b/engine/virt/image.go @@ -6,7 +6,7 @@ import ( "path/filepath" "strings" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" enginetypes "github.com/projecteru2/core/engine/types" diff --git a/engine/virt/virt.go b/engine/virt/virt.go index df018ad50..0392bb3c1 100644 --- a/engine/virt/virt.go +++ b/engine/virt/virt.go @@ -10,7 +10,7 @@ import ( "path/filepath" "strings" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" virtapi "github.com/projecteru2/libyavirt/client" virttypes "github.com/projecteru2/libyavirt/types" diff --git a/go.mod b/go.mod index 4ace93892..326537397 100644 --- a/go.mod +++ b/go.mod @@ -16,6 +16,7 @@ require ( github.com/docker/go-metrics v0.0.1 // indirect github.com/docker/go-units v0.4.0 github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 // indirect + github.com/getsentry/sentry-go v0.9.0 github.com/go-git/go-git/v5 v5.1.0 github.com/golang/protobuf v1.4.2 github.com/google/uuid v1.1.1 diff --git a/go.sum b/go.sum index 661188e08..1d3ba9d5a 100644 --- a/go.sum +++ b/go.sum @@ -10,6 +10,7 @@ cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbf cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= @@ -17,6 +18,15 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/CMGS/statsd v0.0.0-20160223095033-48c421b3c1ab h1:/Nl282MSyyUKtYA9gAUF5mlIIdkLkNOBIbE5n9xOxU4= github.com/CMGS/statsd v0.0.0-20160223095033-48c421b3c1ab/go.mod h1:GJO3SGuPXm9A2hpQVV7/wlPr8oP9xxQluI8y99gQu60= +github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= +github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= +github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= +github.com/Microsoft/go-winio v0.4.14 h1:+hMXMk01us9KgxGb7ftKQt2Xpf5hH/yky+TDA+qxleU= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= +github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= +github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331 h1:3YnB7Hpmh1lPecPE8doMOtYCrMdrpedZOvxfuNES/Vk= github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= github.com/Microsoft/hcsshim v0.8.11 h1:qs8+XI1mFA1H/zhXT9qVG/lcJO18p1yCsICIrCjVXw8= @@ -28,7 +38,9 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alexcesaro/statsd v2.0.0+incompatible/go.mod h1:vNepIbQAiyLe1j480173M6NYYaAsGwEcvuDTU3OCUGY= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -43,6 +55,11 @@ github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmE github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= +github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe h1:PEmIrUvwG9Yyv+0WKZqjXfSFDeZjs/q15g0m08BYS9k= +github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59 h1:qWj4qVYZ95vLWwqyNJCQg7rDsG5wPdze0UaPolH7DUk= github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= @@ -64,6 +81,9 @@ github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7 github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf h1:CAKfRE2YtTUIjjh1bkBtyYFaUT/WmOqsJjgtihT0vMI= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= @@ -74,8 +94,10 @@ github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.0+incompatible h1:4g8Xjho+7quMwzsTrhtrWpdQU9UTc2rX57A3iALaBmE= @@ -89,17 +111,30 @@ github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDD github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4 h1:qk/FSDDxo05wdJH28W+p5yivv7LuLYLRXPPD8KQCtZs= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= +github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= +github.com/getsentry/sentry-go v0.9.0 h1:KIfpY/D9hX3gWAEd3d8z6ImuHNWtqEsjlpdF8zXFsHM= +github.com/getsentry/sentry-go v0.9.0/go.mod h1:kELm/9iCblqUYh+ZRML7PNdCvEuw24wBvJPYyi86cws= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= +github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= github.com/go-git/go-billy/v5 v5.0.0 h1:7NQHvd9FVid8VL4qVUMm8XifBK+2xCoZ2lSk0agRrHM= @@ -112,7 +147,11 @@ github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -137,6 +176,7 @@ github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:W github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -145,6 +185,7 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -156,23 +197,34 @@ github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc= github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c h1:Lh2aW+HnU2Nbe1gqD9SOJLJxW1jBMmQOktN2acDyJk8= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4 h1:z53tR0945TRRQO/fLEVPI6SMv7ZflF0TEaTAoU7tOzg= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.5 h1:UImYN5qQ8tuGpGE16ZmjvcTtTw24zw1QAp/SlnNrZhI= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/imdario/mergo v0.3.9 h1:UauaLniWCFHWd+Jp9oCEkTBj8VO/9DKg3PV3VCNMDIg= github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= +github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= +github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk= +github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g= +github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= @@ -182,15 +234,26 @@ github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= +github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8= +github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE= +github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE= +github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro= +github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8= github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd h1:Coekwdh0v2wtGp9Gmz1Ze3eVRAWJMLokvN3QjdzCHLY= github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= @@ -201,13 +264,24 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= +github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/moby/sys/mount v0.2.0 h1:WhCW5B355jtxndN5ovugJlMFJawbUODuW8fSnEH6SSM= github.com/moby/sys/mount v0.2.0/go.mod h1:aAivFE2LB3W4bACsUXChRHQ0qKWsetY4Y9V7sxOougM= github.com/moby/sys/mountinfo v0.4.0 h1:1KInV3Huv18akCu58V7lzNlt+jFmqlu1EaErnEHE/VM= @@ -220,14 +294,21 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= @@ -240,6 +321,8 @@ github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59P github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -273,10 +356,15 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.4.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sanity-io/litter v1.3.0 h1:5ZO+weUsqdSWMUng5JnpkW/Oz8iTXiIdeumhQr1sSjs= github.com/sanity-io/litter v1.3.0/go.mod h1:5Z71SvaYy5kcGtyglXOC9rrUi3c1E8CamFWjQsazTh0= +github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sethvargo/go-signalcontext v0.1.0 h1:3IU7HOlmRXF0PSDf85C4nJ/zjYDjF+DS+LufcKfLvyk= @@ -289,14 +377,21 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -308,15 +403,33 @@ github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8 h1:ndzgwNDnKIqyCvHTXaCqh9KlOWKvBry6nuXMJmonVsE= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo= github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli/v2 v2.2.0 h1:JTTnM6wKzdA0Jqodd966MVj4vWbbquZykeX1sKbe2C4= github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ= +github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/xanzy/ssh-agent v0.2.1 h1:TCbipTQL2JiiCprBWx9frJ2eJlCYT00NmctrHxVAr70= github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= +github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= +github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= +github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= go.etcd.io/bbolt v1.3.3 h1:MUGmc65QhB3pIlaQ5bB4LwqSj6GIonVJXpZiaKNyaKk= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.5.0-alpha.5.0.20200819165624-17cef6e3e9d5 h1:Gqga3zA9tdAcfqobUGjSoCob5L3f8Dt5EuOp3ihNZko= @@ -339,11 +452,14 @@ go.uber.org/zap v1.15.0 h1:ZZCA22JRF2gQE5FoNmhmrf7jeJJ2uhqDUNRYKm8dvmM= go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de h1:ikNHVSjEfnvz6sxdSPCaPt572qowuyMDMJLLm3Db3ig= @@ -379,6 +495,7 @@ golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -386,6 +503,8 @@ golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200319234117-63522dbf7eec/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -406,8 +525,10 @@ golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -415,7 +536,9 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -443,11 +566,14 @@ golang.org/x/time v0.0.0-20190921001708-c4c64cad1fd0/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -464,6 +590,7 @@ golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f h1:kDxGY2VmgABOe55qheT/TFqUMtcTHnomIPS1iv3G4Ms= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -511,6 +638,10 @@ gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= +gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= @@ -520,6 +651,7 @@ gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= diff --git a/log/log.go b/log/log.go new file mode 100644 index 000000000..f1e359d8a --- /dev/null +++ b/log/log.go @@ -0,0 +1,74 @@ +package log + +import ( + "fmt" + "os" + + "github.com/getsentry/sentry-go" + log "github.com/sirupsen/logrus" +) + +// SetupLog init logger +func SetupLog(l string) error { + level, err := log.ParseLevel(l) + if err != nil { + return err + } + log.SetLevel(level) + + formatter := &log.TextFormatter{ + TimestampFormat: "2006-01-02 15:04:05", + FullTimestamp: true, + } + log.SetFormatter(formatter) + log.SetOutput(os.Stdout) + return nil +} + +// Error forwards to sentry +func Error(args ...interface{}) { + sentry.CaptureMessage(fmt.Sprint(args...)) + log.Error(args...) +} + +// Errorf forwards to sentry +func Errorf(format string, args ...interface{}) { + sentry.CaptureMessage(fmt.Sprintf(format, args...)) + log.Errorf(format, args...) +} + +// Fatalf forwards to sentry +func Fatalf(format string, args ...interface{}) { + sentry.CaptureMessage(fmt.Sprintf(format, args...)) + log.Fatalf(format, args...) +} + +// Warn is Warn +func Warn(args ...interface{}) { + log.Warn(args...) +} + +// Warnf is Warnf +func Warnf(format string, args ...interface{}) { + log.Warnf(format, args...) +} + +// Info is Info +func Info(args ...interface{}) { + log.Info(args...) +} + +// Infof is Infof +func Infof(format string, args ...interface{}) { + log.Infof(format, args...) +} + +// Debug is Debug +func Debug(args ...interface{}) { + log.Debug(args...) +} + +// Debugf is Debugf +func Debugf(format string, args ...interface{}) { + log.Debugf(format, args...) +} diff --git a/metrics/handler.go b/metrics/handler.go index b7caf0876..7e5855c15 100644 --- a/metrics/handler.go +++ b/metrics/handler.go @@ -5,7 +5,7 @@ import ( "net/http" "github.com/projecteru2/core/cluster" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" ) // ResourceMiddleware to make sure update resource correct diff --git a/metrics/metrics.go b/metrics/metrics.go index 1e5ed87e5..e3415c469 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -5,10 +5,10 @@ import ( "os" statsdlib "github.com/CMGS/statsd" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" "github.com/prometheus/client_golang/prometheus" - log "github.com/sirupsen/logrus" ) const ( diff --git a/resources/scheduler.go b/resources/scheduler.go index 562594fff..88ed0fe11 100644 --- a/resources/scheduler.go +++ b/resources/scheduler.go @@ -3,10 +3,11 @@ package resources import ( "math" + "github.com/pkg/errors" + "github.com/projecteru2/core/log" resourcetypes "github.com/projecteru2/core/resources/types" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" ) // SelectNodesByResourceRequests select nodes by resource requests @@ -28,7 +29,7 @@ func SelectNodesByResourceRequests(resourceRequests resourcetypes.ResourceReques for _, resourceRequest := range resourceRequests { plan, subTotal, err := resourceRequest.MakeScheduler()(scheduleInfos) if err != nil { - return scheduleType, total, plans, err + return scheduleType, total, plans, errors.WithStack(err) } plans = append(plans, plan) total = utils.Min(total, subTotal) diff --git a/rpc/counter.go b/rpc/counter.go index 339f920ae..8fab7460c 100644 --- a/rpc/counter.go +++ b/rpc/counter.go @@ -1,7 +1,7 @@ package rpc import ( - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" ) // gRPC上全局的计数器 diff --git a/rpc/rpc.go b/rpc/rpc.go index b324d244b..61abd9f9a 100644 --- a/rpc/rpc.go +++ b/rpc/rpc.go @@ -11,10 +11,10 @@ import ( "time" "github.com/projecteru2/core/cluster" + "github.com/projecteru2/core/log" pb "github.com/projecteru2/core/rpc/gen" "github.com/projecteru2/core/types" "github.com/projecteru2/core/version" - log "github.com/sirupsen/logrus" "golang.org/x/net/context" ) diff --git a/rpc/transform.go b/rpc/transform.go index ecaeef814..b208fb45a 100644 --- a/rpc/transform.go +++ b/rpc/transform.go @@ -6,10 +6,10 @@ import ( "time" enginetypes "github.com/projecteru2/core/engine/types" + "github.com/projecteru2/core/log" pb "github.com/projecteru2/core/rpc/gen" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" "golang.org/x/net/context" ) diff --git a/scheduler/complex/cpu.go b/scheduler/complex/cpu.go index ff5c066e5..8daa06e0c 100644 --- a/scheduler/complex/cpu.go +++ b/scheduler/complex/cpu.go @@ -8,9 +8,9 @@ import ( "math" "sort" + "github.com/projecteru2/core/log" resourcetypes "github.com/projecteru2/core/resources/types" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) func min(a, b int) int { diff --git a/scheduler/complex/potassium.go b/scheduler/complex/potassium.go index 9d8113adc..b82c1e9d3 100644 --- a/scheduler/complex/potassium.go +++ b/scheduler/complex/potassium.go @@ -5,10 +5,11 @@ import ( "math" + "github.com/pkg/errors" + "github.com/projecteru2/core/log" resourcetypes "github.com/projecteru2/core/resources/types" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" ) // Potassium is a scheduler @@ -24,7 +25,7 @@ func New(config types.Config) (*Potassium, error) { // MaxIdleNode use for build func (m *Potassium) MaxIdleNode(nodes []*types.Node) (*types.Node, error) { if len(nodes) < 1 { - return nil, types.ErrInsufficientNodes + return nil, errors.WithStack(types.ErrInsufficientNodes) } pos := 0 node := nodes[pos] @@ -43,7 +44,7 @@ func (m *Potassium) MaxIdleNode(nodes []*types.Node) (*types.Node, error) { func (m *Potassium) SelectStorageNodes(scheduleInfos []resourcetypes.ScheduleInfo, storage int64) ([]resourcetypes.ScheduleInfo, int, error) { switch { case storage < 0: - return nil, 0, types.ErrNegativeStorage + return nil, 0, errors.WithStack(types.ErrNegativeStorage) case storage == 0: return scheduleInfos, math.MaxInt64, nil default: @@ -55,7 +56,7 @@ func (m *Potassium) SelectStorageNodes(scheduleInfos []resourcetypes.ScheduleInf sort.Slice(scheduleInfos, func(i, j int) bool { return scheduleInfos[i].StorageCap < scheduleInfos[j].StorageCap }) p := sort.Search(leng, func(i int) bool { return scheduleInfos[i].StorageCap >= storage }) if p == leng { - return nil, 0, types.ErrInsufficientStorage + return nil, 0, errors.WithStack(types.ErrInsufficientStorage) } scheduleInfos = scheduleInfos[p:] @@ -81,7 +82,7 @@ func (m *Potassium) SelectMemoryNodes(scheduleInfos []resourcetypes.ScheduleInfo }) // p 最大也就是 scheduleInfosLength - 1 if p == scheduleInfosLength { - return nil, 0, types.ErrInsufficientCPU + return nil, 0, errors.WithStack(types.ErrInsufficientCPU) } scheduleInfosLength -= p scheduleInfos = scheduleInfos[p:] @@ -90,7 +91,7 @@ func (m *Potassium) SelectMemoryNodes(scheduleInfos []resourcetypes.ScheduleInfo sort.Slice(scheduleInfos, func(i, j int) bool { return scheduleInfos[i].MemCap < scheduleInfos[j].MemCap }) p = sort.Search(scheduleInfosLength, func(i int) bool { return scheduleInfos[i].MemCap >= memory }) if p == scheduleInfosLength { - return nil, 0, types.ErrInsufficientMEM + return nil, 0, errors.WithStack(types.ErrInsufficientMEM) } scheduleInfos = scheduleInfos[p:] @@ -111,10 +112,10 @@ func (m *Potassium) SelectMemoryNodes(scheduleInfos []resourcetypes.ScheduleInfo func (m *Potassium) SelectCPUNodes(scheduleInfos []resourcetypes.ScheduleInfo, quota float64, memory int64) ([]resourcetypes.ScheduleInfo, map[string][]types.CPUMap, int, error) { log.Infof("[SelectCPUNodes] scheduleInfos %d, need cpu: %f memory: %d", len(scheduleInfos), quota, memory) if quota <= 0 { - return nil, nil, 0, types.ErrNegativeQuota + return nil, nil, 0, errors.WithStack(types.ErrNegativeQuota) } if len(scheduleInfos) == 0 { - return nil, nil, 0, types.ErrZeroNodes + return nil, nil, 0, errors.WithStack(types.ErrZeroNodes) } return cpuPriorPlan(quota, memory, scheduleInfos, m.maxshare, m.sharebase) } diff --git a/scheduler/complex/potassium_test.go b/scheduler/complex/potassium_test.go index 03c563015..7255aa8fd 100644 --- a/scheduler/complex/potassium_test.go +++ b/scheduler/complex/potassium_test.go @@ -8,6 +8,7 @@ import ( "math" "github.com/docker/go-units" + pkgerrors "github.com/pkg/errors" "github.com/projecteru2/core/resources" "github.com/projecteru2/core/resources/cpumem" resourcetypes "github.com/projecteru2/core/resources/types" @@ -943,12 +944,12 @@ func TestSelectMemoryNodesNotEnough(t *testing.T) { // 2 nodes [memory not enough] pod = generateNodes(2, 2, memory, 0, 10) _, _, err = SelectMemoryNodes(k, pod, nil, 1, 5*int64(units.GiB), 1, false) - assert.Equal(t, err, types.ErrInsufficientMEM) + assert.Equal(t, pkgerrors.Cause(err), types.ErrInsufficientMEM) // 2 nodes [cpu not enough] pod = generateNodes(2, 2, memory, 0, 10) _, _, err = SelectMemoryNodes(k, pod, nil, 1e10, 512*int64(units.MiB), 1, false) - assert.Equal(t, err, types.ErrInsufficientCPU) + assert.Equal(t, pkgerrors.Cause(err), types.ErrInsufficientCPU) } func TestSelectMemoryNodesSequence(t *testing.T) { @@ -1199,7 +1200,7 @@ func TestSelectStorageNodesNotEnough(t *testing.T) { assert.Equal(t, 4, scheduleInfos[0].Capacity) res, _, err := SelectStorageNodes(k, scheduleInfos, nil, int64(units.GiB), 1, false) - assert.Equal(t, types.ErrInsufficientStorage, err) + assert.Equal(t, types.ErrInsufficientStorage, pkgerrors.Cause(err)) assert.Nil(t, res) } diff --git a/scheduler/scheduler.go b/scheduler/scheduler.go index 3ab85cde1..3a2102ccd 100644 --- a/scheduler/scheduler.go +++ b/scheduler/scheduler.go @@ -34,7 +34,7 @@ func InitSchedulerV1(s Scheduler) { // GetSchedulerV1 . func GetSchedulerV1() (Scheduler, error) { if scheduler == nil { - return nil, errors.Errorf("potassium not initiated") + return nil, errors.WithStack(errors.Errorf("potassium not initiated")) } return scheduler, nil } diff --git a/source/common/common.go b/source/common/common.go index a420137ee..8b88065dd 100644 --- a/source/common/common.go +++ b/source/common/common.go @@ -13,8 +13,8 @@ import ( gogit "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/plumbing" gitssh "github.com/go-git/go-git/v5/plumbing/transport/ssh" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" "golang.org/x/crypto/ssh" ) diff --git a/store/etcdv3/deploy.go b/store/etcdv3/deploy.go index 1e958fcca..a8cdee652 100644 --- a/store/etcdv3/deploy.go +++ b/store/etcdv3/deploy.go @@ -5,9 +5,9 @@ import ( "path/filepath" "strings" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/strategy" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" "go.etcd.io/etcd/clientv3" ) diff --git a/store/etcdv3/mercury.go b/store/etcdv3/mercury.go index 5c2ba3b59..c50c8ba80 100644 --- a/store/etcdv3/mercury.go +++ b/store/etcdv3/mercury.go @@ -9,7 +9,7 @@ import ( "go.etcd.io/etcd/pkg/transport" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/lock" "github.com/projecteru2/core/lock/etcdlock" diff --git a/store/etcdv3/node.go b/store/etcdv3/node.go index 5773b9ed2..d2c7b70e4 100644 --- a/store/etcdv3/node.go +++ b/store/etcdv3/node.go @@ -11,10 +11,10 @@ import ( "github.com/projecteru2/core/store" enginefactory "github.com/projecteru2/core/engine/factory" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/metrics" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" "go.etcd.io/etcd/clientv3" "go.etcd.io/etcd/mvcc/mvccpb" ) diff --git a/store/etcdv3/processing.go b/store/etcdv3/processing.go index 4b5d64247..b5b1a4c14 100644 --- a/store/etcdv3/processing.go +++ b/store/etcdv3/processing.go @@ -9,9 +9,9 @@ import ( "github.com/sanity-io/litter" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/strategy" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" "go.etcd.io/etcd/clientv3" ) diff --git a/store/etcdv3/service.go b/store/etcdv3/service.go index 5ac237bc4..5c8620a97 100644 --- a/store/etcdv3/service.go +++ b/store/etcdv3/service.go @@ -6,7 +6,7 @@ import ( "strings" "time" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" "go.etcd.io/etcd/clientv3" "go.etcd.io/etcd/mvcc/mvccpb" ) diff --git a/store/etcdv3/workload.go b/store/etcdv3/workload.go index e86af4ff2..b731e95c4 100644 --- a/store/etcdv3/workload.go +++ b/store/etcdv3/workload.go @@ -7,9 +7,9 @@ import ( "context" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" "go.etcd.io/etcd/clientv3" "go.etcd.io/etcd/mvcc/mvccpb" ) diff --git a/strategy/average.go b/strategy/average.go index 803474f6f..17bfe6fff 100644 --- a/strategy/average.go +++ b/strategy/average.go @@ -4,8 +4,9 @@ import ( "fmt" "sort" + "github.com/pkg/errors" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // AveragePlan deploy workload each node @@ -15,13 +16,13 @@ func AveragePlan(strategyInfos []Info, need, total, limit int, resourceType type log.Debugf("[AveragePlan] need %d limit %d", need, limit) scheduleInfosLength := len(strategyInfos) if scheduleInfosLength < limit { - return nil, types.NewDetailedErr(types.ErrInsufficientRes, - fmt.Sprintf("node len %d < limit, cannot alloc an average node plan", scheduleInfosLength)) + return nil, errors.WithStack(types.NewDetailedErr(types.ErrInsufficientRes, + fmt.Sprintf("node len %d < limit, cannot alloc an average node plan", scheduleInfosLength))) } sort.Slice(strategyInfos, func(i, j int) bool { return strategyInfos[i].Capacity < strategyInfos[j].Capacity }) p := sort.Search(scheduleInfosLength, func(i int) bool { return strategyInfos[i].Capacity >= need }) if p == scheduleInfosLength { - return nil, types.ErrInsufficientCap + return nil, errors.WithStack(types.ErrInsufficientCap) } strategyInfos = scoreSort(strategyInfos[p:], resourceType) if limit > 0 { diff --git a/strategy/communism.go b/strategy/communism.go index c660d21b1..68a4659eb 100644 --- a/strategy/communism.go +++ b/strategy/communism.go @@ -4,16 +4,17 @@ import ( "fmt" "sort" + "github.com/pkg/errors" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // CommunismPlan 吃我一记共产主义大锅饭 // 部署完 N 个后全局尽可能平均 func CommunismPlan(arg []Info, need, total, limit int, resourceType types.ResourceType) (map[string]int, error) { if total < need { - return nil, types.NewDetailedErr(types.ErrInsufficientRes, - fmt.Sprintf("need: %d, vol: %d", need, total)) + return nil, errors.WithStack(types.NewDetailedErr(types.ErrInsufficientRes, + fmt.Sprintf("need: %d, vol: %d", need, total))) } sort.Slice(arg, func(i, j int) bool { return arg[i].Count < arg[j].Count }) length := len(arg) diff --git a/strategy/fill.go b/strategy/fill.go index 04f890df3..409192b14 100644 --- a/strategy/fill.go +++ b/strategy/fill.go @@ -4,8 +4,9 @@ import ( "fmt" "sort" + "github.com/pkg/errors" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) // FillPlan deploy workload each node @@ -15,13 +16,13 @@ func FillPlan(strategyInfos []Info, need, total, limit int, resourceType types.R log.Debugf("[FillPlan] need %d limit %d", need, limit) scheduleInfosLength := len(strategyInfos) if scheduleInfosLength < limit { - return nil, types.NewDetailedErr(types.ErrInsufficientRes, - fmt.Sprintf("node len %d cannot alloc a fill node plan", scheduleInfosLength)) + return nil, errors.WithStack(types.NewDetailedErr(types.ErrInsufficientRes, + fmt.Sprintf("node len %d cannot alloc a fill node plan", scheduleInfosLength))) } sort.Slice(strategyInfos, func(i, j int) bool { return strategyInfos[i].Count > strategyInfos[j].Count }) p := sort.Search(scheduleInfosLength, func(i int) bool { return strategyInfos[i].Count < need }) if p == scheduleInfosLength { - return nil, types.ErrAlreadyFilled + return nil, errors.WithStack(types.ErrAlreadyFilled) } strategyInfos = scoreSort(strategyInfos[p:], resourceType) if limit > 0 && len(strategyInfos) > limit { @@ -31,8 +32,8 @@ func FillPlan(strategyInfos []Info, need, total, limit int, resourceType types.R for i, strategyInfo := range strategyInfos { diff := need - strategyInfos[i].Count if strategyInfos[i].Capacity < diff { - return nil, types.NewDetailedErr(types.ErrInsufficientRes, - fmt.Sprintf("node %s cannot alloc a fill node plan", strategyInfos[i].Nodename)) + return nil, errors.WithStack(types.NewDetailedErr(types.ErrInsufficientRes, + fmt.Sprintf("node %s cannot alloc a fill node plan", strategyInfos[i].Nodename))) } strategyInfos[i].Capacity -= diff deployMap[strategyInfo.Nodename] += diff diff --git a/strategy/global.go b/strategy/global.go index b21ac482a..8fa0c18a0 100644 --- a/strategy/global.go +++ b/strategy/global.go @@ -3,17 +3,18 @@ package strategy import ( "fmt" + "github.com/pkg/errors" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" "github.com/projecteru2/core/utils" - log "github.com/sirupsen/logrus" ) // GlobalPlan 基于全局资源配额 // 尽量使得资源消耗平均 func GlobalPlan(strategyInfos []Info, need, total, limit int, resourceType types.ResourceType) (map[string]int, error) { if total < need { - return nil, types.NewDetailedErr(types.ErrInsufficientRes, - fmt.Sprintf("need: %d, vol: %d", need, total)) + return nil, errors.WithStack(types.NewDetailedErr(types.ErrInsufficientRes, + fmt.Sprintf("need: %d, vol: %d", need, total))) } strategyInfos = scoreSort(strategyInfos, resourceType) length := len(strategyInfos) diff --git a/types/config.go b/types/config.go index 6f715b6a3..84be4a8c7 100644 --- a/types/config.go +++ b/types/config.go @@ -22,6 +22,7 @@ type Config struct { Scheduler SchedConfig `yaml:"scheduler"` Virt VirtConfig `yaml:"virt"` Systemd SystemdConfig `yaml:"systemd"` + SentryDSN string `yaml:"sentry_dsn"` } // EtcdConfig holds eru-core etcd config diff --git a/utils/transaction.go b/utils/transaction.go index cb0222962..a686078cf 100644 --- a/utils/transaction.go +++ b/utils/transaction.go @@ -4,7 +4,7 @@ import ( "context" "time" - log "github.com/sirupsen/logrus" + "github.com/projecteru2/core/log" ) // ContextFunc . diff --git a/utils/utils.go b/utils/utils.go index 92adb1d68..a326d2aa8 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -12,8 +12,8 @@ import ( "strings" "github.com/projecteru2/core/cluster" + "github.com/projecteru2/core/log" "github.com/projecteru2/core/types" - log "github.com/sirupsen/logrus" ) const (