Skip to content

Commit

Permalink
Add logm package. (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
ibrt authored Dec 15, 2024
1 parent 0cd5317 commit 6b080d7
Show file tree
Hide file tree
Showing 26 changed files with 3,886 additions and 26 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
# golang-modules
[![Go Reference](https://pkg.go.dev/badge/github.com/ibrt/golang-modules.svg)](https://pkg.go.dev/github.com/ibrt/golang-modules)
[![CI](https://github.com/ibrt/golang-modules/actions/workflows/ci.yml/badge.svg)](https://github.com/ibrt/golang-modules/actions/workflows/ci.yml)
[![codecov](https://codecov.io/github/ibrt/golang-modules/branch/main/graph/badge.svg?token=96DEYB5CZ9)](https://codecov.io/github/ibrt/golang-modules)

Reusable modules for building services in Go.

### Developers

Contributions are welcome, please check in on proposed implementation before sending a PR. You can validate your changes
by running `./validate.sh` from the root of the repo.
1 change: 1 addition & 0 deletions cfgm/cfg.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// Package cfgm implements a configuration module.
package cfgm

import (
Expand Down
65 changes: 55 additions & 10 deletions cfgm/cfg_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@ package cfgm_test

import (
"context"
"os"
"testing"

"github.com/ibrt/golang-utils/errorz"
"github.com/ibrt/golang-utils/envz"
"github.com/ibrt/golang-utils/fixturez"
. "github.com/onsi/gomega"

Expand All @@ -25,7 +24,7 @@ type TestConfigMixin interface {
}

type TestConfigMixinImpl struct {
MixinKey string `env:"MIXIN_KEY_EC2B754B,required"`
MixinKey string `env:"MIXIN_KEY_EC2B754B,notEmpty"`
}

func (*TestConfigMixinImpl) Config() {
Expand All @@ -37,7 +36,7 @@ func (v *TestConfigMixinImpl) GetMixin() *TestConfigMixinImpl {
}

type TestConfig struct {
Key string `env:"KEY_EC2B754B,required"`
Key string `env:"KEY_EC2B754B,notEmpty"`
TestConfigMixinImpl
}

Expand All @@ -50,14 +49,16 @@ type Suite struct {
}

func TestSuite(t *testing.T) {
errorz.MaybeMustWrap(os.Setenv("TEST_KEY_EC2B754B", "Value"))
errorz.MaybeMustWrap(os.Setenv("TEST_MIXIN_KEY_EC2B754B", "MixinValue"))

fixturez.RunSuite(t, &Suite{
CFG: &tcfgm.Helper[*TestConfig]{
ConfigLoader: cfgm.MustNewEnvConfigLoader[*TestConfig](&cfgm.EnvConfigLoaderOptions{
Prefix: "TEST_",
}),
ConfigLoader: func(ctx context.Context) (*TestConfig, error) {
return &TestConfig{
Key: "Value",
TestConfigMixinImpl: TestConfigMixinImpl{
MixinKey: "MixinValue",
},
}, nil
},
},
})
}
Expand All @@ -78,3 +79,47 @@ func (*Suite) TestMustGet(ctx context.Context, g *WithT) {
cfgm.MustGet[cfgm.Config](ctx)
}).ToNot(Panic())
}

func (*Suite) TestEnvConfigLoader(ctx context.Context, g *WithT) {
envz.WithEnv(
map[string]string{
"TEST_KEY_EC2B754B": "Value",
"TEST_MIXIN_KEY_EC2B754B": "MixinValue",
},
func() {
cfg, err := cfgm.MustNewEnvConfigLoader[*TestConfig](&cfgm.EnvConfigLoaderOptions{Prefix: "TEST_"})(ctx)
g.Expect(err).ToNot(HaveOccurred())
g.Expect(cfg).To(Equal(&TestConfig{
Key: "Value",
TestConfigMixinImpl: TestConfigMixinImpl{
MixinKey: "MixinValue",
},
}))
})

envz.WithEnv(
map[string]string{
"KEY_EC2B754B": "Value",
"MIXIN_KEY_EC2B754B": "MixinValue",
},
func() {
cfg, err := cfgm.MustNewEnvConfigLoader[*TestConfig](nil)(ctx)
g.Expect(err).ToNot(HaveOccurred())
g.Expect(cfg).To(Equal(&TestConfig{
Key: "Value",
TestConfigMixinImpl: TestConfigMixinImpl{
MixinKey: "MixinValue",
},
}))
})

envz.WithEnv(
map[string]string{
"KEY_EC2B754B": "",
"MIXIN_KEY_EC2B754B": "",
},
func() {
_, err := cfgm.MustNewEnvConfigLoader[*TestConfig](nil)(ctx)
g.Expect(err).To(MatchError("env: environment variable \"KEY_EC2B754B\" should not be empty; environment variable \"MIXIN_KEY_EC2B754B\" should not be empty"))
})
}
1 change: 1 addition & 0 deletions clkm/clk.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// Package clkm implements a clock module.
package clkm

import (
Expand Down
27 changes: 16 additions & 11 deletions clkm/tclkm/clk.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,38 +26,43 @@ type RealHelper struct {
releaser injectz.Releaser
}

// BeforeSuite implements fixturez.BeforeSuite.
// BeforeSuite implements [fixturez.BeforeSuite].
func (h *RealHelper) BeforeSuite(ctx context.Context, _ *gomega.WithT) context.Context {
injector, releaser := clkm.Initializer(ctx)
h.releaser = releaser
return injector(ctx)
}

// AfterSuite implements fixturez.AfterSuite.
// AfterSuite implements [fixturez.AfterSuite].
func (h *RealHelper) AfterSuite(_ context.Context, _ *gomega.WithT) {
h.releaser()
h.releaser = nil
}

// MockHelper is a test helper.
type MockHelper struct {
Mock *clock.Mock
mock *clock.Mock
}

// BeforeSuite implements fixturez.BeforeSuite.
// BeforeSuite implements [fixturez.BeforeSuite].
func (h *MockHelper) BeforeSuite(ctx context.Context, _ *gomega.WithT) context.Context {
h.Mock = clock.NewMock()
h.Mock.Set(time.Now())
return clkm.NewSingletonInjector(h.Mock)(ctx)
h.mock = clock.NewMock()
h.mock.Set(time.Now())
return clkm.NewSingletonInjector(h.mock)(ctx)
}

// AfterSuite implements fixturez.AfterSuite.
// AfterSuite implements [fixturez.AfterSuite].
func (h *MockHelper) AfterSuite(_ context.Context, _ *gomega.WithT) {
h.Mock = nil
h.mock = nil
}

// BeforeTest implements fixturez.BeforeTest.
// BeforeTest implements [fixturez.BeforeTest].
func (h *MockHelper) BeforeTest(ctx context.Context, _ *gomega.WithT, _ *gomock.Controller) context.Context {
h.Mock.Set(time.Now().UTC())
h.mock.Set(time.Now().UTC())
return ctx
}

// GetMock returns the mock.
func (h *MockHelper) GetMock() *clock.Mock {
return h.mock
}
4 changes: 2 additions & 2 deletions clkm/tclkm/clk_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func (s *RealSuite) TestRealHelper(ctx context.Context, g *WithT) {
}

type MockSuite struct {
Clock *tclkm.MockHelper
CLK *tclkm.MockHelper
}

func TestMockSuite(t *testing.T) {
Expand All @@ -35,6 +35,6 @@ func TestMockSuite(t *testing.T) {

func (s *MockSuite) TestMockHelper(ctx context.Context, g *WithT) {
now := time.Now().Add(-time.Minute)
s.Clock.Mock.Set(now)
s.CLK.GetMock().Set(now)
g.Expect(clkm.MustGet(ctx).Now()).To(Equal(now))
}
17 changes: 16 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,30 @@ go 1.23
require (
github.com/benbjohnson/clock v1.3.5
github.com/caarlos0/env/v11 v11.2.2
github.com/ibrt/golang-utils v0.8.0
github.com/honeycombio/libhoney-go v1.24.0
github.com/ibrt/golang-utils v0.10.0
github.com/onsi/gomega v1.36.1
github.com/sirupsen/logrus v1.9.3
go.uber.org/mock v0.5.0
)

require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a // indirect
github.com/facebookgo/limitgroup v0.0.0-20150612190941-6abd8d71ec01 // indirect
github.com/facebookgo/muster v0.0.0-20150708232844-fd3d7953fd52 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/klauspost/compress v1.17.9 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/rodaine/table v1.3.0 // indirect
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
golang.org/x/net v0.32.0 // indirect
golang.org/x/sys v0.28.0 // indirect
golang.org/x/text v0.21.0 // indirect
gopkg.in/alexcesaro/statsd.v2 v2.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
62 changes: 60 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,9 +1,26 @@
github.com/DataDog/zstd v1.5.6 h1:LbEglqepa/ipmmQJUDnSsfvA8e8IStVcGaFWDuxvGOY=
github.com/DataDog/zstd v1.5.6/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw=
github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o=
github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/caarlos0/env/v11 v11.2.2 h1:95fApNrUyueipoZN/EhA8mMxiNxrBwDa+oAZrMWl3Kg=
github.com/caarlos0/env/v11 v11.2.2/go.mod h1:JBfcdeQiBoI3Zh1QRAWfe+tpiNTmDtcCj/hHHHMx0vc=
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/facebookgo/clock v0.0.0-20150410010913-600d898af40a h1:yDWHCSQ40h88yih2JAcL6Ls/kVkSE8GFACTGVnMPruw=
github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a/go.mod h1:7Ga40egUymuWXxAe151lTNnCv97MddSOVsjpPPkityA=
github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0=
github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64=
github.com/facebookgo/limitgroup v0.0.0-20150612190941-6abd8d71ec01 h1:IeaD1VDVBPlx3viJT9Md8if8IxxJnO+x0JCGb054heg=
github.com/facebookgo/limitgroup v0.0.0-20150612190941-6abd8d71ec01/go.mod h1:ypD5nozFk9vcGw1ATYefw6jHe/jZP++Z15/+VTMcWhc=
github.com/facebookgo/muster v0.0.0-20150708232844-fd3d7953fd52 h1:a4DFiKFJiDRGFD1qIcqGLX/WlUMD9dyLSLDt+9QZgt8=
github.com/facebookgo/muster v0.0.0-20150708232844-fd3d7953fd52/go.mod h1:yIquW87NGRw1FU5p5lEkpnt/QxoH5uPAOUlOVkAUuMg=
github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A=
github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg=
github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk=
github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
Expand All @@ -12,23 +29,64 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 h1:5iH8iuqE5apketRbSFBy+X1V0o+l+8NF1avt4HWl7cA=
github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/ibrt/golang-utils v0.8.0 h1:gZ/ECjSoOZJIS6PJ83dSbU0fGN5Efobl5XTO7Cy/fzY=
github.com/ibrt/golang-utils v0.8.0/go.mod h1:KQF3oD7IWvTri0Plm/tAVwppoh16f4r8zGO+FCMzyiA=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/honeycombio/libhoney-go v1.24.0 h1:PPgVrd8FOiQeL24FOEuhF9SFA3oDgaA/AU/Agu2ZKkA=
github.com/honeycombio/libhoney-go v1.24.0/go.mod h1:oW9gF/appfQoDjtXfcfH5hp5v3F0xpTy42+NBRCYk9k=
github.com/ibrt/golang-utils v0.10.0 h1:ntyERVySjMYEv4HLxWRpdUHVNqm1n6DU4722rsiCyEs=
github.com/ibrt/golang-utils v0.10.0/go.mod h1:KQF3oD7IWvTri0Plm/tAVwppoh16f4r8zGO+FCMzyiA=
github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/onsi/ginkgo/v2 v2.20.1 h1:YlVIbqct+ZmnEph770q9Q7NVAz4wwIiVNahee6JyUzo=
github.com/onsi/ginkgo/v2 v2.20.1/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI=
github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw=
github.com/onsi/gomega v1.36.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rodaine/table v1.3.0 h1:4/3S3SVkHnVZX91EHFvAMV7K42AnJ0XuymRR2C5HlGE=
github.com/rodaine/table v1.3.0/go.mod h1:47zRsHar4zw0jgxGxL9YtFfs7EGN6B/TaS+/Dmk4WxU=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8=
github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok=
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU=
go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM=
golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI=
golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
gopkg.in/alexcesaro/statsd.v2 v2.0.0 h1:FXkZSCZIH17vLCO5sO2UucTHsH9pc+17F6pl3JVCwMc=
gopkg.in/alexcesaro/statsd.v2 v2.0.0/go.mod h1:i0ubccKGzBVNBpdGV5MocxyA/XlLUJzA7SLonnE4drU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
Loading

0 comments on commit 6b080d7

Please sign in to comment.