From 158d10c8583adb2db5fe8c9f8ac0fd9b53d7e636 Mon Sep 17 00:00:00 2001 From: darkweak Date: Sun, 7 Jul 2024 23:48:58 +0200 Subject: [PATCH] feat(chore): retrieve from uuid instead of name to have multiple storage instances concurrently --- .github/workflows/non-regression.yml | 2 +- Makefile | 22 +++ configurationtypes/types.go | 2 + docker-compose.yml.test | 7 + go.mod | 2 +- go.sum | 4 +- pkg/middleware/middleware.go | 23 ++- pkg/storage/defaultProvider.go | 5 + pkg/storage/types/types.go | 1 + pkg/surrogate/providers/common.go | 19 +-- plugins/beego/go.mod | 2 +- plugins/beego/go.sum | 4 +- plugins/caddy/dispatch.go | 139 ++++++++++++++++++ plugins/caddy/go.mod | 7 +- plugins/caddy/go.sum | 4 +- plugins/caddy/httpcache.go | 37 +---- plugins/chi/go.mod | 2 +- plugins/chi/go.sum | 4 +- plugins/dotweb/go.mod | 2 +- plugins/dotweb/go.sum | 4 +- plugins/echo/go.mod | 2 +- plugins/echo/go.sum | 4 +- plugins/fiber/go.mod | 2 +- plugins/fiber/go.sum | 4 +- plugins/gin/go.mod | 2 +- plugins/gin/go.sum | 4 +- plugins/go-zero/go.mod | 2 +- plugins/go-zero/go.sum | 4 +- plugins/goa/go.mod | 2 +- plugins/goa/go.sum | 4 +- plugins/goyave/go.mod | 2 +- plugins/goyave/go.sum | 4 +- plugins/hertz/go.mod | 2 +- plugins/hertz/go.sum | 4 +- plugins/kratos/go.mod | 2 +- plugins/kratos/go.sum | 4 +- plugins/roadrunner/go.mod | 2 +- plugins/roadrunner/go.sum | 4 +- plugins/skipper/go.mod | 2 +- plugins/skipper/go.sum | 4 +- plugins/traefik/go.mod | 2 +- plugins/traefik/go.sum | 4 +- .../github.com/darkweak/storages/core/core.go | 1 + .../darkweak/storages/core/registered.go | 7 +- plugins/traefik/vendor/modules.txt | 2 +- plugins/tyk/go.mod | 4 +- plugins/tyk/go.sum | 10 +- plugins/webgo/go.mod | 2 +- plugins/webgo/go.sum | 4 +- 49 files changed, 272 insertions(+), 116 deletions(-) create mode 100644 plugins/caddy/dispatch.go diff --git a/.github/workflows/non-regression.yml b/.github/workflows/non-regression.yml index aac5740b7..0c5e7ae40 100644 --- a/.github/workflows/non-regression.yml +++ b/.github/workflows/non-regression.yml @@ -36,7 +36,7 @@ jobs: - name: Run unit static tests run: go test -v validate-prod-container-building: - needs: unit-test-golang-with-services + needs: unit-test-golang name: Validate that the container build for prod runs-on: ubuntu-latest steps: diff --git a/Makefile b/Makefile index 8a8a0931b..bef610dbe 100644 --- a/Makefile +++ b/Makefile @@ -72,6 +72,28 @@ build-caddy: ## Build caddy binary --with github.com/darkweak/storages/otter/caddy \ --with github.com/darkweak/storages/redis/caddy +build-caddy-dev: ## Build caddy binary + cd plugins/caddy && \ + go mod tidy && \ + go mod download && \ + XCADDY_RACE_DETECTOR=1 XCADDY_DEBUG=1 xcaddy build \ + --with github.com/darkweak/souin/plugins/caddy=./ \ + --with github.com/darkweak/souin=../.. \ + --with github.com/darkweak/storages/badger/caddy=../../../storages/badger/caddy \ + --with github.com/darkweak/storages/etcd/caddy=../../../storages/etcd/caddy \ + --with github.com/darkweak/storages/nuts/caddy=../../../storages/nuts/caddy \ + --with github.com/darkweak/storages/olric/caddy=../../../storages/olric/caddy \ + --with github.com/darkweak/storages/otter/caddy=../../../storages/otter/caddy \ + --with github.com/darkweak/storages/redis/caddy=../../../storages/redis/caddy \ + --with github.com/darkweak/storages/badger=../../../storages/badger \ + --with github.com/darkweak/storages/etcd=../../../storages/etcd \ + --with github.com/darkweak/storages/nuts=../../../storages/nuts \ + --with github.com/darkweak/storages/olric=../../../storages/olric \ + --with github.com/darkweak/storages/otter=../../../storages/otter \ + --with github.com/darkweak/storages/redis=../../../storages/redis \ + --with github.com/darkweak/storages/core=../../../storages/core + cd plugins/caddy && ./caddy run + build-dev: env-dev ## Build containers with dev env vars $(DC_BUILD) souin $(MAKE) up diff --git a/configurationtypes/types.go b/configurationtypes/types.go index a300ab944..7848f518a 100644 --- a/configurationtypes/types.go +++ b/configurationtypes/types.go @@ -184,6 +184,8 @@ type URL struct { // CacheProvider config type CacheProvider struct { + // Uuid to identify a unique instance. + Uuid string // Found to determine if we can use that storage. Found bool `json:"found" yaml:"found"` // URL to connect to the storage system. diff --git a/docker-compose.yml.test b/docker-compose.yml.test index 93e1511b9..b60c6cfc6 100644 --- a/docker-compose.yml.test +++ b/docker-compose.yml.test @@ -55,6 +55,13 @@ services: command: redis-server <<: *networks + redis-insight: + image: redis/redisinsight:latest + volumes: + - ./redis-data:/data + ports: + - 5540:5540 + traefik: image: traefik:latest command: --providers.docker diff --git a/go.mod b/go.mod index 6ef9e753f..9200504b8 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.1 require ( github.com/caddyserver/caddy/v2 v2.8.4 github.com/cespare/xxhash/v2 v2.2.0 - github.com/darkweak/storages/core v0.0.3 + github.com/darkweak/storages/core v0.0.4 github.com/google/uuid v1.6.0 github.com/pierrec/lz4/v4 v4.1.21 github.com/pquerna/cachecontrol v0.2.0 diff --git a/go.sum b/go.sum index 484d71d7e..97df2cd7c 100644 --- a/go.sum +++ b/go.sum @@ -98,8 +98,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/darkweak/go-esi v0.0.5 h1:b9LHI8Tz46R+i6p8avKPHAIBRQUCZDebNmKm5w/Zrns= github.com/darkweak/go-esi v0.0.5/go.mod h1:koCJqwum1u6mslyZuq/Phm6hfG1K3ZK5Y7jrUBTH654= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= 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= diff --git a/pkg/middleware/middleware.go b/pkg/middleware/middleware.go index 224edbea1..febeef483 100644 --- a/pkg/middleware/middleware.go +++ b/pkg/middleware/middleware.go @@ -64,20 +64,27 @@ func NewHTTPCacheHandler(c configurationtypes.AbstractConfigurationInterface) *S } storedStorers := core.GetRegisteredStorers() - storers := make([]types.Storer, len(storedStorers)) - if len(storedStorers) == 0 { + storers := []types.Storer{} + if len(storedStorers) != 0 { + dc := c.GetDefaultCache() + for _, s := range []string{dc.GetBadger().Uuid, dc.GetEtcd().Uuid, dc.GetNuts().Uuid, dc.GetOlric().Uuid, dc.GetOtter().Uuid, dc.GetRedis().Uuid} { + if s != "" { + if st := core.GetRegisteredStorer(s); st != nil { + storers = append(storers, st.(types.Storer)) + } + } + } + } + if len(storers) == 0 { c.GetLogger().Warn("You're running Souin with the default storage that is not optimized and for development purpose. We recommend to use at least one of the storages from https://github.com/darkweak/storages") memoryStorer, _ := storage.Factory(c) core.RegisterStorage(memoryStorer) storers = append(storers, memoryStorer) - } else { - for id, storer := range storedStorers { - storers[id] = storer.(types.Storer) - } } - c.GetLogger().Debug("Storer initialized.") + + c.GetLogger().Sugar().Debugf("Storer initialized: %#v.", storers) regexpUrls := helpers.InitializeRegexp(c) - surrogateStorage := surrogate.InitializeSurrogate(c, storers[0].Name()) + surrogateStorage := surrogate.InitializeSurrogate(c, fmt.Sprintf("%s-%s", storers[0].Name(), storers[0].Uuid())) c.GetLogger().Debug("Surrogate storage initialized.") var excludedRegexp *regexp.Regexp = nil if c.GetDefaultCache().GetRegex().Exclude != "" { diff --git a/pkg/storage/defaultProvider.go b/pkg/storage/defaultProvider.go index 120fa2d4f..ae16da4c5 100644 --- a/pkg/storage/defaultProvider.go +++ b/pkg/storage/defaultProvider.go @@ -32,6 +32,11 @@ func (provider *Default) Name() string { return types.DefaultStorageName } +// Uuid returns an unique identifier +func (provider *Default) Uuid() string { + return "" +} + // MapKeys method returns a map with the key and value func (provider *Default) MapKeys(prefix string) map[string]string { keys := map[string]string{} diff --git a/pkg/storage/types/types.go b/pkg/storage/types/types.go index 2ebba32a8..eb9751bbe 100644 --- a/pkg/storage/types/types.go +++ b/pkg/storage/types/types.go @@ -18,6 +18,7 @@ type Storer interface { DeleteMany(key string) Init() error Name() string + Uuid() string Reset() error // Multi level storer to handle fresh/stale at once diff --git a/pkg/surrogate/providers/common.go b/pkg/surrogate/providers/common.go index 640d15651..e7130c39e 100644 --- a/pkg/surrogate/providers/common.go +++ b/pkg/surrogate/providers/common.go @@ -32,12 +32,13 @@ const ( ) var storageToInfiniteTTLMap = map[string]time.Duration{ - "BADGER": 365 * 24 * time.Hour, - "ETCD": 365 * 24 * time.Hour, - "NUTS": 0, - "OLRIC": 365 * 24 * time.Hour, - "OTTER": 365 * 24 * time.Hour, - "REDIS": -1, + "BADGER": 365 * 24 * time.Hour, + "ETCD": 365 * 24 * time.Hour, + "NUTS": 0, + "OLRIC": 365 * 24 * time.Hour, + "OTTER": 365 * 24 * time.Hour, + "REDIS": -1, + types.DefaultStorageName: -1, } func (s *baseStorage) ParseHeaders(value string) []string { @@ -103,15 +104,15 @@ func (s *baseStorage) init(config configurationtypes.AbstractConfigurationInterf if configuration, ok := config.GetSurrogateKeys()["_configuration"]; ok { storer := core.GetRegisteredStorer(configuration.SurrogateConfiguration.Storer) if storer == nil { - storer = core.GetRegisteredStorer(types.DefaultStorageName) + storer = core.GetRegisteredStorer(types.DefaultStorageName + "-") if storer == nil { - config.GetLogger().Sugar().Errorf("Impossible to retrieve the storers %s, nuts neither for the surrogate-keys", configuration.SurrogateConfiguration.Storer) + config.GetLogger().Sugar().Errorf("Impossible to retrieve the storers %s for the surrogate-keys from it's configuration", configuration.SurrogateConfiguration.Storer) } } s.Storage = storer } else { - storer := core.GetRegisteredStorer(strings.ToUpper(defaultStorerName)) + storer := core.GetRegisteredStorer(defaultStorerName) if storer == nil { config.GetLogger().Sugar().Errorf("Impossible to retrieve the storers %s for the surrogate-keys", defaultStorerName) } diff --git a/plugins/beego/go.mod b/plugins/beego/go.mod index cb376dd94..55fd01024 100644 --- a/plugins/beego/go.mod +++ b/plugins/beego/go.mod @@ -41,7 +41,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.5 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/beego/go.sum b/plugins/beego/go.sum index 75101a1ac..ca5645470 100644 --- a/plugins/beego/go.sum +++ b/plugins/beego/go.sum @@ -143,8 +143,8 @@ github.com/darkweak/go-esi v0.0.5 h1:b9LHI8Tz46R+i6p8avKPHAIBRQUCZDebNmKm5w/Zrns github.com/darkweak/go-esi v0.0.5/go.mod h1:koCJqwum1u6mslyZuq/Phm6hfG1K3ZK5Y7jrUBTH654= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/caddy/dispatch.go b/plugins/caddy/dispatch.go new file mode 100644 index 000000000..11fed0123 --- /dev/null +++ b/plugins/caddy/dispatch.go @@ -0,0 +1,139 @@ +package httpcache + +import ( + "fmt" + "strconv" + + "github.com/caddyserver/caddy/v2" +) + +func (s *SouinCaddyMiddleware) parseStorages(ctx caddy.Context) { + if s.Configuration.DefaultCache.Badger.Found { + e := dispatchStorage(ctx, "badger", s.Configuration.DefaultCache.Badger, s.Configuration.DefaultCache.GetStale()) + if e != nil { + s.logger.Sugar().Errorf("Error during Badger init, did you include the Badger storage (--with github.com/darkweak/storages/badger/caddy)? %v", e) + } else { + badger := s.Configuration.DefaultCache.Badger + dir := "" + vdir := "" + if c := badger.Configuration; c != nil { + p, ok := c.(map[string]interface{}) + if ok { + if d, ok := p["Dir"]; ok { + dir = fmt.Sprint(d) + vdir = fmt.Sprint(d) + } + if d, ok := p["ValueDir"]; ok { + vdir = fmt.Sprint(d) + } + } + } + s.Configuration.DefaultCache.Badger.Uuid = fmt.Sprintf( + "BADGER-%s-%s-%s", + dir, + vdir, + s.Configuration.DefaultCache.GetStale(), + ) + } + } + if s.Configuration.DefaultCache.Etcd.Found { + e := dispatchStorage(ctx, "etcd", s.Configuration.DefaultCache.Etcd, s.Configuration.DefaultCache.GetStale()) + if e != nil { + s.logger.Sugar().Errorf("Error during Etcd init, did you include the Etcd storage (--with github.com/darkweak/storages/etcd/caddy)? %v", e) + } else { + etcd := s.Configuration.DefaultCache.Etcd + endpoints := etcd.URL + username := "" + password := "" + if c := etcd.Configuration; c != nil { + p, ok := c.(map[string]interface{}) + if ok { + if d, ok := p["Endpoints"]; ok { + endpoints = fmt.Sprint(d) + } + if d, ok := p["Username"]; ok { + username = fmt.Sprint(d) + } + if d, ok := p["Password"]; ok { + password = fmt.Sprint(d) + } + } + } + s.Configuration.DefaultCache.Etcd.Uuid = fmt.Sprintf( + "ETCD-%s-%s-%s-%s", + endpoints, + username, + password, + s.Configuration.DefaultCache.GetStale(), + ) + } + } + if s.Configuration.DefaultCache.Nuts.Found { + e := dispatchStorage(ctx, "nuts", s.Configuration.DefaultCache.Nuts, s.Configuration.DefaultCache.GetStale()) + if e != nil { + s.logger.Sugar().Errorf("Error during Nuts init, did you include the Nuts storage (--with github.com/darkweak/storages/nuts/caddy)? %v", e) + } else { + nuts := s.Configuration.DefaultCache.Nuts + dir := "/tmp/souin-nuts" + if c := nuts.Configuration; c != nil { + p, ok := c.(map[string]interface{}) + if ok { + if d, ok := p["Dir"]; ok { + dir = fmt.Sprint(d) + } + } + } else if nuts.Path != "" { + dir = nuts.Path + } + s.Configuration.DefaultCache.Nuts.Uuid = fmt.Sprintf("NUTS-%s-%s", dir, s.Configuration.DefaultCache.GetStale()) + } + } + if s.Configuration.DefaultCache.Olric.Found { + e := dispatchStorage(ctx, "olric", s.Configuration.DefaultCache.Olric, s.Configuration.DefaultCache.GetStale()) + if e != nil { + s.logger.Sugar().Errorf("Error during Olric init, did you include the Olric storage (--with github.com/darkweak/storages/olric/caddy)? %v", e) + } else { + s.Configuration.DefaultCache.Nuts.Uuid = fmt.Sprintf("OLRIC-%s-%s", s.Configuration.DefaultCache.Olric.URL, s.Configuration.DefaultCache.GetStale()) + } + } + if s.Configuration.DefaultCache.Otter.Found { + e := dispatchStorage(ctx, "otter", s.Configuration.DefaultCache.Otter, s.Configuration.DefaultCache.GetStale()) + if e != nil { + s.logger.Sugar().Errorf("Error during Otter init, did you include the Otter storage (--with github.com/darkweak/storages/otter/caddy)? %v", e) + } else { + s.Configuration.DefaultCache.Otter.Uuid = fmt.Sprintf("OTTER-%s", s.Configuration.DefaultCache.GetStale()) + } + } + if s.Configuration.DefaultCache.Redis.Found { + e := dispatchStorage(ctx, "redis", s.Configuration.DefaultCache.Redis, s.Configuration.DefaultCache.GetStale()) + if e != nil { + s.logger.Sugar().Errorf("Error during Redis init, did you include the Redis storage (--with github.com/darkweak/storages/redis/caddy)? %v", e) + } else { + redis := s.Configuration.DefaultCache.Redis + address := redis.URL + dbname := 0 + cname := "souin-redis" + if c := redis.Configuration; c != nil { + p, ok := c.(map[string]interface{}) + if ok { + if d, ok := p["ClientName"]; ok { + cname = fmt.Sprint(d) + } + if d, ok := p["InitAddress"]; ok { + address = fmt.Sprint(d) + } + if d, ok := p["SelectDB"]; ok { + dbname, _ = strconv.Atoi(fmt.Sprint(d)) + } + } + } + s.Configuration.DefaultCache.Redis.Uuid = fmt.Sprintf( + "REDIS-%s-%d-%s-%s", + address, + dbname, + cname, + s.Configuration.DefaultCache.GetStale(), + ) + } + } +} diff --git a/plugins/caddy/go.mod b/plugins/caddy/go.mod index c593cd213..30eb9a1a2 100644 --- a/plugins/caddy/go.mod +++ b/plugins/caddy/go.mod @@ -5,7 +5,7 @@ go 1.22.1 require ( github.com/caddyserver/caddy/v2 v2.8.4 github.com/darkweak/souin v1.6.49 - github.com/darkweak/storages/core v0.0.3 + github.com/darkweak/storages/core v0.0.4 go.uber.org/zap v1.27.0 ) @@ -153,4 +153,7 @@ require ( howett.net/plist v1.0.0 // indirect ) -replace github.com/darkweak/souin v1.6.49 => ../.. +replace ( + github.com/darkweak/souin v1.6.49 => ../.. + github.com/darkweak/storages => ../../../storages +) diff --git a/plugins/caddy/go.sum b/plugins/caddy/go.sum index 19620c162..41a97e859 100644 --- a/plugins/caddy/go.sum +++ b/plugins/caddy/go.sum @@ -109,8 +109,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/darkweak/go-esi v0.0.5 h1:b9LHI8Tz46R+i6p8avKPHAIBRQUCZDebNmKm5w/Zrns= github.com/darkweak/go-esi v0.0.5/go.mod h1:koCJqwum1u6mslyZuq/Phm6hfG1K3ZK5Y7jrUBTH654= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= 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= diff --git a/plugins/caddy/httpcache.go b/plugins/caddy/httpcache.go index 0363c7ac4..b94bc2f24 100644 --- a/plugins/caddy/httpcache.go +++ b/plugins/caddy/httpcache.go @@ -246,42 +246,7 @@ func (s *SouinCaddyMiddleware) Provision(ctx caddy.Context) error { return err } - if s.Configuration.DefaultCache.Badger.Found { - e := dispatchStorage(ctx, "badger", s.Configuration.DefaultCache.Badger, s.Configuration.DefaultCache.GetStale()) - if e != nil { - s.logger.Sugar().Errorf("Error during Badger init, did you include the Badger storage (--with github.com/darkweak/storages/badger/caddy)? %v", e) - } - } - if s.Configuration.DefaultCache.Etcd.Found { - e := dispatchStorage(ctx, "etcd", s.Configuration.DefaultCache.Etcd, s.Configuration.DefaultCache.GetStale()) - if e != nil { - s.logger.Sugar().Errorf("Error during Etcd init, did you include the Etcd storage (--with github.com/darkweak/storages/etcd/caddy)? %v", e) - } - } - if s.Configuration.DefaultCache.Nuts.Found { - e := dispatchStorage(ctx, "nuts", s.Configuration.DefaultCache.Nuts, s.Configuration.DefaultCache.GetStale()) - if e != nil { - s.logger.Sugar().Errorf("Error during Nuts init, did you include the Nuts storage (--with github.com/darkweak/storages/nuts/caddy)? %v", e) - } - } - if s.Configuration.DefaultCache.Olric.Found { - e := dispatchStorage(ctx, "olric", s.Configuration.DefaultCache.Olric, s.Configuration.DefaultCache.GetStale()) - if e != nil { - s.logger.Sugar().Errorf("Error during Olric init, did you include the Olric storage (--with github.com/darkweak/storages/olric/caddy)? %v", e) - } - } - if s.Configuration.DefaultCache.Otter.Found { - e := dispatchStorage(ctx, "otter", s.Configuration.DefaultCache.Otter, s.Configuration.DefaultCache.GetStale()) - if e != nil { - s.logger.Sugar().Errorf("Error during Otter init, did you include the Otter storage (--with github.com/darkweak/storages/otter/caddy)? %v", e) - } - } - if s.Configuration.DefaultCache.Redis.Found { - e := dispatchStorage(ctx, "redis", s.Configuration.DefaultCache.Redis, s.Configuration.DefaultCache.GetStale()) - if e != nil { - s.logger.Sugar().Errorf("Error during Redis init, did you include the Redis storage (--with github.com/darkweak/storages/redis/caddy)? %v", e) - } - } + s.parseStorages(ctx) bh := middleware.NewHTTPCacheHandler(&s.Configuration) surrogates, ok := up.LoadOrStore(surrogate_key, bh.SurrogateKeyStorer) diff --git a/plugins/chi/go.mod b/plugins/chi/go.mod index 517b45489..1850d67d7 100644 --- a/plugins/chi/go.mod +++ b/plugins/chi/go.mod @@ -38,7 +38,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.6 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/chi/go.sum b/plugins/chi/go.sum index e3074afae..255e1c577 100644 --- a/plugins/chi/go.sum +++ b/plugins/chi/go.sum @@ -141,8 +141,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/dotweb/go.mod b/plugins/dotweb/go.mod index a5e06ce1b..134cf6e51 100644 --- a/plugins/dotweb/go.mod +++ b/plugins/dotweb/go.mod @@ -38,7 +38,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.6 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/dotweb/go.sum b/plugins/dotweb/go.sum index f8cc8e3bc..0aa26c71a 100644 --- a/plugins/dotweb/go.sum +++ b/plugins/dotweb/go.sum @@ -141,8 +141,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/echo/go.mod b/plugins/echo/go.mod index 62fc48384..c5aaa1fe3 100644 --- a/plugins/echo/go.mod +++ b/plugins/echo/go.mod @@ -5,7 +5,7 @@ go 1.22.1 require ( github.com/darkweak/souin v1.6.49 github.com/darkweak/souin/plugins/souin/storages v0.0.0-00010101000000-000000000000 - github.com/darkweak/storages/core v0.0.3 + github.com/darkweak/storages/core v0.0.4 github.com/labstack/echo/v4 v4.11.1 ) diff --git a/plugins/echo/go.sum b/plugins/echo/go.sum index 5a4c25c85..d9f17ea84 100644 --- a/plugins/echo/go.sum +++ b/plugins/echo/go.sum @@ -141,8 +141,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/fiber/go.mod b/plugins/fiber/go.mod index 670ca3edb..6d4f485c2 100644 --- a/plugins/fiber/go.mod +++ b/plugins/fiber/go.mod @@ -40,7 +40,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.6 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/fiber/go.sum b/plugins/fiber/go.sum index e66b037ff..430e54129 100644 --- a/plugins/fiber/go.sum +++ b/plugins/fiber/go.sum @@ -143,8 +143,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/gin/go.mod b/plugins/gin/go.mod index 233acf399..ceaedc711 100644 --- a/plugins/gin/go.mod +++ b/plugins/gin/go.mod @@ -41,7 +41,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.6 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/gin/go.sum b/plugins/gin/go.sum index 9c5027b3c..18201046b 100644 --- a/plugins/gin/go.sum +++ b/plugins/gin/go.sum @@ -151,8 +151,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/go-zero/go.mod b/plugins/go-zero/go.mod index bee7ecded..b80a58b02 100644 --- a/plugins/go-zero/go.mod +++ b/plugins/go-zero/go.mod @@ -39,7 +39,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.5 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/go-zero/go.sum b/plugins/go-zero/go.sum index 4f37e7f54..6a2ad9dcf 100644 --- a/plugins/go-zero/go.sum +++ b/plugins/go-zero/go.sum @@ -143,8 +143,8 @@ github.com/darkweak/go-esi v0.0.5 h1:b9LHI8Tz46R+i6p8avKPHAIBRQUCZDebNmKm5w/Zrns github.com/darkweak/go-esi v0.0.5/go.mod h1:koCJqwum1u6mslyZuq/Phm6hfG1K3ZK5Y7jrUBTH654= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/goa/go.mod b/plugins/goa/go.mod index b6b01bcdf..6af58df52 100644 --- a/plugins/goa/go.mod +++ b/plugins/goa/go.mod @@ -5,7 +5,7 @@ go 1.22.1 require ( github.com/darkweak/souin v1.6.49 github.com/darkweak/souin/plugins/souin/storages v0.0.0-00010101000000-000000000000 - github.com/darkweak/storages/core v0.0.3 + github.com/darkweak/storages/core v0.0.4 goa.design/goa/v3 v3.12.3 ) diff --git a/plugins/goa/go.sum b/plugins/goa/go.sum index 355d2077d..06f1fe7ea 100644 --- a/plugins/goa/go.sum +++ b/plugins/goa/go.sum @@ -141,8 +141,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/goyave/go.mod b/plugins/goyave/go.mod index fd8fdd381..c0bf47dc9 100644 --- a/plugins/goyave/go.mod +++ b/plugins/goyave/go.mod @@ -39,7 +39,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.6 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/goyave/go.sum b/plugins/goyave/go.sum index 761f05b80..0b517e252 100644 --- a/plugins/goyave/go.sum +++ b/plugins/goyave/go.sum @@ -143,8 +143,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/hertz/go.mod b/plugins/hertz/go.mod index d7f821e8a..2bc7087cd 100644 --- a/plugins/hertz/go.mod +++ b/plugins/hertz/go.mod @@ -33,7 +33,7 @@ require ( github.com/coreos/go-systemd/v22 v22.5.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/hertz/go.sum b/plugins/hertz/go.sum index 7cfb2982a..6065db020 100644 --- a/plugins/hertz/go.sum +++ b/plugins/hertz/go.sum @@ -155,8 +155,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/kratos/go.mod b/plugins/kratos/go.mod index 4aa6d466c..b8defe6fb 100644 --- a/plugins/kratos/go.mod +++ b/plugins/kratos/go.mod @@ -39,7 +39,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.6 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/kratos/go.sum b/plugins/kratos/go.sum index ebf1373b0..bc3fab29f 100644 --- a/plugins/kratos/go.sum +++ b/plugins/kratos/go.sum @@ -141,8 +141,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/roadrunner/go.mod b/plugins/roadrunner/go.mod index 1db68ee23..202196687 100644 --- a/plugins/roadrunner/go.mod +++ b/plugins/roadrunner/go.mod @@ -41,7 +41,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.6 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/roadrunner/go.sum b/plugins/roadrunner/go.sum index 2616ffd85..572c2758b 100644 --- a/plugins/roadrunner/go.sum +++ b/plugins/roadrunner/go.sum @@ -141,8 +141,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/skipper/go.mod b/plugins/skipper/go.mod index 1b5d7698a..f2d63f32e 100644 --- a/plugins/skipper/go.mod +++ b/plugins/skipper/go.mod @@ -48,7 +48,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.6 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/skipper/go.sum b/plugins/skipper/go.sum index c6ded4730..d046583a0 100644 --- a/plugins/skipper/go.sum +++ b/plugins/skipper/go.sum @@ -175,8 +175,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU= diff --git a/plugins/traefik/go.mod b/plugins/traefik/go.mod index 6e79e3ba5..e7c13be20 100644 --- a/plugins/traefik/go.mod +++ b/plugins/traefik/go.mod @@ -22,7 +22,7 @@ require ( github.com/caddyserver/zerossl v0.1.3 // indirect github.com/chzyer/readline v1.5.1 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/dgraph-io/badger v1.6.2 // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect diff --git a/plugins/traefik/go.sum b/plugins/traefik/go.sum index fe6cd9da4..9e0c33508 100644 --- a/plugins/traefik/go.sum +++ b/plugins/traefik/go.sum @@ -100,8 +100,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/darkweak/go-esi v0.0.5 h1:b9LHI8Tz46R+i6p8avKPHAIBRQUCZDebNmKm5w/Zrns= github.com/darkweak/go-esi v0.0.5/go.mod h1:koCJqwum1u6mslyZuq/Phm6hfG1K3ZK5Y7jrUBTH654= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= 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= diff --git a/plugins/traefik/vendor/github.com/darkweak/storages/core/core.go b/plugins/traefik/vendor/github.com/darkweak/storages/core/core.go index c560149e5..ad1fd159a 100644 --- a/plugins/traefik/vendor/github.com/darkweak/storages/core/core.go +++ b/plugins/traefik/vendor/github.com/darkweak/storages/core/core.go @@ -35,6 +35,7 @@ type Storer interface { DeleteMany(key string) Init() error Name() string + Uuid() string Reset() error // Multi level storer to handle fresh/stale at once diff --git a/plugins/traefik/vendor/github.com/darkweak/storages/core/registered.go b/plugins/traefik/vendor/github.com/darkweak/storages/core/registered.go index d2a583573..136a58e73 100644 --- a/plugins/traefik/vendor/github.com/darkweak/storages/core/registered.go +++ b/plugins/traefik/vendor/github.com/darkweak/storages/core/registered.go @@ -1,11 +1,14 @@ package core -import "sync" +import ( + "fmt" + "sync" +) var registered = sync.Map{} func RegisterStorage(s Storer) { - registered.Store(s.Name(), s) + registered.Store(fmt.Sprintf("%s-%s", s.Name(), s.Uuid()), s) } func GetRegisteredStorer(name string) Storer { diff --git a/plugins/traefik/vendor/modules.txt b/plugins/traefik/vendor/modules.txt index 8ec5196dd..fdd1f0222 100644 --- a/plugins/traefik/vendor/modules.txt +++ b/plugins/traefik/vendor/modules.txt @@ -81,7 +81,7 @@ github.com/darkweak/souin/pkg/storage/types github.com/darkweak/souin/pkg/surrogate github.com/darkweak/souin/pkg/surrogate/providers github.com/darkweak/souin/tests -# github.com/darkweak/storages/core v0.0.3 +# github.com/darkweak/storages/core v0.0.4 ## explicit; go 1.22.1 github.com/darkweak/storages/core # github.com/dgraph-io/badger v1.6.2 diff --git a/plugins/tyk/go.mod b/plugins/tyk/go.mod index 59893e469..f51021810 100644 --- a/plugins/tyk/go.mod +++ b/plugins/tyk/go.mod @@ -37,7 +37,7 @@ require ( github.com/clbanning/mxj v1.8.4 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.5 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dgraph-io/badger v1.6.2 // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect @@ -172,7 +172,7 @@ require ( golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6 // indirect - google.golang.org/grpc v1.63.2 // indirect + google.golang.org/grpc v1.64.0 // indirect google.golang.org/protobuf v1.34.1 // indirect gopkg.in/cenkalti/backoff.v1 v1.1.0 // indirect gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect diff --git a/plugins/tyk/go.sum b/plugins/tyk/go.sum index d73441df5..700a8daad 100644 --- a/plugins/tyk/go.sum +++ b/plugins/tyk/go.sum @@ -16,7 +16,7 @@ cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRk cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= -cloud.google.com/go/compute v1.24.0 h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg= +cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= @@ -243,8 +243,8 @@ github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/darkweak/go-esi v0.0.5 h1:b9LHI8Tz46R+i6p8avKPHAIBRQUCZDebNmKm5w/Zrns= github.com/darkweak/go-esi v0.0.5/go.mod h1:koCJqwum1u6mslyZuq/Phm6hfG1K3ZK5Y7jrUBTH654= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= github.com/dave/jennifer v1.4.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -1541,8 +1541,8 @@ google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= -google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= google.golang.org/grpc/examples v0.0.0-20220317213542-f95b001a48df/go.mod h1:wKDg0brwMZpaizQ1i7IzYcJjH1TmbJudYdnQC9+J+LE= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= diff --git a/plugins/webgo/go.mod b/plugins/webgo/go.mod index cdf7b65da..5bbfdec87 100644 --- a/plugins/webgo/go.mod +++ b/plugins/webgo/go.mod @@ -38,7 +38,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/darkweak/go-esi v0.0.6 // indirect github.com/darkweak/storages/badger v0.0.3 // indirect - github.com/darkweak/storages/core v0.0.3 // indirect + github.com/darkweak/storages/core v0.0.4 // indirect github.com/darkweak/storages/etcd v0.0.3 // indirect github.com/darkweak/storages/nuts v0.0.3 // indirect github.com/darkweak/storages/olric v0.0.3 // indirect diff --git a/plugins/webgo/go.sum b/plugins/webgo/go.sum index f05796710..fc329b23c 100644 --- a/plugins/webgo/go.sum +++ b/plugins/webgo/go.sum @@ -143,8 +143,8 @@ github.com/darkweak/go-esi v0.0.6 h1:eVHCJfqrZwOHPfRK7JTlSYG9F8lfpX/d4lz/41RQkd8 github.com/darkweak/go-esi v0.0.6/go.mod h1:IJSayeQZDUh5R5ayyDC3wUEBykti12aUa0eUxZZeodk= github.com/darkweak/storages/badger v0.0.3 h1:AHphbQLCdcy+THYLpcjUAk6pKZjmXiQEyusfeCiT+BA= github.com/darkweak/storages/badger v0.0.3/go.mod h1:eBSVGwo5TucdDg1qPlyKlJ2Wqga/GA2IQ78A1Nbkffo= -github.com/darkweak/storages/core v0.0.3 h1:kTO7CZgVjWCA9HM0uiip4qe/NqEIBD36hHxorh+0dPM= -github.com/darkweak/storages/core v0.0.3/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= +github.com/darkweak/storages/core v0.0.4 h1:rpFTiN+CHwdlXThS28mRpvsSfuMVqWcOe/xtC5A2AQg= +github.com/darkweak/storages/core v0.0.4/go.mod h1:wLp1cOAB4WUd46BBOtV4Lwot4GD+8fZbtIw6QM7fYuc= github.com/darkweak/storages/etcd v0.0.3 h1:/Nfxl2eULXQpFDME9C6wQPBIRRUb1Su2St8kboiJ0Vs= github.com/darkweak/storages/etcd v0.0.3/go.mod h1:A8ZclVAGUwMMvO+jey8clugULbpMsYmIkLyohVovodE= github.com/darkweak/storages/nuts v0.0.3 h1:rAupsGwKskQzCOqmgnvX3UjWPz7IR3HXyOiu94/xqlU=