From 1d673d3f13d7c442abc0baf7a191983cbb729a29 Mon Sep 17 00:00:00 2001 From: Thomas Hipp Date: Thu, 6 Mar 2025 09:28:18 +0100 Subject: [PATCH 1/4] gomod: Update dependencies This ignores the following dependencies due to errors we ran into: * github.com/bsm/redislock * github.com/dave/jennifer --- go.mod | 101 +++++++++--------- go.sum | 319 +++++++++++++++++++++++++++++++-------------------------- 2 files changed, 230 insertions(+), 190 deletions(-) diff --git a/go.mod b/go.mod index 65ea9519..4d9ac873 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/pace/bricks -go 1.23.1 +go 1.24.1 replace github.com/asaskevich/govalidator => github.com/pieceofsoul/govalidator v0.0.0-20230607103513-8dce951b10b8 @@ -9,78 +9,85 @@ require ( github.com/adjust/rmq/v5 v5.2.0 github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d github.com/bsm/redislock v0.9.3 - github.com/caarlos0/env/v10 v10.0.0 + github.com/caarlos0/env/v11 v11.3.1 github.com/certifi/gocertifi v0.0.0-20210507211836-431795d63e8d github.com/dave/jennifer v1.4.1 - github.com/getkin/kin-openapi v0.0.0-20180813063848-e1956e8013e5 - github.com/getsentry/sentry-go v0.29.0 - github.com/go-kivik/couchdb/v3 v3.2.6 - github.com/go-kivik/kivik/v3 v3.2.3 + github.com/getkin/kin-openapi v0.129.0 + github.com/getsentry/sentry-go v0.31.1 + github.com/go-kivik/kivik/v4 v4.3.3 github.com/golang-jwt/jwt/v5 v5.2.1 github.com/google/uuid v1.6.0 github.com/gorilla/mux v1.8.1 github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 - github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.0 + github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1 github.com/jpillora/backoff v1.0.0 github.com/mattn/go-isatty v0.0.20 - github.com/minio/minio-go/v7 v7.0.7 + github.com/minio/minio-go/v7 v7.0.87 github.com/pkg/errors v0.9.1 - github.com/pmezard/go-difflib v1.0.0 - github.com/prometheus/client_golang v1.19.0 - github.com/redis/go-redis/v9 v9.5.1 - github.com/rs/xid v1.5.0 + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 + github.com/prometheus/client_golang v1.21.1 + github.com/redis/go-redis/v9 v9.7.1 + github.com/rs/xid v1.6.0 github.com/rs/zerolog v1.33.0 - github.com/shopspring/decimal v1.3.1 - github.com/sony/gobreaker v0.5.0 - github.com/spf13/cobra v1.8.1 + github.com/shopspring/decimal v1.4.0 + github.com/sony/gobreaker/v2 v2.1.0 + github.com/spf13/cobra v1.9.1 github.com/stretchr/testify v1.10.0 - github.com/uptrace/bun v1.2.9 - github.com/uptrace/bun/dialect/pgdialect v1.2.9 - github.com/uptrace/bun/driver/pgdriver v1.2.9 + github.com/uptrace/bun v1.2.11 + github.com/uptrace/bun/dialect/pgdialect v1.2.11 + github.com/uptrace/bun/driver/pgdriver v1.2.11 github.com/zenazn/goji v1.0.1 - golang.org/x/text v0.22.0 - google.golang.org/grpc v1.67.1 - google.golang.org/protobuf v1.36.4 + golang.org/x/text v0.23.0 + google.golang.org/grpc v1.71.0 + google.golang.org/protobuf v1.36.5 ) require ( github.com/alicebob/gopher-json v0.0.0-20230218143504-906a9b012302 // indirect - github.com/alicebob/miniredis/v2 v2.30.4 // indirect + github.com/alicebob/miniredis/v2 v2.34.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect - github.com/ghodss/yaml v1.0.0 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/go-ini/ini v1.67.0 // indirect + github.com/go-openapi/jsonpointer v0.21.0 // indirect + github.com/go-openapi/swag v0.23.0 // indirect + github.com/go-redsync/redsync/v4 v4.13.0 // indirect + github.com/goccy/go-json v0.10.5 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jinzhu/inflection v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/cpuid v1.3.1 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/klauspost/compress v1.18.0 // indirect + github.com/klauspost/cpuid/v2 v2.2.10 // indirect + github.com/mailru/easyjson v0.9.0 // indirect github.com/mattn/go-colorable v0.1.14 // indirect - github.com/minio/md5-simd v1.1.0 // indirect - github.com/minio/sha256-simd v0.1.1 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/otiai10/copy v1.14.0 // indirect - github.com/prometheus/client_model v0.5.0 // indirect - github.com/prometheus/common v0.48.0 // indirect - github.com/prometheus/procfs v0.12.0 // indirect - github.com/puzpuzpuz/xsync/v3 v3.5.0 // indirect + github.com/minio/crc64nvme v1.0.1 // indirect + github.com/minio/md5-simd v1.1.2 // indirect + github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect + github.com/oasdiff/yaml v0.0.0-20241214135536-5f7845c759c8 // indirect + github.com/oasdiff/yaml3 v0.0.0-20241214160948-977117996672 // indirect + github.com/perimeterx/marshmallow v1.1.5 // indirect + github.com/prometheus/client_model v0.6.1 // indirect + github.com/prometheus/common v0.62.0 // indirect + github.com/prometheus/procfs v0.15.1 // indirect + github.com/puzpuzpuz/xsync/v3 v3.5.1 // indirect github.com/rogpeppe/go-internal v1.13.1 // indirect - github.com/spf13/pflag v1.0.5 // indirect + github.com/spf13/pflag v1.0.6 // indirect github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - github.com/yuin/gopher-lua v1.1.0 // indirect - go.opentelemetry.io/otel v1.34.0 // indirect - go.opentelemetry.io/otel/trace v1.34.0 // indirect - golang.org/x/crypto v0.33.0 // indirect - golang.org/x/net v0.35.0 // indirect - golang.org/x/sys v0.30.0 // indirect - golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect - gopkg.in/ini.v1 v1.67.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect + github.com/yuin/gopher-lua v1.1.1 // indirect + go.opentelemetry.io/otel v1.35.0 // indirect + go.opentelemetry.io/otel/trace v1.35.0 // indirect + golang.org/x/crypto v0.36.0 // indirect + golang.org/x/net v0.37.0 // indirect + golang.org/x/sync v0.12.0 // indirect + golang.org/x/sys v0.31.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb // indirect gopkg.in/yaml.v3 v3.0.1 // indirect mellium.im/sasl v0.3.2 // indirect ) diff --git a/go.sum b/go.sum index d8ad2c20..00db3e7c 100644 --- a/go.sum +++ b/go.sum @@ -1,15 +1,17 @@ -bou.ke/monkey v1.0.1/go.mod h1:FgHuK96Rv2Nlf+0u1OOVDpCMdsWyOFmeeketDHE7LIg= -cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= -cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= +cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I= +cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= +github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= +github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/PuerkitoBio/rehttp v1.4.0 h1:rIN7A2s+O9fmHUM1vUcInvlHj9Ysql4hE+Y0wcl/xk8= github.com/PuerkitoBio/rehttp v1.4.0/go.mod h1:LUwKPoDbDIA2RL5wYZCNsQ90cx4OJ4AWBmq6KzWZL1s= github.com/adjust/rmq/v5 v5.2.0 h1:ENPC+3i8N/LAvAfHpEpTMVl7q8zmwh4nl+hhxkao6KE= github.com/adjust/rmq/v5 v5.2.0/go.mod h1:FfA6MzYJHeLbuATsNYaZYZaISyxxADDXQLN9QBroFCw= -github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= github.com/alicebob/gopher-json v0.0.0-20230218143504-906a9b012302 h1:uvdUDbHQHO85qeSydJtItA4T55Pw6BtAejd0APRJOCE= github.com/alicebob/gopher-json v0.0.0-20230218143504-906a9b012302/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= -github.com/alicebob/miniredis/v2 v2.30.4 h1:8S4/o1/KoUArAGbGwPxcwf0krlzceva2XVOSchFS7Eo= -github.com/alicebob/miniredis/v2 v2.30.4/go.mod h1:b25qWj4fCEsBeAAR2mlb0ufImGC6uH3VlUfb/HS5zKg= +github.com/alicebob/miniredis/v2 v2.33.0 h1:uvTF0EDeu9RLnUEG27Db5I68ESoIxTiXbNUiji6lZrA= +github.com/alicebob/miniredis/v2 v2.33.0/go.mod h1:MhP4a3EU7aENRi9aO+tHfTBZicLqQevyi/DJpoj6mi0= +github.com/alicebob/miniredis/v2 v2.34.0 h1:mBFWMaJSNL9RwdGRyEDoAAv8OQc5UlEhLDQggTglU/0= +github.com/alicebob/miniredis/v2 v2.34.0/go.mod h1:kWShP4b58T1CW0Y5dViCd5ztzrDqRWqM3nksiyXk5s8= github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0 h1:0NmehRCgyk5rljDQLKUO+cRJCnduDyn11+zGZIc9Z48= github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0/go.mod h1:6L7zgvqo0idzI7IO8de6ZC051AfXb5ipkIJ7bIA2tGA= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= @@ -22,213 +24,254 @@ github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= github.com/bsm/redislock v0.9.3 h1:osmvugkXGiLDEhzUPdM0EUtKpTEgLLuli4Ky2Z4vx38= github.com/bsm/redislock v0.9.3/go.mod h1:Epf7AJLiSFwLCiZcfi6pWFO/8eAYrYpQXFxEDPoDeAk= -github.com/caarlos0/env/v10 v10.0.0 h1:yIHUBZGsyqCnpTkbjk8asUlx6RFhhEs+h7TOBdgdzXA= -github.com/caarlos0/env/v10 v10.0.0/go.mod h1:ZfulV76NvVPw3tm591U4SwL3Xx9ldzBP9aGxzeN7G18= +github.com/bsm/redislock v0.9.4 h1:X/Wse1DPpiQgHbVYRE9zv6m070UcKoOGekgvpNhiSvw= +github.com/bsm/redislock v0.9.4/go.mod h1:Epf7AJLiSFwLCiZcfi6pWFO/8eAYrYpQXFxEDPoDeAk= +github.com/caarlos0/env/v11 v11.3.1 h1:cArPWC15hWmEt+gWk7YBi7lEXTXCvpaSdCiZE2X5mCA= +github.com/caarlos0/env/v11 v11.3.1/go.mod h1:qupehSf/Y0TUTsxKywqRt/vJjN5nz6vauiYEUUr8P4U= +github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/certifi/gocertifi v0.0.0-20210507211836-431795d63e8d h1:S2NE3iHSwP0XV47EEXL8mWmRdEfGscSJ+7EgePNgt0s= github.com/certifi/gocertifi v0.0.0-20210507211836-431795d63e8d/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/dave/jennifer v1.4.1 h1:XyqG6cn5RQsTj3qlWQTKlRGAyrTcsk1kUmWdZBzRjDw= github.com/dave/jennifer v1.4.1/go.mod h1:7jEdnm+qBcxl8PC0zyp7vxcpSRnzXSt9r39tpTVGlwA= +github.com/dave/jennifer v1.7.1 h1:B4jJJDHelWcDhlRQxWeo0Npa/pYKBLrirAQoTN45txo= +github.com/dave/jennifer v1.7.1/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc= 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/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/flimzy/diff v0.1.5/go.mod h1:lFJtC7SPsK0EroDmGTSrdtWKAxOk3rO+q+e04LL05Hs= -github.com/flimzy/testy v0.1.17-0.20190521133342-95b386c3ece6/go.mod h1:3szguN8NXqgq9bt9Gu8TQVj698PJWmyx/VY1frwwKrM= -github.com/getkin/kin-openapi v0.0.0-20180813063848-e1956e8013e5 h1:gXUMwj0PndSd+Ub1PptoPX0nAwrrS8/SVFTJwOIzjyk= -github.com/getkin/kin-openapi v0.0.0-20180813063848-e1956e8013e5/go.mod h1:+0ZtELZf+SlWH8ZdA/IeFb3L/PKOKJx8eGxAlUZ/sOU= -github.com/getsentry/sentry-go v0.29.0 h1:YtWluuCFg9OfcqnaujpY918N/AhCCwarIDWOYSBAjCA= -github.com/getsentry/sentry-go v0.29.0/go.mod h1:jhPesDAL0Q0W2+2YEuVOvdWmVtdsr1+jtBrlDEVWwLY= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/getkin/kin-openapi v0.129.0 h1:QGYTNcmyP5X0AtFQ2Dkou9DGBJsUETeLH9rFrJXZh30= +github.com/getkin/kin-openapi v0.129.0/go.mod h1:gmWI+b/J45xqpyK5wJmRRZse5wefA5H0RDMK46kLUtI= +github.com/getsentry/sentry-go v0.31.1 h1:ELVc0h7gwyhnXHDouXkhqTFSO5oslsRDk0++eyE0KJ4= +github.com/getsentry/sentry-go v0.31.1/go.mod h1:CYNcMMz73YigoHljQRG+qPF+eMq8gG72XcGN/p71BAY= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= -github.com/go-kivik/couchdb/v3 v3.2.6 h1:IzoAH5K7jsY1BFNibtdjAoPXRmm3rdQKJGjDMzXMvok= -github.com/go-kivik/couchdb/v3 v3.2.6/go.mod h1:tUgf+ftTYkkNPyHskJW2O+6I1NUQvg7ucooVvhPQcxg= -github.com/go-kivik/kivik/v3 v3.0.1/go.mod h1:7tmQDvkta/pcijpUjLMsQ9HJUELiKD5zm6jQ3Gb9cxE= -github.com/go-kivik/kivik/v3 v3.2.0/go.mod h1:chqVuHKAU9j2C7qL0cAH2FCO26oL+0B4aIBeCRMnLa8= -github.com/go-kivik/kivik/v3 v3.2.3 h1:ZFGR3hMDa+AUmPUCQxq4da3+3C4awdFQwdOtjLS+MxM= -github.com/go-kivik/kivik/v3 v3.2.3/go.mod h1:chqVuHKAU9j2C7qL0cAH2FCO26oL+0B4aIBeCRMnLa8= -github.com/go-kivik/kiviktest/v3 v3.0.3 h1:4zX1F1eLTbIvyKiylzdWDgPqofJWiuQzQhKwZwUXMB0= -github.com/go-kivik/kiviktest/v3 v3.0.3/go.mod h1:sqsz3M2sJxTxAUdOj+2SU21y4phcpYc0FJIn+hbf1D0= +github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= +github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-kivik/kivik/v4 v4.3.3 h1:ytHKVdfFa8/DJnWaMhapgTB9NOFeXQLmYs6SABGw5yM= +github.com/go-kivik/kivik/v4 v4.3.3/go.mod h1:eKsqlGVaAdQJhHjA1tkcZNODrZE843yrB+tmHHmsLJU= +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-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= +github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= +github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= +github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= +github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= +github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= +github.com/go-redis/redis/v7 v7.4.1 h1:PASvf36gyUpr2zdOUS/9Zqc80GbM+9BDyiJSJDDOrTI= +github.com/go-redis/redis/v7 v7.4.1/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= +github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI= +github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= +github.com/go-redsync/redsync/v4 v4.13.0 h1:49X6GJfnbLGaIpBBREM/zA4uIMDXKAh1NDkvQ1EkZKA= +github.com/go-redsync/redsync/v4 v4.13.0/go.mod h1:HMW4Q224GZQz6x1Xc7040Yfgacukdzu7ifTDAKiyErQ= +github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= +github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= +github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/gomodule/redigo v1.8.9 h1:Sl3u+2BI/kk+VEatbj0scLdrFhjPmbxOc1myhDP41ws= +github.com/gomodule/redigo v1.8.9/go.mod h1:7ArFNvsTjH8GMMzB4uy1snslv2BwmginuMs06a1uzZE= 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/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 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/gopherjs/gopherjs v0.0.0-20180825215210-0210a2f0f73c/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 h1:l5lAOZEym3oK3SQ2HBHWsJUfbNBiTXJDeW2QDxw9AQ0= -github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= +github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 h1:qnpSQwGEnkcRpTqNOIR6bJbR0gAorgP9CSALpRcKoAA= github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1/go.mod h1:lXGCsh6c22WGtjr+qGHj1otzZpV/1kwTMAqkwZsnWRU= github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.0 h1:FbSCl+KggFl+Ocym490i/EyXF4lPgLoUtcSWquBM0Rs= github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.0/go.mod h1:qOchhhIlmRcqk/O9uCo/puJlyo07YINaIqdZfZG3Jkc= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1 h1:KcFzXwzM/kGhIRHvc8jdixfIJjVzuUJdnv+5xsPutog= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1/go.mod h1:qOchhhIlmRcqk/O9uCo/puJlyo07YINaIqdZfZG3Jkc= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/icza/dyno v0.0.0-20230330125955-09f820a8d9c0 h1:nHoRIX8iXob3Y2kdt9KsjyIb7iApSvb3vgsd93xb5Ow= +github.com/icza/dyno v0.0.0-20230330125955-09f820a8d9c0/go.mod h1:c1tRKs5Tx7E2+uHGSyyncziFjvGpgv4H2HrqXeUQ/Uk= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/cpuid v1.3.1 h1:5JNjFYYQrZeKRJ0734q51WCEEn2huer72Dc7K+R/b6s= -github.com/klauspost/cpuid v1.3.1/go.mod h1:bYW4mA6ZgKPob1/Dlai2LviZJO7KGI3uoWLd42rAQw4= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= +github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= +github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= +github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/cpuid/v2 v2.2.9 h1:66ze0taIn2H33fBvCkXuv9BmCwDfafmiIVpKV9kKGuY= +github.com/klauspost/cpuid/v2 v2.2.9/go.mod h1:rqkxqrZ1EhYM9G+hXH7YdowN5R5RGN6NK4QwQ3WMXF8= +github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE= +github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= +github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= 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.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/minio/md5-simd v1.1.0 h1:QPfiOqlZH+Cj9teu0t9b1nTBfPbyTl16Of5MeuShdK4= -github.com/minio/md5-simd v1.1.0/go.mod h1:XpBqgZULrMYD3R+M28PcmP0CkI7PEMzB3U77ZrKZ0Gw= -github.com/minio/minio-go/v7 v7.0.7 h1:Qld/xb8C1Pwbu0jU46xAceyn9xXKCMW+3XfNbpmTB70= -github.com/minio/minio-go/v7 v7.0.7/go.mod h1:pEZBUa+L2m9oECoIA6IcSK8bv/qggtQVLovjeKK5jYc= -github.com/minio/sha256-simd v0.1.1 h1:5QHSlgo3nt5yKOJrC7W8w7X+NFl8cMPZm96iu8kKUJU= -github.com/minio/sha256-simd v0.1.1/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= -github.com/minio/sio v0.2.1/go.mod h1:8b0yPp2avGThviy/+OCJBI6OMpvxoUuiLvE6F1lebhw= -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/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/otiai10/copy v1.0.2/go.mod h1:c7RpqBkwMom4bYTSkLSym4VSJz/XtncWRAj/J4PEIMY= -github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU= -github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w= -github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= -github.com/otiai10/curr v0.0.0-20190513014714-f5a3d24e5776/go.mod h1:3HNVkVOU7vZeFXocWuvtcS0XSFLcf2XUSDHkq9t1jU4= -github.com/otiai10/mint v1.2.4/go.mod h1:d+b7n/0R3tdyUYYylALXpWQ/kTN+QobSq/4SRGBkR3M= -github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= +github.com/minio/crc64nvme v1.0.1 h1:DHQPrYPdqK7jQG/Ls5CTBZWeex/2FMS3G5XGkycuFrY= +github.com/minio/crc64nvme v1.0.1/go.mod h1:eVfm2fAzLlxMdUGc0EEBGSMmPwmXD5XiNRpnu9J3bvg= +github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= +github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM= +github.com/minio/minio-go/v7 v7.0.87 h1:nkr9x0u53PespfxfUqxP3UYWiE2a41gaofgNnC4Y8WQ= +github.com/minio/minio-go/v7 v7.0.87/go.mod h1:33+O8h0tO7pCeCWwBVa07RhVVfB/3vS4kEX7rwYKmIg= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/oasdiff/yaml v0.0.0-20241210131133-6b86fb107d80 h1:nZspmSkneBbtxU9TopEAE0CY+SBJLxO8LPUlw2vG4pU= +github.com/oasdiff/yaml v0.0.0-20241210131133-6b86fb107d80/go.mod h1:7tFDb+Y51LcDpn26GccuUgQXUk6t0CXZsivKjyimYX8= +github.com/oasdiff/yaml v0.0.0-20241214135536-5f7845c759c8 h1:9djga8U4+/TQzv5iMlZHZ/qbGQB9V2nlnk2bmiG+uBs= +github.com/oasdiff/yaml v0.0.0-20241214135536-5f7845c759c8/go.mod h1:7tFDb+Y51LcDpn26GccuUgQXUk6t0CXZsivKjyimYX8= +github.com/oasdiff/yaml3 v0.0.0-20241210130736-a94c01f36349 h1:t05Ww3DxZutOqbMN+7OIuqDwXbhl32HiZGpLy26BAPc= +github.com/oasdiff/yaml3 v0.0.0-20241210130736-a94c01f36349/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o= +github.com/oasdiff/yaml3 v0.0.0-20241214160948-977117996672 h1:+273wgr7to5QhwOOBE5LwjdNDFAI+8cbJVfB0Zj75aI= +github.com/oasdiff/yaml3 v0.0.0-20241214160948-977117996672/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o= +github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s= +github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw= github.com/pieceofsoul/govalidator v0.0.0-20230607103513-8dce951b10b8 h1:cQraHfaehYYI/SZydx2eEgv6N4bS6jYbkLdY7i8m++s= github.com/pieceofsoul/govalidator v0.0.0-20230607103513-8dce951b10b8/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -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/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= -github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= -github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= -github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= -github.com/prometheus/common v0.48.0 h1:QO8U2CdOzSn1BBsmXJXduaaW+dY/5QLjfB8svtSzKKE= -github.com/prometheus/common v0.48.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc= -github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= -github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v1.21.1 h1:DOvXXTqVzvkIewV/CDPFdejpMCGeMcbGCQ8YOmu+Ibk= +github.com/prometheus/client_golang v1.21.1/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= +github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= +github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= +github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/puzpuzpuz/xsync/v3 v3.5.0 h1:i+cMcpEDY1BkNm7lPDkCtE4oElsYLn+EKF8kAu2vXT4= github.com/puzpuzpuz/xsync/v3 v3.5.0/go.mod h1:VjzYrABPabuM4KyBh1Ftq6u8nhwY5tBPKP9jpmh0nnA= -github.com/redis/go-redis/v9 v9.5.1 h1:H1X4D3yHPaYrkL5X06Wh6xNVM/pX0Ft4RV0vMGvLBh8= -github.com/redis/go-redis/v9 v9.5.1/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M= +github.com/puzpuzpuz/xsync/v3 v3.5.1 h1:GJYJZwO6IdxN/IKbneznS6yPkVC+c3zyY/j19c++5Fg= +github.com/puzpuzpuz/xsync/v3 v3.5.1/go.mod h1:VjzYrABPabuM4KyBh1Ftq6u8nhwY5tBPKP9jpmh0nnA= +github.com/redis/go-redis/v9 v9.7.1 h1:4LhKRCIduqXqtvCUlaq9c8bdHOkICjDMrr1+Zb3osAc= +github.com/redis/go-redis/v9 v9.7.1/go.mod h1:f6zhXITC7JUJIlPEiBOTXxJgPLdZcA93GewI7inzyWw= +github.com/redis/rueidis v1.0.19 h1:s65oWtotzlIFN8eMPhyYwxlwLR1lUdhza2KtWprKYSo= +github.com/redis/rueidis v1.0.19/go.mod h1:8B+r5wdnjwK3lTFml5VtxjzGOQAC+5UmujoD12pDrEo= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/xid v1.6.0 h1:fV591PaemRlL6JfRxGDEPl69wICngIQ3shQtzfy2gxU= +github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0= github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8= github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= -github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/sony/gobreaker v0.5.0 h1:dRCvqm0P490vZPmy7ppEk2qCnCieBooFJ+YoXGYB+yg= -github.com/sony/gobreaker v0.5.0/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= +github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= +github.com/sony/gobreaker/v2 v2.1.0 h1:av2BnjtRmVPWBvy5gSFPytm1J8BmN5AGhq875FfGKDM= +github.com/sony/gobreaker/v2 v2.1.0/go.mod h1:dO3Q/nCzxZj6ICjH6J/gM0r4oAwBMVLY8YAQf+NTtUg= github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= +github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= +github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= +github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stvp/tempredis v0.0.0-20181119212430-b82af8480203 h1:QVqDTf3h2WHt08YuiTGPZLls0Wq99X9bWd0Q5ZSBesM= +github.com/stvp/tempredis v0.0.0-20181119212430-b82af8480203/go.mod h1:oqN97ltKNihBbwlX8dLpwxCl3+HnXKV/R0e+sRLd9C8= github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= +github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/uptrace/bun v1.2.9 h1:OOt2DlIcRUMSZPr6iXDFg/LaQd59kOxbAjpIVHddKRs= github.com/uptrace/bun v1.2.9/go.mod h1:r2ZaaGs9Ru5bpGTr8GQfp8jp+TlCav9grYCPOu2CJSg= +github.com/uptrace/bun v1.2.11 h1:l9dTymsdZZAoSZ1+Qo3utms0RffgkDbIv+1UGk8N1wQ= +github.com/uptrace/bun v1.2.11/go.mod h1:ww5G8h59UrOnCHmZ8O1I/4Djc7M/Z3E+EWFS2KLB6dQ= github.com/uptrace/bun/dialect/pgdialect v1.2.9 h1:caf5uFbOGiXvadV6pA5gn87k0awFFxL1kuuY3SpxnWk= github.com/uptrace/bun/dialect/pgdialect v1.2.9/go.mod h1:m7L9JtOp/Lt8HccET70ULxplMweE/u0S9lNUSxz2duo= +github.com/uptrace/bun/dialect/pgdialect v1.2.11 h1:n0VKWm1fL1dwJK5TRxYYLaRKRe14BOg2+AQgpvqzG/M= +github.com/uptrace/bun/dialect/pgdialect v1.2.11/go.mod h1:NvV1S/zwtwBnW8yhJ3XEKAQEw76SkeH7yUhfrx3W1Eo= github.com/uptrace/bun/driver/pgdriver v1.2.9 h1:wPXQwD78mYeR7o5tQTM/tgBaVd5QWMN/Nq02h+zHlsI= github.com/uptrace/bun/driver/pgdriver v1.2.9/go.mod h1:YnlfL8hiQ++jSCPySK3k8BotpwbLL9SRDzssvts1Bm4= +github.com/uptrace/bun/driver/pgdriver v1.2.11 h1:nqU0ORMh8cESUqGZNGPAMdFF6YrU2Rr2liRs6bZNRDc= +github.com/uptrace/bun/driver/pgdriver v1.2.11/go.mod h1:suBR8qaazdzlPAjVIlmC93yGCUzP6Au71WVgySfv6Qw= 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= -github.com/yuin/gopher-lua v1.1.0 h1:BojcDhfyDWgU2f2TOzYK/g5p2gxMrku8oupLDqlnSqE= -github.com/yuin/gopher-lua v1.1.0/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= +github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M= +github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= github.com/zenazn/goji v1.0.1 h1:4lbD8Mx2h7IvloP7r2C0D6ltZP6Ufip8Hn0wmSK5LR8= github.com/zenazn/goji v1.0.1/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -gitlab.com/flimzy/testy v0.0.3/go.mod h1:YObF4cq711ubd/3U0ydRQQVz7Cnq/ChgJpVwNr/AJac= -gitlab.com/flimzy/testy v0.3.2 h1:4djQFwBJ1ayM681Zx7Y3+OKns/E9zAfGFsLc967jfdk= -gitlab.com/flimzy/testy v0.3.2/go.mod h1:YObF4cq711ubd/3U0ydRQQVz7Cnq/ChgJpVwNr/AJac= +gitlab.com/flimzy/testy v0.14.0 h1:2nZV4Wa1OSJb3rOKHh0GJqvvhtE03zT+sKnPCI0owfQ= +gitlab.com/flimzy/testy v0.14.0/go.mod h1:m3aGuwdXc+N3QgnH+2Ar2zf1yg0UxNdIaXKvC5SlfMk= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= +go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= +go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8= golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= -golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= -golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= +golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= +golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20190204203706-41f3e6584952/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-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= +golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -236,36 +279,26 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= -google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= -google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= -google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb h1:TLPQVbx1GJ8VKZxz52VAxl1EBgKXXbTiU9Fc5fZeLn4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I= +google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= +google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= +google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= +google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= -gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= 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= From cec171972fd331850334dd253b3fb2b80e27597c Mon Sep 17 00:00:00 2001 From: Thomas Hipp Date: Thu, 6 Mar 2025 09:29:24 +0100 Subject: [PATCH 2/4] *: Use updated dependencies --- backend/couchdb/db.go | 30 +++++--------- backend/couchdb/health_check.go | 32 +++++++++------ backend/k8sapi/client.go | 2 +- backend/objstore/objstore.go | 2 +- backend/postgres/postgres.go | 4 +- backend/queue/config.go | 2 +- backend/redis/redis.go | 2 +- grpc/server.go | 2 +- http/jsonapi/generator/generate.go | 16 ++++---- http/jsonapi/generator/generate_handler.go | 40 +++++++++--------- http/jsonapi/generator/generate_helper.go | 15 ++++--- http/jsonapi/generator/generate_security.go | 18 ++------ http/jsonapi/generator/generate_types.go | 41 +++++++++---------- .../generator/internal/pay/pay_test.go | 2 +- http/jsonapi/runtime/standard_params.go | 2 +- http/server.go | 2 +- http/transport/circuit_breaker_tripper.go | 10 ++--- .../transport/circuit_breaker_tripper_test.go | 2 +- http/transport/dump_round_tripper.go | 2 +- locale/cfg.go | 2 +- .../health/servicehealthcheck/config.go | 2 +- maintenance/log/log.go | 2 +- pkg/routine/config.go | 2 +- test/livetest/init.go | 2 +- tools/testserver/main.go | 2 +- 25 files changed, 111 insertions(+), 127 deletions(-) diff --git a/backend/couchdb/db.go b/backend/couchdb/db.go index e66386c5..00920bf6 100644 --- a/backend/couchdb/db.go +++ b/backend/couchdb/db.go @@ -3,15 +3,14 @@ package couchdb import ( - "context" + "net/http" - "github.com/caarlos0/env/v10" - "github.com/go-kivik/couchdb/v3" - kivik "github.com/go-kivik/kivik/v3" + "github.com/caarlos0/env/v11" + kivik "github.com/go-kivik/kivik/v4" + "github.com/go-kivik/kivik/v4/couchdb" "github.com/pace/bricks/http/transport" "github.com/pace/bricks/maintenance/health/servicehealthcheck" - "github.com/pace/bricks/maintenance/log" ) func DefaultDatabase() (*kivik.DB, error) { @@ -19,20 +18,18 @@ func DefaultDatabase() (*kivik.DB, error) { } func Database(name string) (*kivik.DB, error) { - ctx := log.WithContext(context.Background()) - cfg, err := ParseConfig() if err != nil { return nil, err } // Primary client+db - _, db, err := clientAndDB(ctx, name, cfg) + _, db, err := clientAndDB(name, cfg) if err != nil { return nil, err } // Secondary (healthcheck) client+db - healthCheckClient, healthCheckDB, err := clientAndDB(ctx, name, cfg) + healthCheckClient, healthCheckDB, err := clientAndDB(name, cfg) if err != nil { return nil, err } @@ -49,7 +46,7 @@ func Database(name string) (*kivik.DB, error) { return db, nil } -func clientAndDB(ctx context.Context, dbName string, cfg *Config) (*kivik.Client, *kivik.DB, error) { +func clientAndDB(dbName string, cfg *Config) (*kivik.Client, *kivik.DB, error) { client, err := Client(cfg) if err != nil { return nil, nil, err @@ -60,7 +57,7 @@ func clientAndDB(ctx context.Context, dbName string, cfg *Config) (*kivik.Client dbName = cfg.Database } - db := client.DB(ctx, dbName, nil) + db := client.DB(dbName) if db.Err() != nil { return nil, nil, db.Err() } @@ -68,12 +65,6 @@ func clientAndDB(ctx context.Context, dbName string, cfg *Config) (*kivik.Client } func Client(cfg *Config) (*kivik.Client, error) { - ctx := log.WithContext(context.Background()) - - client, err := kivik.New("couch", cfg.URL) - if err != nil { - return nil, err - } rts := []transport.ChainableRoundTripper{ &AuthTransport{ Username: cfg.User, @@ -84,9 +75,8 @@ func Client(cfg *Config) (*kivik.Client, error) { if !cfg.DisableRequestLogging { rts = append(rts, &transport.LoggingRoundTripper{}) } - chain := transport.Chain(rts...) - tr := couchdb.SetTransport(chain) - err = client.Authenticate(ctx, tr) + + client, err := kivik.New("couch", cfg.URL, couchdb.OptionHTTPClient(&http.Client{Transport: transport.Chain(rts...)})) if err != nil { return nil, err } diff --git a/backend/couchdb/health_check.go b/backend/couchdb/health_check.go index c60e3fc5..7f794449 100644 --- a/backend/couchdb/health_check.go +++ b/backend/couchdb/health_check.go @@ -6,7 +6,7 @@ import ( "net/http" "time" - kivik "github.com/go-kivik/kivik/v3" + kivik "github.com/go-kivik/kivik/v4" "github.com/pace/bricks/maintenance/health/servicehealthcheck" ) @@ -37,9 +37,12 @@ func (h *HealthCheck) HealthCheck(ctx context.Context) servicehealthcheck.Health checkTime := time.Now() - var doc Doc - var err error - var row *kivik.Row + var ( + doc Doc + err error + row *kivik.Document + rev string + ) check: // check if context was canceled @@ -51,20 +54,25 @@ check: } row = h.DB.Get(ctx, h.Config.HealthCheckKey) - if row.Err != nil { - if kivik.StatusCode(row.Err) == http.StatusNotFound { + if err := row.Err(); err != nil { + if kivik.HTTPStatus(err) == http.StatusNotFound { goto put } - h.state.SetErrorState(fmt.Errorf("failed to get: %#v", row.Err)) + h.state.SetErrorState(fmt.Errorf("failed to get: %#v", err)) return h.state.GetState() } - defer row.Body.Close() + defer row.Close() // check if document exists - if row.Rev != "" { + rev, err = row.Rev() + if err != nil { + h.state.SetErrorState(fmt.Errorf("failed to get document revision: %v", err)) + } + + if rev != "" { err = row.ScanDoc(&doc) if err != nil { - h.state.SetErrorState(fmt.Errorf("failed to get: %v", row.Err)) + h.state.SetErrorState(fmt.Errorf("failed to get: %v", err)) return h.state.GetState() } @@ -81,7 +89,7 @@ put: _, err = h.DB.Put(ctx, h.Config.HealthCheckKey, doc) if err != nil { // not yet created, try to create - if h.Config.DatabaseAutoCreate && kivik.StatusCode(err) == http.StatusNotFound { + if h.Config.DatabaseAutoCreate && kivik.HTTPStatus(err) == http.StatusNotFound { err := h.Client.CreateDB(ctx, h.Name) if err != nil { h.state.SetErrorState(fmt.Errorf("failed to put object: %v", err)) @@ -90,7 +98,7 @@ put: goto put } - if kivik.StatusCode(err) == http.StatusConflict { + if kivik.HTTPStatus(err) == http.StatusConflict { goto check } h.state.SetErrorState(fmt.Errorf("failed to put object: %v", err)) diff --git a/backend/k8sapi/client.go b/backend/k8sapi/client.go index 78ffda13..23785085 100644 --- a/backend/k8sapi/client.go +++ b/backend/k8sapi/client.go @@ -14,7 +14,7 @@ import ( "os" "strings" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" "github.com/pace/bricks/http/transport" "github.com/pace/bricks/maintenance/log" ) diff --git a/backend/objstore/objstore.go b/backend/objstore/objstore.go index 36a1b596..531fb32e 100644 --- a/backend/objstore/objstore.go +++ b/backend/objstore/objstore.go @@ -6,7 +6,7 @@ import ( "sync" "time" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" "github.com/minio/minio-go/v7" "github.com/minio/minio-go/v7/pkg/credentials" diff --git a/backend/postgres/postgres.go b/backend/postgres/postgres.go index ea3d24b0..48848cb0 100644 --- a/backend/postgres/postgres.go +++ b/backend/postgres/postgres.go @@ -11,14 +11,14 @@ import ( "strconv" "time" - "github.com/caarlos0/env/v10" - "github.com/pace/bricks/backend/postgres/hooks" + "github.com/caarlos0/env/v11" "github.com/pace/bricks/maintenance/health/servicehealthcheck" "github.com/prometheus/client_golang/prometheus" "github.com/uptrace/bun" "github.com/uptrace/bun/dialect/pgdialect" "github.com/uptrace/bun/driver/pgdriver" + "github.com/pace/bricks/backend/postgres/hooks" "github.com/pace/bricks/maintenance/log" ) diff --git a/backend/queue/config.go b/backend/queue/config.go index aa908fa4..644773f0 100644 --- a/backend/queue/config.go +++ b/backend/queue/config.go @@ -4,7 +4,7 @@ import ( "log" "time" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" ) type config struct { diff --git a/backend/redis/redis.go b/backend/redis/redis.go index c6ac4943..d708ff34 100755 --- a/backend/redis/redis.go +++ b/backend/redis/redis.go @@ -7,7 +7,7 @@ import ( "context" "time" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" "github.com/getsentry/sentry-go" "github.com/prometheus/client_golang/prometheus" "github.com/redis/go-redis/v9" diff --git a/grpc/server.go b/grpc/server.go index 762aeaac..57f9b7e3 100644 --- a/grpc/server.go +++ b/grpc/server.go @@ -23,7 +23,7 @@ import ( "github.com/rs/zerolog" zlog "github.com/rs/zerolog/log" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" "google.golang.org/grpc" "google.golang.org/grpc/metadata" "google.golang.org/grpc/peer" diff --git a/http/jsonapi/generator/generate.go b/http/jsonapi/generator/generate.go index 77ccd291..8cb44171 100644 --- a/http/jsonapi/generator/generate.go +++ b/http/jsonapi/generator/generate.go @@ -14,7 +14,7 @@ import ( "github.com/getkin/kin-openapi/openapi3" ) -type buildFunc func(schema *openapi3.Swagger) error +type buildFunc func(schema *openapi3.T) error // Generator for go types, requests handler and simple validators // for the given OpenAPIv3. The OpenAPIv3 schema is expected to comply @@ -29,8 +29,8 @@ type Generator struct { generatedArrayTypes map[string]bool } -func loadSwaggerFromURI(loader *openapi3.SwaggerLoader, url *url.URL) (*openapi3.Swagger, error) { // nolint: interfacer - var schema *openapi3.Swagger +func loadSwaggerFromURI(loader *openapi3.Loader, url *url.URL) (*openapi3.T, error) { // nolint: interfacer + var schema *openapi3.T resp, err := http.Get(url.String()) if err != nil { @@ -43,7 +43,7 @@ func loadSwaggerFromURI(loader *openapi3.SwaggerLoader, url *url.URL) (*openapi3 return nil, err } - schema, err = loader.LoadSwaggerFromData(body) + schema, err = loader.LoadFromData(body) if err != nil { return nil, err } @@ -54,8 +54,8 @@ func loadSwaggerFromURI(loader *openapi3.SwaggerLoader, url *url.URL) (*openapi3 // BuildSource generates the go code in the specified path with specified package name // based on the passed schema source (url or file path) func (g *Generator) BuildSource(source, packagePath, packageName string) (string, error) { - loader := openapi3.NewSwaggerLoader() - var schema *openapi3.Swagger + loader := openapi3.NewLoader() + var schema *openapi3.T if strings.HasPrefix(source, "http://") || strings.HasPrefix(source, "https://") { loc, err := url.Parse(source) @@ -75,7 +75,7 @@ func (g *Generator) BuildSource(source, packagePath, packageName string) (string } // parse spec - schema, err = loader.LoadSwaggerFromData(data) + schema, err = loader.LoadFromData(data) if err != nil { return "", err } @@ -86,7 +86,7 @@ func (g *Generator) BuildSource(source, packagePath, packageName string) (string // BuildSchema generates the go code in the specified path with specified package name // based on the passed schema -func (g *Generator) BuildSchema(schema *openapi3.Swagger, packagePath, packageName string) (string, error) { +func (g *Generator) BuildSchema(schema *openapi3.T, packagePath, packageName string) (string, error) { g.generatedTypes = make(map[string]bool) g.generatedArrayTypes = make(map[string]bool) diff --git a/http/jsonapi/generator/generate_handler.go b/http/jsonapi/generator/generate_handler.go index 77c745e4..f8380faa 100644 --- a/http/jsonapi/generator/generate_handler.go +++ b/http/jsonapi/generator/generate_handler.go @@ -53,14 +53,14 @@ var generatorResponseBlacklist = map[string]bool{ // result in retry later / also rate limiting } -type routeGeneratorFunc func([]*route, *openapi3.Swagger) error +type routeGeneratorFunc func([]*route, *openapi3.T) error // BuildHandler generates the request handlers based on gorilla mux -func (g *Generator) BuildHandler(schema *openapi3.Swagger) error { +func (g *Generator) BuildHandler(schema *openapi3.T) error { paths := schema.Paths // sort by key - keys := make([]string, 0, len(paths)) - for k := range paths { + keys := make([]string, 0, paths.Len()) + for k := range paths.Map() { keys = append(keys, k) } sort.Stable(sort.StringSlice(keys)) @@ -68,7 +68,7 @@ func (g *Generator) BuildHandler(schema *openapi3.Swagger) error { var routes []*route for _, pattern := range keys { - path := paths[pattern] + path := paths.Map()[pattern] err := g.buildPath(pattern, path, &routes, schema.Components.SecuritySchemes) if err != nil { return err @@ -130,7 +130,7 @@ func (g *Generator) buildPath(pattern string, pathItem *openapi3.PathItem, route return nil } -func (g *Generator) generateRequestResponseTypes(routes []*route, schema *openapi3.Swagger) error { +func (g *Generator) generateRequestResponseTypes(routes []*route, schema *openapi3.T) error { for _, route := range routes { // generate ...ResponseWriter for each route err := g.generateResponseInterface(route, schema) @@ -148,19 +148,19 @@ func (g *Generator) generateRequestResponseTypes(routes []*route, schema *openap return nil } -func (g *Generator) generateResponseInterface(route *route, schema *openapi3.Swagger) error { +func (g *Generator) generateResponseInterface(route *route, schema *openapi3.T) error { var methods []jen.Code methods = append(methods, jen.Qual("net/http", "ResponseWriter")) // sort by key - keys := make([]string, 0, len(route.operation.Responses)) - for k := range route.operation.Responses { + keys := make([]string, 0, route.operation.Responses.Len()) + for k := range route.operation.Responses.Map() { keys = append(keys, k) } sort.Stable(sort.StringSlice(keys)) for _, code := range keys { - response := route.operation.Responses[code] + response := route.operation.Responses.Map()[code] // don't generate response helpers for things that are handled by the framework if generatorResponseBlacklist[code] { @@ -177,8 +177,8 @@ func (g *Generator) generateResponseInterface(route *route, schema *openapi3.Swa var methodName string if response.Ref != "" { methodName = generateMethodName(filepath.Base(response.Ref)) - } else { - methodName = generateMethodName(response.Value.Description) + } else if response.Value.Description != nil { + methodName = generateMethodName(*response.Value.Description) } method := jen.Id(methodName) @@ -255,7 +255,7 @@ func (g *Generator) generateResponseInterface(route *route, schema *openapi3.Swa return nil } -func (g *Generator) generateRequestStruct(route *route, schema *openapi3.Swagger) error { +func (g *Generator) generateRequestStruct(route *route, schema *openapi3.T) error { body := route.operation.RequestBody var fields []jen.Code @@ -314,7 +314,7 @@ func (g *Generator) generateRequestStruct(route *route, schema *openapi3.Swagger return nil } -func (g *Generator) buildServiceInterface(routes []*route, schema *openapi3.Swagger) error { +func (g *Generator) buildServiceInterface(routes []*route, schema *openapi3.T) error { for _, route := range routes { if err := g.buildSubServiceInterface(route, schema); err != nil { return err @@ -335,7 +335,7 @@ func (g *Generator) buildServiceInterface(routes []*route, schema *openapi3.Swag return nil } -func (g *Generator) buildSubServiceInterface(route *route, schema *openapi3.Swagger) error { +func (g *Generator) buildSubServiceInterface(route *route, schema *openapi3.T) error { methods := make([]jen.Code, 0) if route.operation.Description != "" { @@ -355,7 +355,7 @@ func (g *Generator) buildSubServiceInterface(route *route, schema *openapi3.Swag return nil } -func (g *Generator) buildRouter(routes []*route, schema *openapi3.Swagger) error { +func (g *Generator) buildRouter(routes []*route, schema *openapi3.T) error { routerBody, err := g.buildRouterBodyWithFallback(routes, schema, jen.Id(rootRouterName).Dot("NotFoundHandler")) if err != nil { return nil @@ -372,7 +372,7 @@ func (g *Generator) buildRouter(routes []*route, schema *openapi3.Swagger) error return nil } -func (g *Generator) buildRouterWithFallbackAsArg(routes []*route, schema *openapi3.Swagger) error { +func (g *Generator) buildRouterWithFallbackAsArg(routes []*route, schema *openapi3.T) error { routerBody, err := g.buildRouterBodyWithFallback(routes, schema, jen.Id("fallback")) if err != nil { return nil @@ -389,7 +389,7 @@ func (g *Generator) buildRouterWithFallbackAsArg(routes []*route, schema *openap return nil } -func (g *Generator) buildRouterHelpers(routes []*route, schema *openapi3.Swagger) error { +func (g *Generator) buildRouterHelpers(routes []*route, schema *openapi3.T) error { needsSecurity := hasSecuritySchema(schema) // sort the routes with query parameter to the top @@ -441,7 +441,7 @@ func (g *Generator) buildRouterHelpers(routes []*route, schema *openapi3.Swagger return nil } -func (g *Generator) buildRouterBodyWithFallback(routes []*route, schema *openapi3.Swagger, fallback jen.Code) ([]jen.Code, error) { +func (g *Generator) buildRouterBodyWithFallback(routes []*route, schema *openapi3.T, fallback jen.Code) ([]jen.Code, error) { needsSecurity := hasSecuritySchema(schema) startInd := 0 var routeStmts []jen.Code @@ -706,7 +706,7 @@ func (g *Generator) buildHandler(method string, op *openapi3.Operation, pattern mt := op.RequestBody.Value.Content.Get(jsonapiContent) if mt != nil { data := mt.Schema.Value.Properties["data"] - if data != nil && data.Value.Type == "array" { + if data != nil && data.Value.Type.Is("array") { if data.Ref != "" && data.Value.Items.Ref != "" { isArray = true } diff --git a/http/jsonapi/generator/generate_helper.go b/http/jsonapi/generator/generate_helper.go index 9cf93b1f..d575bb50 100644 --- a/http/jsonapi/generator/generate_helper.go +++ b/http/jsonapi/generator/generate_helper.go @@ -40,8 +40,7 @@ type typeGenerator struct { } func (g *typeGenerator) invoke() error { // nolint: gocyclo - switch g.schema.Type { - case "string": + if g.schema.Type.Is("string") { switch g.schema.Format { case "byte": // TODO: needs to be base64 encoded/decoded g.stmt.Index().Byte() @@ -87,7 +86,7 @@ func (g *typeGenerator) invoke() error { // nolint: gocyclo g.stmt.String() } } - case "integer": + } else if g.schema.Type.Is("integer") { removeOmitempty(g.tags) switch g.schema.Format { case "int32": @@ -103,7 +102,7 @@ func (g *typeGenerator) invoke() error { // nolint: gocyclo g.stmt.Int64() } } - case "number": + } else if g.schema.Type.Is("number") { switch g.schema.Format { case "decimal": if g.isParam { @@ -129,20 +128,20 @@ func (g *typeGenerator) invoke() error { // nolint: gocyclo g.stmt.Float64() } } - case "boolean": + } else if g.schema.Type.Is("boolean") { removeOmitempty(g.tags) if g.schema.Nullable { g.stmt.Op("*").Bool() } else { g.stmt.Bool() } - case "array": // nolint: goconst + } else if g.schema.Type.Is("array") { removeOmitempty(g.tags) err := g.g.goType(g.stmt.Index(), g.schema.Items.Value, g.tags).invoke() if err != nil { return err } - default: + } else { return fmt.Errorf("unknown type: %s", g.schema.Type) } @@ -173,7 +172,7 @@ func (g *Generator) commentOrExample(stmt *jen.Statement, schema *openapi3.Schem } } -func hasSecuritySchema(swagger *openapi3.Swagger) bool { +func hasSecuritySchema(swagger *openapi3.T) bool { return len(swagger.Components.SecuritySchemes) > 0 } diff --git a/http/jsonapi/generator/generate_security.go b/http/jsonapi/generator/generate_security.go index b7f4ba04..cc00f0e3 100644 --- a/http/jsonapi/generator/generate_security.go +++ b/http/jsonapi/generator/generate_security.go @@ -3,7 +3,6 @@ package generator import ( - "encoding/json" "sort" "github.com/dave/jennifer/jen" @@ -23,7 +22,7 @@ const ( // buildSecurityBackendInterface builds the interface that is used to do the authentication. // It creates one method for each security type and an init method for handling the securityConfigs. // The Methods are named AuthenticateNAME and Init. -func (g *Generator) buildSecurityBackendInterface(schema *openapi3.Swagger) error { +func (g *Generator) buildSecurityBackendInterface(schema *openapi3.T) error { if !hasSecuritySchema(schema) { return nil } @@ -38,7 +37,7 @@ func (g *Generator) buildSecurityBackendInterface(schema *openapi3.Swagger) erro } sort.Stable(sort.StringSlice(keys)) hasDuplicatedSecuritySchema := false - for _, pathItem := range schema.Paths { + for _, pathItem := range schema.Paths.Map() { for _, op := range pathItem.Operations() { if op.Security != nil { hasDuplicatedSecuritySchema = hasDuplicatedSecuritySchema || len((*op.Security)[0]) > 1 @@ -74,7 +73,7 @@ func (g *Generator) buildSecurityBackendInterface(schema *openapi3.Swagger) erro } // BuildSecurityConfigs creates structs with the config of each security schema -func (g *Generator) buildSecurityConfigs(schema *openapi3.Swagger) error { +func (g *Generator) buildSecurityConfigs(schema *openapi3.T) error { if !hasSecuritySchema(schema) { return nil } @@ -112,16 +111,7 @@ func (g *Generator) buildSecurityConfigs(schema *openapi3.Swagger) error { case "openIdConnect": pkgName = pkgOIDC instanceVal[jen.Id("Description")] = jen.Lit(value.Value.Description) - if e, ok := value.Value.Extensions["openIdConnectUrl"]; ok { - var url string - if data, ok := e.(json.RawMessage); ok { - err := json.Unmarshal(data, &url) - if err != nil { - return err - } - instanceVal[jen.Id("OpenIdConnectURL")] = jen.Lit(url) - } - } + instanceVal[jen.Id("OpenIdConnectURL")] = jen.Lit(value.Value.OpenIdConnectUrl) case "apiKey": pkgName = pkgApiKey instanceVal[jen.Id("Description")] = jen.Lit(value.Value.Description) diff --git a/http/jsonapi/generator/generate_types.go b/http/jsonapi/generator/generate_types.go index 1b0b95ef..b902d2e3 100644 --- a/http/jsonapi/generator/generate_types.go +++ b/http/jsonapi/generator/generate_types.go @@ -18,7 +18,7 @@ const ( ) // BuildTypes transforms all component schemas into go types -func (g *Generator) BuildTypes(schema *openapi3.Swagger) error { +func (g *Generator) BuildTypes(schema *openapi3.T) error { schemas := schema.Components.Schemas // sort by key @@ -59,8 +59,7 @@ func (g *Generator) buildType(prefix string, stmt *jen.Statement, schema *openap name := nameFromSchemaRef(schema) val := schema.Value - switch val.Type { - case "array": // nolint: goconst + if val.Type.Is("array") { if schema.Ref != "" { // handle references stmt.Id(name) return nil @@ -68,7 +67,7 @@ func (g *Generator) buildType(prefix string, stmt *jen.Statement, schema *openap g.generatedArrayTypes[prefix] = true return g.buildType(prefix, stmt.Index(), val.Items, tags, ptr) - case "object": // nolint: goconst + } else if val.Type.Is("object") { if schema.Ref != "" { // handle references if ptr { stmt.Op("*").Id(name) @@ -77,24 +76,25 @@ func (g *Generator) buildType(prefix string, stmt *jen.Statement, schema *openap } return nil } - if val.AdditionalPropertiesAllowed != nil && *val.AdditionalPropertiesAllowed { + + if val.AdditionalProperties.Has != nil && *val.AdditionalProperties.Has { if len(val.Properties) > 0 { log.Warnf("%s properties are ignored. Only %s of type map[string]interface{} is generated ", prefix, prefix) } stmt.Map(jen.String()).Interface() return nil } - if val.AdditionalProperties != nil { + if val.AdditionalProperties.Schema != nil { if len(val.Properties) > 0 { log.Warnf("%s properties are ignored. Only %s of type map[string]type is generated ", prefix, prefix) } stmt.Map(jen.String()) - if val.AdditionalProperties.Ref != "" { - stmt.Op("*").Id(nameFromSchemaRef(val.AdditionalProperties)) + if val.AdditionalProperties.Schema.Ref != "" { + stmt.Op("*").Id(nameFromSchemaRef(val.AdditionalProperties.Schema)) return nil } - if val.AdditionalProperties.Value != nil { - err := g.goType(stmt, val.AdditionalProperties.Value, make(map[string]string)).invoke() + if val.AdditionalProperties.Schema.Value != nil { + err := g.goType(stmt, val.AdditionalProperties.Schema.Value, make(map[string]string)).invoke() if err != nil { return err } @@ -105,7 +105,7 @@ func (g *Generator) buildType(prefix string, stmt *jen.Statement, schema *openap if data := val.Properties["data"]; data != nil { if data.Ref != "" { return g.buildType(prefix+"Ref", stmt, data, make(map[string]string), ptr) - } else if data.Value.Type == "array" { // nolint: goconst + } else if data.Value.Type.Is("array") { // nolint: goconst item := prefix + "Item" if ptr { stmt.Index().Op("*").Id(item) @@ -115,7 +115,7 @@ func (g *Generator) buildType(prefix string, stmt *jen.Statement, schema *openap g.addGoDoc(item, data.Value.Description) itemStmt := g.goSource.Type().Id(item) return g.structJSONAPI(prefix, itemStmt, data.Value.Items.Value) - } else if data.Value.Type == "object" { // This ensures that the code does only treat objects with data properties that + } else if data.Value.Type.Is("object") { // This ensures that the code does only treat objects with data properties that // are objects themselves as legitimate JSONAPI struct, otherwise we want them to be treated as simple data objects. // This only partially addresses the issue of why this check is being done. In essence, just having a property named "data" // does not require treating the object with that entity as JSONAPI struct, however we do not know at this point where in the @@ -131,7 +131,7 @@ func (g *Generator) buildType(prefix string, stmt *jen.Statement, schema *openap } return g.buildTypeStruct(prefix, stmt, val, ptr) - default: + } else { if schema.Ref != "" { // handle references stmt.Id(name) return nil @@ -191,7 +191,7 @@ func (g *Generator) generateTypeReference(fallbackName string, schema *openapi3. // in case the type referenced is defined already directly reference it sv := schema.Value - if sv.Type == "object" && sv.Properties["data"] != nil && sv.Properties["data"].Ref != "" { // nolint: goconst + if sv.Type.Is("object") && sv.Properties["data"] != nil && sv.Properties["data"].Ref != "" { // nolint: goconst id := nameFromSchemaRef(schema.Value.Properties["data"]) if g.generatedArrayTypes[id] { return jen.Id(id), nil @@ -319,9 +319,7 @@ func (g *Generator) generateStructFields(prefix string, schema *openapi3.Schema, attrSchema := schema.Properties[attrName] tags := make(map[string]string) addJSONAPITags(tags, "attr", attrName) - if attrSchema.Value.AdditionalPropertiesAllowed != nil && - *attrSchema.Value.AdditionalPropertiesAllowed || - attrSchema.Value.AdditionalProperties != nil { + if attrSchema.Value.AdditionalProperties.Has != nil && *attrSchema.Value.AdditionalProperties.Has || attrSchema.Value.AdditionalProperties.Schema != nil { addValidator(tags, "-") } else { addRequiredOptionalTag(tags, attrName, schema) @@ -361,13 +359,12 @@ func (g *Generator) generateStructRelationships(prefix string, schema *openapi3. // generate relationship field rel := jen.Id(goNameHelper(relName)) - switch data.Value.Type { - // case array = one-to-many - case "array": // nolint: goconst + if data.Value.Type.Is("array") { + // case array = one-to-many name := data.Value.Items.Value.Properties["type"].Value.Enum[0].(string) rel.Index().Op("*").Id(goNameHelper(name)).Tag(tags) - // case object = belongs-to - case "object": // nolint: goconst + // case object = belongs-to + } else if data.Value.Type.Is("object") { name := data.Value.Properties["type"].Value.Enum[0].(string) rel.Op("*").Id(goNameHelper(name)).Tag(tags) } diff --git a/http/jsonapi/generator/internal/pay/pay_test.go b/http/jsonapi/generator/internal/pay/pay_test.go index 19aa98c9..895e7c6d 100644 --- a/http/jsonapi/generator/internal/pay/pay_test.go +++ b/http/jsonapi/generator/internal/pay/pay_test.go @@ -234,7 +234,7 @@ func TestHandlerDecimal(t *testing.T) { } func assertDecimal(t *testing.T, got, want decimal.Decimal) { - if !got.Equals(want) { + if !got.Equal(want) { t.Errorf(`expected decimal.Decimal %q, got %q`, want, got) } } diff --git a/http/jsonapi/runtime/standard_params.go b/http/jsonapi/runtime/standard_params.go index 9a9d0024..22003118 100644 --- a/http/jsonapi/runtime/standard_params.go +++ b/http/jsonapi/runtime/standard_params.go @@ -8,7 +8,7 @@ import ( "strconv" "strings" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" "github.com/uptrace/bun" "github.com/pace/bricks/maintenance/log" diff --git a/http/server.go b/http/server.go index e73f673b..8dc4c135 100644 --- a/http/server.go +++ b/http/server.go @@ -8,7 +8,7 @@ import ( "strconv" "time" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" "github.com/pace/bricks/maintenance/log" ) diff --git a/http/transport/circuit_breaker_tripper.go b/http/transport/circuit_breaker_tripper.go index 25b8a50e..a067b16e 100644 --- a/http/transport/circuit_breaker_tripper.go +++ b/http/transport/circuit_breaker_tripper.go @@ -6,7 +6,7 @@ import ( "net/http" "github.com/prometheus/client_golang/prometheus" - "github.com/sony/gobreaker" + "github.com/sony/gobreaker/v2" ) // circuitBreakerTripper implements a ChainableRoundTripper with @@ -27,7 +27,7 @@ import ( // problems, but because of other RoundTrippers. type circuitBreakerTripper struct { transport http.RoundTripper - breaker *gobreaker.CircuitBreaker + breaker *gobreaker.CircuitBreaker[*http.Response] } func NewDefaultCircuitBreakerTripper(name string) *circuitBreakerTripper { @@ -68,7 +68,7 @@ func NewCircuitBreakerTripper(settings gobreaker.Settings) *circuitBreakerTrippe stateSwitchCounterVec.With(labels).Inc() } - return &circuitBreakerTripper{breaker: gobreaker.NewCircuitBreaker(settings)} + return &circuitBreakerTripper{breaker: gobreaker.NewCircuitBreaker[*http.Response](settings)} } // Transport returns the RoundTripper to make HTTP requests @@ -83,7 +83,7 @@ func (c *circuitBreakerTripper) SetTransport(rt http.RoundTripper) { // RoundTrip executes a single HTTP transaction via Transport() func (c *circuitBreakerTripper) RoundTrip(req *http.Request) (*http.Response, error) { - resp, err := c.breaker.Execute(func() (interface{}, error) { + resp, err := c.breaker.Execute(func() (*http.Response, error) { return c.transport.RoundTrip(req) }) if err != nil { @@ -96,5 +96,5 @@ func (c *circuitBreakerTripper) RoundTrip(req *http.Request) (*http.Response, er } } - return resp.(*http.Response), nil + return resp, nil } diff --git a/http/transport/circuit_breaker_tripper_test.go b/http/transport/circuit_breaker_tripper_test.go index 4272f3f7..8076be1d 100644 --- a/http/transport/circuit_breaker_tripper_test.go +++ b/http/transport/circuit_breaker_tripper_test.go @@ -7,7 +7,7 @@ import ( "net/http/httptest" "testing" - "github.com/sony/gobreaker" + "github.com/sony/gobreaker/v2" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/http/transport/dump_round_tripper.go b/http/transport/dump_round_tripper.go index 709408b9..abab3b18 100644 --- a/http/transport/dump_round_tripper.go +++ b/http/transport/dump_round_tripper.go @@ -10,7 +10,7 @@ import ( "net/url" "strings" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" "github.com/pace/bricks/maintenance/log" "github.com/pace/bricks/pkg/redact" diff --git a/locale/cfg.go b/locale/cfg.go index 399d80f7..51742a86 100644 --- a/locale/cfg.go +++ b/locale/cfg.go @@ -5,7 +5,7 @@ package locale import ( "log" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" ) type config struct { diff --git a/maintenance/health/servicehealthcheck/config.go b/maintenance/health/servicehealthcheck/config.go index 65e9a44f..7b9a6864 100644 --- a/maintenance/health/servicehealthcheck/config.go +++ b/maintenance/health/servicehealthcheck/config.go @@ -3,7 +3,7 @@ package servicehealthcheck import ( "time" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" "github.com/pace/bricks/maintenance/log" ) diff --git a/maintenance/log/log.go b/maintenance/log/log.go index c14e948f..f9a9347c 100644 --- a/maintenance/log/log.go +++ b/maintenance/log/log.go @@ -11,7 +11,7 @@ import ( "strings" "time" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" "github.com/pace/bricks/maintenance/log/hlog" "github.com/rs/zerolog" diff --git a/pkg/routine/config.go b/pkg/routine/config.go index 6c017766..f01fa6f3 100644 --- a/pkg/routine/config.go +++ b/pkg/routine/config.go @@ -5,7 +5,7 @@ package routine import ( "time" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" ) type config struct { diff --git a/test/livetest/init.go b/test/livetest/init.go index b2f2532e..dfe27b16 100644 --- a/test/livetest/init.go +++ b/test/livetest/init.go @@ -6,7 +6,7 @@ import ( "log" "time" - "github.com/caarlos0/env/v10" + "github.com/caarlos0/env/v11" "github.com/prometheus/client_golang/prometheus" ) diff --git a/tools/testserver/main.go b/tools/testserver/main.go index 6a140712..9956f28e 100755 --- a/tools/testserver/main.go +++ b/tools/testserver/main.go @@ -174,7 +174,7 @@ func main() { h.HandleFunc("/couch", func(w http.ResponseWriter, r *http.Request) { row := cdb.Get(r.Context(), "$health_check") - if row.Err != nil { + if err := row.Err(); err != nil { log.Println(err) w.WriteHeader(http.StatusInternalServerError) return From 63569563a20d8653d0a4fcc4721e34ed9241616c Mon Sep 17 00:00:00 2001 From: Thomas Hipp Date: Thu, 6 Mar 2025 09:43:15 +0100 Subject: [PATCH 3/4] .github: Update to Go 1.24 --- .github/workflows/golang-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/golang-ci.yml b/.github/workflows/golang-ci.yml index 2008efc8..6a425b34 100644 --- a/.github/workflows/golang-ci.yml +++ b/.github/workflows/golang-ci.yml @@ -6,7 +6,7 @@ jobs: strategy: fail-fast: false matrix: - go: [ '1.23' ] + go: [ '1.24' ] steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 From aeaa1bcf058c53b1fc78633808d4252831117e77 Mon Sep 17 00:00:00 2001 From: Thomas Hipp Date: Thu, 6 Mar 2025 15:12:50 +0100 Subject: [PATCH 4/4] docker-compose: Update to Go 1.24 --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 00f4c787..18e38652 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -56,7 +56,7 @@ services: - "./prometheus.yml:/etc/prometheus/prometheus.yml" testserver: - image: "golang:1.23" + image: "golang:1.24" volumes: - .:/srv working_dir: /srv