From 305e6afa206d7c42f0106312ab141bcfaae06773 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Fri, 6 Oct 2023 14:34:14 +0530 Subject: [PATCH 01/32] chore: prepare code for templatizing migrations --- constants/exporters.go | 7 + exporter/clickhouselogsexporter/exporter.go | 4 + exporter/clickhouselogsexporter/factory.go | 3 +- exporter/clickhousemetricsexporter/factory.go | 3 +- .../clickhouse_factory.go | 4 + exporter/clickhousetracesexporter/factory.go | 3 +- go.mod | 12 +- go.sum | 733 +----------------- 8 files changed, 40 insertions(+), 729 deletions(-) create mode 100644 constants/exporters.go diff --git a/constants/exporters.go b/constants/exporters.go new file mode 100644 index 00000000..d81bdd56 --- /dev/null +++ b/constants/exporters.go @@ -0,0 +1,7 @@ +package constants + +const ( + SignozLogsExporter = "clickhouselogsexporter" + SignozMetricsExporter = "clickhousemetricswrite" + SignozTracesExporter = "clickhousetraces" +) diff --git a/exporter/clickhouselogsexporter/exporter.go b/exporter/clickhouselogsexporter/exporter.go index 8f39c028..989fc65e 100644 --- a/exporter/clickhouselogsexporter/exporter.go +++ b/exporter/clickhouselogsexporter/exporter.go @@ -461,6 +461,10 @@ func newClickhouseClient(logger *zap.Logger, cfg *Config) (clickhouse.Conn, erro if err != nil { return nil, fmt.Errorf("clickhouse Migrate failed to run, error: %s", err) } + // enable migration file templating + m.EnableTemplating = true + + // run migrations err = m.Up() if err != nil && !strings.HasSuffix(err.Error(), "no change") { return nil, fmt.Errorf("clickhouse Migrate failed to run, error: %s", err) diff --git a/exporter/clickhouselogsexporter/factory.go b/exporter/clickhouselogsexporter/factory.go index 5e8e7e34..cdbd1175 100644 --- a/exporter/clickhouselogsexporter/factory.go +++ b/exporter/clickhouselogsexporter/factory.go @@ -18,6 +18,7 @@ import ( "context" "fmt" + "github.com/SigNoz/signoz-otel-collector/constants" "go.opencensus.io/stats" "go.opencensus.io/stats/view" "go.opencensus.io/tag" @@ -28,7 +29,7 @@ import ( const ( // The value of "type" key in configuration. - typeStr = "clickhouselogsexporter" + typeStr = constants.SignozLogsExporter primaryNamespace = "clickhouselogs" archiveNamespace = "clickhouselogs-archive" databaseName = "signoz_logs" diff --git a/exporter/clickhousemetricsexporter/factory.go b/exporter/clickhousemetricsexporter/factory.go index ce6a7f40..f61139b5 100644 --- a/exporter/clickhousemetricsexporter/factory.go +++ b/exporter/clickhousemetricsexporter/factory.go @@ -19,6 +19,7 @@ import ( "errors" "time" + "github.com/SigNoz/signoz-otel-collector/constants" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry" "go.opencensus.io/stats" "go.opencensus.io/stats/view" @@ -32,7 +33,7 @@ import ( const ( // The value of "type" key in configuration. - typeStr = "clickhousemetricswrite" + typeStr = constants.SignozMetricsExporter ) var ( diff --git a/exporter/clickhousetracesexporter/clickhouse_factory.go b/exporter/clickhousetracesexporter/clickhouse_factory.go index 2fae266e..5b08c6bd 100644 --- a/exporter/clickhousetracesexporter/clickhouse_factory.go +++ b/exporter/clickhousetracesexporter/clickhouse_factory.go @@ -123,6 +123,10 @@ func (f *Factory) Initialize(logger *zap.Logger) error { if err != nil { return fmt.Errorf("Clickhouse Migrate failed to run, error: %s", err) } + // enable migration file templating + m.EnableTemplating = true + + // run migrations err = m.Up() f.logger.Info("Clickhouse Migrate finished", zap.Error(err)) return nil diff --git a/exporter/clickhousetracesexporter/factory.go b/exporter/clickhousetracesexporter/factory.go index 93c19496..c08820e5 100644 --- a/exporter/clickhousetracesexporter/factory.go +++ b/exporter/clickhousetracesexporter/factory.go @@ -17,6 +17,7 @@ package clickhousetracesexporter import ( "context" + "github.com/SigNoz/signoz-otel-collector/constants" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" @@ -24,7 +25,7 @@ import ( const ( // The value of "type" key in configuration. - typeStr = "clickhousetraces" + typeStr = constants.SignozTracesExporter primaryNamespace = "clickhouse" archiveNamespace = "clickhouse-archive" ) diff --git a/go.mod b/go.mod index e399cd33..d9b08ba9 100644 --- a/go.mod +++ b/go.mod @@ -118,7 +118,8 @@ require ( github.com/prometheus/common v0.44.0 github.com/prometheus/prometheus v0.43.1 github.com/segmentio/ksuid v1.0.4 - github.com/sirupsen/logrus v1.9.0 + github.com/sirupsen/logrus v1.9.2 + github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.14.0 github.com/stretchr/testify v1.8.4 github.com/vjeantet/grok v1.0.1 @@ -171,7 +172,7 @@ require ( github.com/DataDog/zstd v1.5.0 // indirect github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.13.1 // indirect - github.com/Microsoft/go-winio v0.6.0 // indirect + github.com/Microsoft/go-winio v0.6.1 // indirect github.com/SAP/go-hdb v1.2.6 // indirect github.com/Shopify/sarama v1.38.1 // indirect github.com/Showmax/go-fqdn v1.0.0 // indirect @@ -266,7 +267,7 @@ require ( github.com/google/gofuzz v1.2.0 // indirect github.com/google/s2a-go v0.1.4 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.10.0 // indirect + github.com/googleapis/gax-go/v2 v2.11.0 // indirect github.com/gophercloud/gophercloud v1.2.0 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/grafana/regexp v0.0.0-20221122212121-6b5c0a4cb7fd // indirect @@ -409,7 +410,6 @@ require ( github.com/spf13/cast v1.5.1 // indirect github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 // indirect @@ -462,7 +462,7 @@ require ( golang.org/x/tools v0.9.1 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect gonum.org/v1/gonum v0.13.0 // indirect - google.golang.org/api v0.125.0 // indirect + google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc // indirect @@ -487,7 +487,7 @@ require ( ) replace ( - github.com/golang-migrate/migrate/v4 => github.com/sergey-telpuk/migrate/v4 v4.15.3-0.20220303065225-d5ae59d12ff7 + github.com/golang-migrate/migrate/v4 => github.com/SigNoz/golang-migrate/v4 v4.16.2 github.com/vjeantet/grok => github.com/signoz/grok v1.0.3 // using 0.23.0 as there is an issue with 0.24.0 stats that results in diff --git a/go.sum b/go.sum index cc8125dc..dfe6714d 100644 --- a/go.sum +++ b/go.sum @@ -1,4 +1,3 @@ -bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -28,8 +27,6 @@ cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aD cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= 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/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -47,7 +44,6 @@ cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2k cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/spanner v1.28.0/go.mod h1:7m6mtQZn/hMbMfx62ct5EWrGND4DNqkXyrmBPRS+OJo= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= @@ -57,7 +53,6 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f contrib.go.opencensus.io/exporter/prometheus v0.4.2 h1:sqfsYl5GIY/L570iT+l93ehxaWJs2/OwXtiWwew3oAg= contrib.go.opencensus.io/exporter/prometheus v0.4.2/go.mod h1:dvEHbiKmgvbr5pjaF9fpw1KeYcjrnC1J8B+JKjsZyRQ= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= github.com/99designs/keyring v1.1.6/go.mod h1:16e0ds7LGQQcT59QqkTg72Hh5ShM51Byv5PEmW6uoRU= @@ -65,8 +60,6 @@ github.com/99designs/keyring v1.2.2 h1:pZd3neh/EmUzWONb35LxQfvuY7kiSXAq3HQd97+XB github.com/99designs/keyring v1.2.2/go.mod h1:wes/FrByc8j7lFOAGLGSNEg8f/PaI3cgTBqhFkHUrPk= github.com/AthenZ/athenz v1.10.39 h1:mtwHTF/v62ewY2Z5KWhuZgVXftBej1/Tn80zx4DcawY= github.com/AthenZ/athenz v1.10.39/go.mod h1:3Tg8HLsiQZp81BJY58JBeU2BR6B/H4/0MQGfCwhHNEA= -github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= -github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v65.0.0+incompatible h1:HzKLt3kIwMm4KeJYTdx9EbjRYTySD/t8i1Ee/W5EGXw= github.com/Azure/azure-sdk-for-go v65.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= @@ -79,27 +72,19 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 h1:+5VZ72z0Qan5Bog5C+ZkgSq github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 h1:u/LLAOFgsMv7HmNL4Qufg58y+qElGOt5qv0z1mURkRY= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0/go.mod h1:2e8rMJtl2+2j+HXbTBwnyGpm5Nou7KhvSfxOq8JpTag= -github.com/Azure/azure-storage-blob-go v0.14.0/go.mod h1:SMqIBi+SuiQH32bvyjngEewEeXoPfKMgWlBDaYf6fck= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= github.com/Azure/go-autorest/autorest v0.11.12/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= github.com/Azure/go-autorest/autorest v0.11.28 h1:ndAExarwr5Y+GaHE6VCaY1kyS/HwwGGyuimVhWsHOEM= github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA= -github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/adal v0.9.16/go.mod h1:tGMin8I49Yij6AQ+rvV+Xa/zwxYQB5hmsd6DkfAx2+A= github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= github.com/Azure/go-autorest/autorest/adal v0.9.22 h1:/GblQdIudfEM3AWWZ0mrYJQSd7JS4S/Mbzh6F0ov0Xc= github.com/Azure/go-autorest/autorest/adal v0.9.22/go.mod h1:XuAbAEUv2Tta//+voMI038TrJBqjKam0me7qR+L8Cmk= github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= github.com/Azure/go-autorest/autorest/mocks v0.4.2/go.mod h1:Vy7OitM9Kei0i1Oj+LvyAWMXJHeKH1MVlzFugfVrmyU= @@ -115,7 +100,6 @@ github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBp github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1 h1:BWe8a+f/t+7KY7zH2mqygeUD0t8hNFXe08p1Pb3/jKE= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/ClickHouse/clickhouse-go v1.4.3/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI= github.com/ClickHouse/clickhouse-go v1.5.3 h1:Vok8zUb/wlqc9u8oEqQzBMBRDoFd8NxPRqgYEqMnV88= github.com/ClickHouse/clickhouse-go v1.5.3/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI= github.com/ClickHouse/clickhouse-go/v2 v2.0.12 h1:Nbl/NZwoM6LGJm7smNBgvtdr/rxjlIssSW3eG/Nmb9E= @@ -129,28 +113,10 @@ github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.13.1 github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.13.1/go.mod h1:Xx0VKh7GJ4si3rmElbh19Mejxz68ibWg/J30ZOMrqzU= github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU= -github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= github.com/Microsoft/go-winio v0.4.15/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= -github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= -github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= -github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= -github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= -github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= -github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= -github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= -github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= -github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= -github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= +github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= +github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Mottl/ctimefmt v0.0.0-20190803144728-fd2ac23a585a/go.mod h1:eyj2WSIdoPMPs2eNTLpSmM6Nzqo4V80/d6jHpnJ1SAI= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -158,15 +124,15 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/SAP/go-hdb v1.2.6 h1:FLrDgSySez0Ye+e4g8pm0ciSj2xOdPFM0reY/fcNaS0= github.com/SAP/go-hdb v1.2.6/go.mod h1:LCziJVuENlInAw8+9sb1ZgQZKThaFRE6vUcLeTLUr/M= -github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/Shopify/sarama v1.38.1 h1:lqqPUPQZ7zPqYlWpTh+LQ9bhYNu2xJL6k1SJN4WVe2A= github.com/Shopify/sarama v1.38.1/go.mod h1:iwv9a67Ha8VNa+TifujYoWGxWnu2kNVAQdSdZ4X2o5g= github.com/Shopify/toxiproxy/v2 v2.5.0 h1:i4LPT+qrSlKNtQf5QliVjdP08GyAH8+BUIc9gT0eahc= github.com/Showmax/go-fqdn v1.0.0 h1:0rG5IbmVliNT5O19Mfuvna9LL7zlHyRfsSvBPZmF9tM= github.com/Showmax/go-fqdn v1.0.0/go.mod h1:SfrFBzmDCtCGrnHhoDjuvFnKsWjEQX/Q9ARZvOrJAko= +github.com/SigNoz/golang-migrate/v4 v4.16.2 h1:m9VrCeVDtYR1ZpIuEYApKze9iVsMbvXBavcaXSZMdBY= +github.com/SigNoz/golang-migrate/v4 v4.16.2/go.mod h1:LOW45ixsVo/YpAn8NajhG5o+QSwMEFgsHOf5KK7obF4= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/assert/v2 v2.2.2 h1:Z/iVC0xZfWTaFNE6bA3z07T86hd45Xe2eLt6WVy2bbk= github.com/alecthomas/participle/v2 v2.0.0 h1:Fgrq+MbuSsJwIkw3fEj9h75vDP0Er5JzepJ0/HNHv0g= github.com/alecthomas/participle/v2 v2.0.0/go.mod h1:rAKZdJldHu8084ojcWevWAL8KmEU+AT+Olodb+WoN2Y= @@ -178,14 +144,11 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antonmedv/expr v1.12.5 h1:Fq4okale9swwL3OeLLs9WD9H6GbgBLJyN/NUHRv+n0E= github.com/antonmedv/expr v1.12.5/go.mod h1:FPC8iWArxls7axbVLsW+kpg1mz29A1b2M6jt+hZfDkU= -github.com/apache/arrow/go/arrow v0.0.0-20210818145353-234c94e4ce64/go.mod h1:2qMFB56yOP3KzkB3PbYZ4AlUFg3a88F67TIx5lB/WwY= -github.com/apache/arrow/go/arrow v0.0.0-20211013220434-5962184e7a30/go.mod h1:Q7yQnSMnLvcXlZ8RV+jwz/6y1rQTqbX6C82SndT52Zs= github.com/apache/arrow/go/v10 v10.0.1 h1:n9dERvixoC/1JjDmBcs9FPaEryoANa2sCgVFo6ez9cI= github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= github.com/apache/pulsar-client-go v0.8.1 h1:UZINLbH3I5YtNzqkju7g9vrl4CKrEgYSx2rbpvGufrE= @@ -198,43 +161,34 @@ github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNG github.com/ardielle/ardielle-go v1.5.2/go.mod h1:I4hy1n795cUhaVt/ojz83SNVCYIGsAFAONtv2Dr7HUI= github.com/ardielle/ardielle-tools v1.5.4/go.mod h1:oZN+JRMnqGiIhrzkRN9l26Cej9dEx4jeNG6A+AdkShk= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= -github.com/aws/aws-sdk-go v1.17.7/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.32.6/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.35.24/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.44.274 h1:vfreSv19e/9Ka9YytOzgzJasrRZfX7dnttLlbh8NKeA= github.com/aws/aws-sdk-go v1.44.274/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= -github.com/aws/aws-sdk-go-v2 v1.8.0/go.mod h1:xEFuWz+3TYdlPRuo+CqATbeDWIWyaT5uAPwPaWtgse0= github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= github.com/aws/aws-sdk-go-v2 v1.17.7/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.18.0 h1:882kkTpSFhdgYRKVZ/VCgf7sd0ru57p2JCxz4/oN5RY= github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10/go.mod h1:VeTZetY5KRJLuD/7fkQXMU6Mw7H5m/KP2J5Iy9osMno= -github.com/aws/aws-sdk-go-v2/config v1.6.0/go.mod h1:TNtBVmka80lRPk5+S9ZqVfFszOQAGJJ9KbT3EM3CHNU= github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw= github.com/aws/aws-sdk-go-v2/config v1.18.19 h1:AqFK6zFNtq4i1EYu+eC7lcKHYnZagMn6SW171la0bGw= github.com/aws/aws-sdk-go-v2/config v1.18.19/go.mod h1:XvTmGMY8d52ougvakOv1RpiTLPz9dlG/OQHsKU/cMmY= -github.com/aws/aws-sdk-go-v2/credentials v1.3.2/go.mod h1:PACKuTJdt6AlXvEq8rFI4eDmoqDFC5DpVKQbWysaDgM= github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ= github.com/aws/aws-sdk-go-v2/credentials v1.13.18/go.mod h1:vnwlwjIe+3XJPBYKu1et30ZPABG3VaXJYr8ryohpIyM= github.com/aws/aws-sdk-go-v2/credentials v1.13.24 h1:PjiYyls3QdCrzqUN35jMWtUK1vqVZ+zLfdOa/UPFDp0= github.com/aws/aws-sdk-go-v2/credentials v1.13.24/go.mod h1:jYPYi99wUOPIFi0rhiOvXeSEReVOzBqFNOX5bXYoG2o= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.4.0/go.mod h1:Mj/U8OpDbcVcoctrYwA2bak8k/HFPdcLzI/vaiXMwuM= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.6.0/go.mod h1:gqlclDEZp4aqJOancXK6TN24aKhT0W0Ae9MHk3wzTMM= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1/go.mod h1:lfUx8puBRdM5lVVMQlwt2v+ofiG/X6Ms+dy0UkG/kXw= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.3 h1:jJPgroehGvjrde3XufFIJUZVK5A2L9a3KwSFgKy9n8w= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.3/go.mod h1:4Q0UFP0YJf0NrsEuEYHpM9fTSEVnD16Z3uyEF7J9JGM= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.4.0/go.mod h1:eHwXu2+uE/T6gpnYWwBwqoeqRf9IXyCcolyOWDRAErQ= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.5.4/go.mod h1:Ex7XQmbFmgFHrjUX6TN3mApKW5Hglyga+F7wZHTtYhA= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.59 h1:E3Y+OfzOK1+rmRo/K2G0ml8Vs+Xqk0kOnf4nS0kUtBc= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.59/go.mod h1:1M4PLSBUVfBI0aP+C9XI7SM6kZPCGYyI6izWz0TGprE= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31/go.mod h1:QT0BqUvX1Bh2ABdTGnjqEjvjzrCfIniM9Sc8zn9Yndo= @@ -243,33 +197,24 @@ github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33/go.mod h1:7i0PF1ME/2 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.25/go.mod h1:zBHOPwhBc3FlQjQJE/D3IfPWiWaQmT06Vq9aNukDo0k= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27 h1:vFQlirhuM8lLlpI7imKOMsjdQLuN9CPi+k44F/OFVsk= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27/go.mod h1:UrHnn3QV/d0pBZ6QBAEQcqFLf8FAzLmoUfPVIueOvoM= -github.com/aws/aws-sdk-go-v2/internal/ini v1.2.0/go.mod h1:Q5jATQc+f1MfZp3PDMhn6ry18hGvE0i8yvbXoKbnZaE= github.com/aws/aws-sdk-go-v2/internal/ini v1.2.4/go.mod h1:ZcBrrI3zBKlhGFNYWvju0I3TR93I7YIgAfy82Fh4lcQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.32 h1:p5luUImdIqywn6JpQsW3tq5GNOxKmOnEpybzPx+d1lk= github.com/aws/aws-sdk-go-v2/internal/ini v1.3.32/go.mod h1:XGhIBZDEgfqmFIugclZ6FU7v75nHhBDtzuB4xB/tEi4= github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.23 h1:DWYZIsyqagnWL00f8M/SOr9fN063OEQWn9LLTbdYXsk= github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.23/go.mod h1:uIiFgURZbACBEQJfqTZPb/jxO7R+9LeoHUFudtIdeQI= github.com/aws/aws-sdk-go-v2/service/appconfig v1.4.2/go.mod h1:FZ3HkCe+b10uFZZkFdvf98LHW21k49W8o8J366lqVKY= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.2.2/go.mod h1:EASdTcM1lGhUe1/p4gkojHwlGJkeoRjjr1sRCzup3Is= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.3.0/go.mod h1:v8ygadNyATSm6elwJ/4gzJwcFhri9RqS8skgHKiwXPU= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.26 h1:CeuSeq/8FnYpPtnuIeLQEEvDv9zUjneuYi8EghMBdwQ= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.26/go.mod h1:2UqAAwMUXKeRkAHIlDJqvMVgOWkUi/AUXPk/YIe+Dg4= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.2.2/go.mod h1:NXmNI41bdEsJMrD0v9rUvbGCB5GwdBEpKvUvIY3vTFg= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.2/go.mod h1:72HRZDLMtmVQiLG2tLfQcaWLCssELvGl+Zf2WVxMmR8= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.25/go.mod h1:/95IA+0lMnzW6XzqYJRpjjsAbKEORVeO0anQqjd2CNU= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27 h1:0iKliEXAcCa2qVtRs7Ot5hItA2MsufrphbRFlz1Owxo= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27/go.mod h1:EOwBD4J4S5qYszS5/3DpkejfuK+Z5/1uzICfPaZLtqw= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.5.2/go.mod h1:QuL2Ym8BkrLmN4lUofXYq6000/i5jPjosCNK//t6gak= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.7.2/go.mod h1:np7TMuJNT83O0oDOSF8i4dF3dvGqA6hPYYo6YYkzgRA= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.0 h1:e2ooMhpYGhDnBfSvIyusvAwX7KexuZaHbQY2Dyei7VU= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.0/go.mod h1:bh2E0CXKZsQN+faiKVqC40vfNMAWheoULBCnEgO9K+8= -github.com/aws/aws-sdk-go-v2/service/s3 v1.12.0/go.mod h1:6J++A5xpo7QDsIeSqPK4UHqMSyPOCopa+zKtqAMhqVQ= -github.com/aws/aws-sdk-go-v2/service/s3 v1.16.1/go.mod h1:CQe/KvWV1AqRc65KqeJjrLzr5X2ijnFTTVzJW0VBRCI= github.com/aws/aws-sdk-go-v2/service/s3 v1.31.0 h1:B1G2pSPvbAtQjilPq+Y7jLIzCOwKzuVEl+aBBaNG0AQ= github.com/aws/aws-sdk-go-v2/service/s3 v1.31.0/go.mod h1:ncltU6n4Nof5uJttDtcNQ537uNuwYqsZZQcpkd2/GUQ= -github.com/aws/aws-sdk-go-v2/service/sso v1.3.2/go.mod h1:J21I6kF+d/6XHVk7kp/cx9YVD2TMD2TbLwtRGVcinXo= github.com/aws/aws-sdk-go-v2/service/sso v1.4.2/go.mod h1:NBvT9R1MEF+Ud6ApJKM0G+IkPchKS7p7c2YPKwHmBOk= github.com/aws/aws-sdk-go-v2/service/sso v1.12.6/go.mod h1:Y1VOmit/Fn6Tz1uFAeCO6Q7M2fmfXSCLeL5INVYsLuY= github.com/aws/aws-sdk-go-v2/service/sso v1.12.10 h1:UBQjaMTCKwyUYwiVnUt6toEJwGXsLBI6al083tpjJzY= @@ -277,48 +222,32 @@ github.com/aws/aws-sdk-go-v2/service/sso v1.12.10/go.mod h1:ouy2P4z6sJN70fR3ka3w github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.6/go.mod h1:Lh/bc9XUf8CfOY6Jp5aIkQtN+j1mc+nExc+KXj9jx2s= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.10 h1:PkHIIJs8qvq0e5QybnZoG1K/9QTrLr9OsqCIo59jOBA= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.10/go.mod h1:AFvkxc8xfBe8XA+5St5XIHHrQQtkxqrRincx4hmMHOk= -github.com/aws/aws-sdk-go-v2/service/sts v1.6.1/go.mod h1:hLZ/AnkIKHLuPGjEiyghNEdvJ2PP0MgOxcmv9EBJ4xs= github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21TfrhJ8AEMzVybRNSb/b4g= github.com/aws/aws-sdk-go-v2/service/sts v1.18.7/go.mod h1:JuTnSoeePXmMVe9G8NcjjwgOKEfZ4cOjMuT2IBT/2eI= github.com/aws/aws-sdk-go-v2/service/sts v1.19.0 h1:2DQLAKDteoEDI8zpCzqBMaZlJuoE9iTYD0gFmXVax9E= github.com/aws/aws-sdk-go-v2/service/sts v1.19.0/go.mod h1:BgQOMsg8av8jset59jelyPW7NoZcZXLVpDsXunGDrk8= -github.com/aws/smithy-go v1.7.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/beefsack/go-rate v0.0.0-20220214233405-116f4ca011a0/go.mod h1:6YNgTHLutezwnBvyneBbwvB8C82y3dcoOj5EQJIdGXA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k= -github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= -github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bkaradzic/go-lz4 v1.0.0/go.mod h1:0YdlkowM3VswSROI7qDxhRvJ3sLhlFrRRwjwegp5jy4= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bmatcuk/doublestar/v4 v4.6.0 h1:HTuxyug8GyFbRkrffIpzNCSK4luc0TY3wzXvzIZhEXc= github.com/bmatcuk/doublestar/v4 v4.6.0/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b/go.mod h1:ac9efd0D1fsDb3EJvhqgXRbFx7bs2wqZ10HQPeU8U/Q= -github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= -github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= -github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= -github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= -github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= -github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= -github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= @@ -326,18 +255,11 @@ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= -github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/checkpoint-restore/go-criu/v5 v5.3.0 h1:wpFFOoomK3389ue2lAb0Boag6XPht5QYpipxmSNL4d8= github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= 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/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= -github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= -github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= -github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= -github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/cilium/ebpf v0.7.0 h1:1k/q3ATgxSXRdrmPfH8d7YK0GfqVsEKZAX9dQZvs56k= github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= @@ -354,185 +276,60 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195 h1:58f1tJ1ra+zFINPlwLWvQsR9CzAKt2e+EWV2yX9oXQ4= github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= -github.com/cockroachdb/cockroach-go/v2 v2.1.1/go.mod h1:7NtUnP6eK+l6k483WSYNrq3Kb23bWV10IRV1TyeSpwM= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= -github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= -github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= -github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= -github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= -github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= -github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= -github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= -github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= -github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= -github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= -github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= -github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= -github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= -github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= -github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= -github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= -github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= -github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= -github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= -github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= -github.com/containerd/containerd v1.5.9/go.mod h1:fvQqCfadDGga5HZyn3j4+dx56qj2I9YwBrlSdalvJYQ= github.com/containerd/containerd v1.6.19 h1:F0qgQPrG0P2JPgwpxWxYavrVeXAG0ezUIB9Z/4FTUAU= -github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= -github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= -github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= -github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= -github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= -github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= -github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= -github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= -github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= -github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= -github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= -github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= -github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= -github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= -github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= -github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= -github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= -github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= -github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= -github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= -github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= github.com/containerd/ttrpc v1.1.0 h1:GbtyLRxb0gOLR0TYQWt3O6B0NvT8tMdorEHqIQo/lWI= github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= -github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= -github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= -github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= -github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= -github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= -github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= -github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= -github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= -github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= -github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= -github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/dockercfg v0.3.1 h1:/FpZ+JaygUR/lZP2NlFI2DVfrOEMAIKP5wWEJdoYe9E= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= -github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/cznic/mathutil v0.0.0-20180504122225-ca4c9f2c1369/go.mod h1:e6NPNENfs9mPDVNRekM7lKScauxd5kXTr1Mfyig6TDM= -github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= -github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= -github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= -github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= 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/denisenkom/go-mssqldb v0.10.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denisenkom/go-mssqldb v0.12.2 h1:1OcPn5GBIobjWNd+8yjfHNIaFX14B1pWI3F9HZy5KXw= github.com/denisenkom/go-mssqldb v0.12.2/go.mod h1:lnIw1mZukFRZDJYQ0Pb833QS2IaC3l5HkEfra2LJ+sk= github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= -github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= -github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dhui/dktest v0.3.9 h1:gE51cCl9PJG0Dw3cB7nuEahXx02LAf8IjKmq1DbKqrQ= -github.com/dhui/dktest v0.3.9/go.mod h1:lTpM9nXq8oO90hEeMXvoIZkS+n3E1DBIADxHqXjeNiY= +github.com/dhui/dktest v0.3.16 h1:i6gq2YQEtcrjKbeJpBkWjE8MmLZPYllcjOFbTZuPDnw= github.com/digitalocean/godo v1.97.0 h1:p9w1yCcWMZcxFSLPToNGXA96WfUVLXqoHti6GzVomL4= github.com/digitalocean/godo v1.97.0/go.mod h1:NRpFznZFvhHjBoqZAaOD3khVzsJ3EibzKqFL4R60dmA= github.com/dimfeld/httptreemux v5.0.1+incompatible h1:Qj3gVcDNoOthBAqftuD596rm4wg/adLLz5xh5CmpiCA= github.com/dimfeld/httptreemux v5.0.1+incompatible/go.mod h1:rbUlSV+CCpv/SuqUTP/8Bk2O3LyUV436/yaRGkhP6Z0= -github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= -github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.12+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.21+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v24.0.2+incompatible h1:eATx+oLz9WdNVkQrr0qjQ8HvRJ4bOOxfzEo8R+dA3cg= github.com/docker/docker v24.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-connections v0.4.1-0.20210727194412-58542c764a11 h1:IPrmumsT9t5BS7XcPhgsCTlkWbYg80SEXUzDpReaU6Y= github.com/docker/go-connections v0.4.1-0.20210727194412-58542c764a11/go.mod h1:a6bNUGTbQBsY6VRHTr4h/rkOXjl244DyRD0tx3fgq4Q= -github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= -github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= -github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= @@ -543,7 +340,6 @@ github.com/eapache/go-xerial-snappy v0.0.0-20230111030713-bf00bc1b83b6 h1:8yY/I9 github.com/eapache/go-xerial-snappy v0.0.0-20230111030713-bf00bc1b83b6/go.mod h1:YvSRo5mw33fLEx1+DlK6L2VV43tJt5Eyel9n9XBcR+0= github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= @@ -557,12 +353,10 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/go-control-plane v0.11.0 h1:jtLewhRR2vMRNnq2ZZUoCjUlgut+Y0+sDDWPOfwOi1o= github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= github.com/envoyproxy/protoc-gen-validate v0.10.0 h1:oIfnZFdC0YhpNNEX+SuIqko4cqqVZeN9IGTrhZje83Y= github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/euank/go-kmsg-parser v2.0.0+incompatible h1:cHD53+PLQuuQyLZeriD1V/esuG4MuU0Pjs5y6iknohY= @@ -578,8 +372,6 @@ github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.5+incompatible h1:/l4kBbb4/vGSsdtB5nUe8L7B9mImVMaBPw9L/0TBHU8= github.com/form3tech-oss/jwt-go v3.2.5+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= @@ -590,23 +382,12 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/fsouza/fake-gcs-server v1.17.0/go.mod h1:D1rTE4YCyHFNa99oyJJ5HyclvN/0uQR+pM/VdlL83bw= -github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= -github.com/gabriel-vasile/mimetype v1.3.1/go.mod h1:fA8fi6KUiG7MgQQ+mEWotXoEOvmxRtOJlERCzSmRvr8= -github.com/gabriel-vasile/mimetype v1.4.0/go.mod h1:fA8fi6KUiG7MgQQ+mEWotXoEOvmxRtOJlERCzSmRvr8= github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU= github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= -github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= -github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= -github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= @@ -614,7 +395,6 @@ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vb github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= @@ -662,63 +442,24 @@ github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr6 github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= github.com/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg= github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/here v0.6.0/go.mod h1:wAG085dHOYqUpf+Ap+WOdrPTp5IYcDAs/x7PLa8Y5fM= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/gocql/gocql v0.0.0-20210515062232-b7ef815b4556/go.mod h1:DL0ekTmBSTdlNF25Orwt/JMzqIq3EJ4MVa/J/uK64OY= -github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= -github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= -github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.6 h1:mkgN1ofwASrYnJ5W6U/BxG15eXXXjirgZc7CLqkcaro= github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= -github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-jwt/jwt/v4 v4.1.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= @@ -726,11 +467,8 @@ github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZ github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= @@ -744,7 +482,6 @@ github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.0.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -764,7 +501,6 @@ github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -774,7 +510,6 @@ github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= github.com/google/cadvisor v0.47.1 h1:YyKnRy/3myRNGOvF1bNF9FFnpjY7Gky5yKi/ZlN+BSo= github.com/google/cadvisor v0.47.1/go.mod h1:iJdTjcjyKHjLCf7OSTzwP5GxdfrkPusw2x5bwGvuLUw= -github.com/google/flatbuffers v2.0.0+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/flatbuffers v23.1.21+incompatible h1:bUqzx/MXCDxuS0hRJL2EfjyZL3uQrPbMocUa8zGqsTA= github.com/google/flatbuffers v23.1.21+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/gnostic v0.6.9 h1:ZK/5VhkoX835RikCHpSUJV9a+S3e1zLh59YnyWeBW+0= @@ -795,8 +530,6 @@ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8 github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-github/v39 v39.2.0/go.mod h1:C1s8C5aCC9L+JXIYpJM5GYytdX52vC1bLvHEF1IhBrE= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -826,10 +559,8 @@ github.com/google/pprof v0.0.0-20230228050547-1710fef4ab10 h1:CqYfpuYIjnlNxM3msd github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= @@ -837,26 +568,20 @@ github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5 github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.10.0 h1:ebSgKfMxynOdxw8QQuFOKMgomqeLGPqNLQox2bo42zg= -github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw= +github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gophercloud/gophercloud v1.2.0 h1:1oXyj4g54KBg/kFtCdMM6jtxSzeIyg8wv4z1HoGPp1E= github.com/gophercloud/gophercloud v1.2.0/go.mod h1:aAVqcocTSXh2vYFZ1JTvx4EQmfgzxRcNupUfxZbBNDM= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= @@ -866,18 +591,13 @@ github.com/grafana/regexp v0.0.0-20221122212121-6b5c0a4cb7fd/go.mod h1:M5qHK+eWf github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grobie/gomemcache v0.0.0-20180201122607-1f779c573665 h1:LONJvPBBd9wBmzSUmNHI7XpLE2qQ5tzUimeBadiVDuA= github.com/grobie/gomemcache v0.0.0-20180201122607-1f779c573665/go.mod h1:L69/dBlPQlWkcnU76WgcppK5e4rrxzQdi6LhLnK/ytA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.15.2 h1:gDLXvp5S9izjldquuoAhDzccbskOL6tDC5jMSyx3zxE= github.com/grpc-ecosystem/grpc-gateway/v2 v2.15.2/go.mod h1:7pdNwVWBBHGiCxa9lAszqCJMbfTISJ7oMftp8+UGV08= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= -github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.13.0/go.mod h1:ZlVrynguJKcYr54zGaDbaL3fOvKC9m72FhPvA8T35KQ= github.com/hashicorp/consul/api v1.20.0 h1:9IHTjNVSZ7MIwjlW3N3a7iGiykCMDpxZu8jsxFJh0yc= @@ -887,7 +607,6 @@ github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOj github.com/hashicorp/consul/sdk v0.13.1 h1:EygWVWWMczTzXGpO93awkHFzfUka6hLYJ0qhETd+6lY= github.com/hashicorp/cronexpr v1.1.1 h1:NJZDd87hGXjoZBdvyCF9mX4DCq5Wy7+A/w+A7q0wn6c= github.com/hashicorp/cronexpr v1.1.1/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= -github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= 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= @@ -906,7 +625,6 @@ github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJ github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3 h1:zKjpN5BK/P5lMYrLmBHdBULWbJ0XpYR+7NGzqkZzoD4= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= @@ -967,10 +685,6 @@ github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= @@ -980,50 +694,6 @@ github.com/influxdata/go-syslog/v3 v3.0.1-0.20210608084020-ac565dc76ba6 h1:s9ZL6 github.com/influxdata/go-syslog/v3 v3.0.1-0.20210608084020-ac565dc76ba6/go.mod h1:aXdIdfn2OcGnMhOTojXmwZqXKgC3MU5riiNvzwwG9OY= github.com/ionos-cloud/sdk-go/v6 v6.1.4 h1:BJHhFA8Q1SZC7VOXqKKr2BV2ysQ2/4hlk1e4hZte7GY= github.com/ionos-cloud/sdk-go/v6 v6.1.4/go.mod h1:Ox3W0iiEz0GHnfY9e5LmAxwklsxguuNFEUSu0gVRTME= -github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= -github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= -github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= -github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= -github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= -github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5lahk= -github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= -github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI= -github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= -github.com/jackc/pgerrcode v0.0.0-20201024163028-a0d42d470451/go.mod h1:a/s9Lp5W7n/DD0VrVoyJ00FbP2ytTPDVOivvn2bMlds= -github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= -github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= -github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.0.7/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= -github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= -github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= -github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= -github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4WpC0= -github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po= -github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ= -github.com/jackc/pgtype v1.6.2/go.mod h1:JCULISAZBFGrHaOXIIFiyfzW5VY0GRitRr8NeJsrdig= -github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= -github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= -github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= -github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXgo+kA= -github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o= -github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg= -github.com/jackc/pgx/v4 v4.10.1/go.mod h1:QlrWebbs3kqEZPHCTGyxecvzG6tvIsYu+A5b1raylkA= -github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jaegertracing/jaeger v1.41.0 h1:vVNky8dP46M2RjGaZ7qRENqylW+tBFay3h57N16Ip7M= github.com/jaegertracing/jaeger v1.41.0/go.mod h1:SIkAT75iVmA9U+mESGYuMH6UQv6V9Qy4qxo0lwfCQAc= github.com/jawher/mow.cli v1.0.4/go.mod h1:5hQj2V8g+qYmLUVWqu4Wuja1pI57M83EChYLVZ0sMKk= @@ -1040,27 +710,19 @@ github.com/jcmturner/gokrb5/v8 v8.4.3 h1:iTonLeSJOn7MVUtyMT+arAn5AKAPrkilzhGw8wE github.com/jcmturner/gokrb5/v8 v8.4.3/go.mod h1:dqRwJGXznQrzw6cWmyo6kH+E7jksEQG/CyVWsJEsJO0= github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/jmoiron/sqlx v1.3.1/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= 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.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -1071,30 +733,16 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= -github.com/k0kubun/pp v2.3.0+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg= -github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/karrick/godirwalk v1.17.0 h1:b4kY7nqDdioR/6qnbHQyDvmA17u5G1cZ6J+CZXwSWoI= github.com/karrick/godirwalk v1.17.0/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNrCn9otv/2QP4D7SMJBgaleKpOf66PnW6F5WGNRIc= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= -github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.10.8/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.13.1/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= @@ -1105,7 +753,6 @@ github.com/knadh/koanf v1.5.0/go.mod h1:Hgyjp4y8v44hpZtPzs7JZfRAW5AhN7KfZcwv1RYg github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b h1:udzkj9S/zlT5X367kqJis0QP7YMxobob6zhzq6Yre00= github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -1115,22 +762,15 @@ github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= -github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/ktrysmt/go-bitbucket v0.6.4/go.mod h1:9u0v3hsd2rqCHRIpbir1oP7F58uo5dq19sBYvuMoyQ4= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/leodido/ragel-machinery v0.0.0-20181214104525-299bdde78165 h1:bCiVCRCs1Heq84lurVinUPy19keqGEe4jh5vtK37jcg= github.com/leodido/ragel-machinery v0.0.0-20181214104525-299bdde78165/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= github.com/leoluk/perflib_exporter v0.2.0 h1:WJU7N3AIHxfc3CjoEJcBgG3i2ltF5Yz1ADVY9T6f1BY= github.com/leoluk/perflib_exporter v0.2.0/go.mod h1:MinSWm88jguXFFrGsP56PtleUb4Qtm4tNRH/wXNXRTI= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.10.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lightstep/go-expohisto v1.0.0 h1:UPtTS1rGdtehbbAF7o/dhkWLTDI73UifG8LbfQI7cA4= @@ -1141,8 +781,6 @@ github.com/linode/linodego v1.14.1 h1:uGxQyy0BidoEpLGdvfi4cPgEW+0YUFsEGrLEhcTfjN github.com/linode/linodego v1.14.1/go.mod h1:NJlzvlNtdMRRkXb0oN6UWzUkj6t+IBsyveHgZ5Ppjyk= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= -github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= @@ -1151,26 +789,15 @@ github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/pkger v0.15.1/go.mod h1:0JoVlrol20BSywW79rN3kdFFsE5xYM+rSCQDXbLhiuI= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= -github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= @@ -1178,13 +805,8 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.10/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/matttproud/golang_protobuf_extensions v1.0.2/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= @@ -1193,7 +815,6 @@ github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKju github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/miekg/dns v1.1.51 h1:0+Xg7vObnhrz/4ZCZcZh7zPXlmU0aveS2HDBd0m0qSo= github.com/miekg/dns v1.1.51/go.mod h1:2Z9d3CP1LQWihRZUf29mQ19yDThaI4DAYzte2CaQW5c= -github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= @@ -1217,30 +838,22 @@ github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4 github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v0.0.0-20180220230111-00c29f56e238/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mkevac/debugcharts v0.0.0-20191222103121-ae1c48aa8615/go.mod h1:Ad7oeElCZqA1Ufj0U9/liOF4BtVepxRcTvr2ey7zTvM= -github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/patternmatcher v0.5.0 h1:YCZgJOeULcxLw1Q+sVR636pmS7sPEn1Qo2iAN6M7DBo= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= -github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= -github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= -github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= -github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= -github.com/moby/term v0.0.0-20221205130635-1aeaba878587 h1:HfkjXDfhgVaN5rmueG8cL8KKeFNecRCXFhaJ2qZ5SKA= github.com/moby/term v0.0.0-20221205130635-1aeaba878587/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= +github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= 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= @@ -1264,14 +877,10 @@ github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ib github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= 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/mutecomm/go-sqlcipher/v4 v4.4.0/go.mod h1:PyN04SaWalavxRGH9E8ZftG6Ju7rsPrGmQRjrEaVpiY= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/nakagami/firebirdsql v0.0.0-20190310045651-3c02a58cfed8/go.mod h1:86wM1zFnC6/uDBfZGNwB65O+pR2OFi5q/YQaEUid1qA= -github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= -github.com/neo4j/neo4j-go-driver v1.8.1-0.20200803113522-b626aa943eba/go.mod h1:ncO5VaFWh0Nrt+4KT4mOZboaczBZcLuHrG+/sUeP8gI= github.com/nginxinc/nginx-plus-go-client v0.6.0/go.mod h1:DBAmdDP71tOhgFPdCMVusegzdKmLVpVL0nVcMX17pbY= github.com/nginxinc/nginx-prometheus-exporter v0.8.1-0.20201110005315-f5a5f8086c19 h1:jR4KbeVA+KYmPq+amRe6AdB4mIfEaSOZGY2zCpqt/p8= github.com/nginxinc/nginx-prometheus-exporter v0.8.1-0.20201110005315-f5a5f8086c19/go.mod h1:L58Se1nwn3cEyHWlcfdlXgiGbHe/efvDbkbi+psz3lA= @@ -1287,25 +896,18 @@ github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/oklog/ulid/v2 v2.0.2 h1:r4fFzBm+bv0wNKNh5eXTwU7i85y5x+uwkxCUTNVQqLc= github.com/oklog/ulid/v2 v2.0.2/go.mod h1:mtBL0Qe/0HAx6/a4Z30qxVIAL1eQDweXq5lxOEiwQ68= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo/v2 v2.9.1 h1:zie5Ly042PD3bsCvsSOPvRnFwyo3rKe64TJlD6nu0mk= -github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= github.com/onsi/gomega v1.27.4 h1:Z2AnStgsdSayCMDiCU42qIz+HLqEPcgiOCXjAU/w+8E= github.com/open-telemetry/opamp-go v0.5.0 h1:2YFbb6G4qBkq3yTRdVb5Nfz9hKHW/ldUyex352e1J7g= github.com/open-telemetry/opamp-go v0.5.0/go.mod h1:IMdeuHGVc5CjKSu5/oNV0o+UmiXuahoHvoZ4GOmAI9M= @@ -1560,38 +1162,17 @@ github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceive github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.79.0/go.mod h1:mY11E+69xT/T2VB65TMk/54/ZAeVNDqGlpCjKkWpAR8= github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver v0.79.0 h1:pUHlVupQx3gIb5pffM7MUI1DC9cNsQKNssJvIiJQ8Qo= github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver v0.79.0/go.mod h1:A0CR4pzi78CzU0YtzqUCLw7+s/OsxyVgKZ0ZyzHVDd8= -github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= -github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= -github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runc v1.1.4/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= github.com/opencontainers/runc v1.1.5/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= -github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.3-0.20220909204839-494a5a6aca78 h1:R5M2qXZiK/mWPMT4VldCOiSL9HIAMuxQZWdG0CSM5+4= github.com/opencontainers/runtime-spec v1.0.3-0.20220909204839-494a5a6aca78/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= -github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= -github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= -github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/opencontainers/selinux v1.10.0 h1:rAiKF8hTcgLI3w0DHm6i0ylVVcOrlgR1kK99DRLDhyU= github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/openshift/api v0.0.0-20210521075222-e273a339932a/go.mod h1:izBmoXbUu3z5kUa4FjZhvekTsyzIWiOoaIgJiZBBMQs= @@ -1615,9 +1196,7 @@ github.com/paulmach/orb v0.4.0 h1:ilp1MQjRapLJ1+qcays1nZpe0mvkCY+b8JU/qBKRZ1A= github.com/paulmach/orb v0.4.0/go.mod h1:FkcWtplUAIVqAuhAOV2d3rpbnQyliDOjOcLW9dUrfdU= github.com/paulmach/protoscan v0.2.1-0.20210522164731-4e53c6875432/go.mod h1:2sV+uZ/oQh66m4XJVZm5iqUZ62BN88Ex1E+TTS0nLzI= github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= @@ -1626,21 +1205,16 @@ github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaF github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= -github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= -github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4/v4 v4.1.8/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pierrec/lz4/v4 v4.1.14/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pierrec/lz4/v4 v4.1.17 h1:kV4Ip+/hUBC+8T6+2EgburRtkE9ef4nbY3f4dFhGjMc= github.com/pierrec/lz4/v4 v4.1.17/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= -github.com/pkg/browser v0.0.0-20210706143420-7d21f8c997e2/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1652,14 +1226,10 @@ github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndr github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= github.com/pquerna/cachecontrol v0.1.0 h1:yJMy84ti9h/+OEWa752kBTKv4XC30OtVVHYv/8cTqKc= github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= -github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.6.0/go.mod h1:ZLOG9ck3JLRdB5MgO8f+lLTe83AXG6ro35rLTxvnIl4= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= @@ -1671,7 +1241,6 @@ github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5 github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= github.com/prometheus/client_golang v1.15.1 h1:8tXpTmJbyH5lydzFPoxSIJ0J46jdh3tylbvM1xCv0LI= github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= -github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -1679,11 +1248,7 @@ github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6T github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= -github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= @@ -1696,17 +1261,11 @@ github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdO github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= -github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= @@ -1716,42 +1275,27 @@ github.com/prometheus/prometheus v0.43.1 h1:Z/Z0S0CoPUVtUnHGokFksWMssSw2Y1Ir9NnW github.com/prometheus/prometheus v0.43.1/go.mod h1:2BA14LgBeqlPuzObSEbh+Y+JwLH2GcqDlJKbF2sA6FM= github.com/prometheus/statsd_exporter v0.22.7 h1:7Pji/i2GuhK6Lu7DHrtTkFmNBCudCPT1pX2CziuyQR0= github.com/prometheus/statsd_exporter v0.22.7/go.mod h1:N/TevpjkIh9ccs6nuzY3jQn9dFqnUakOjnEuMPJJJnI= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= -github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rs/cors v1.9.0 h1:l9HGsTsHJcvW14Nk7J9KFz8bzeAWXn3CG6bgt7LsrAE= github.com/rs/cors v1.9.0/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= -github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.14 h1:yFl3jyaSVLNYXlnNYM5z2pagEk1dYQhfr1p20T1NyKY= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.14/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/segmentio/ksuid v1.0.4 h1:sBo2BdShXjmcugAMwjugoGUdUV0pcxY5mW4xKRn3v4c= github.com/segmentio/ksuid v1.0.4/go.mod h1:/XUiZBD3kVx5SmUOl55voK5yeAbBNNIed+2O73XgrPE= -github.com/sergey-telpuk/migrate/v4 v4.15.3-0.20220303065225-d5ae59d12ff7 h1:oAMuQOlrIBBwDqxyPo+pZAf829w6zKfcB7qGI9l91og= -github.com/sergey-telpuk/migrate/v4 v4.15.3-0.20220303065225-d5ae59d12ff7/go.mod h1:m0OsHoAhCA9OlUH4aSxzM7k9cLmhvXjLyCsxfvC9WHU= github.com/shirou/gopsutil v2.19.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil/v3 v3.23.5 h1:5SgDCeQ0KW0S4N0znjeM/eFHXXOKyv2dVNgRq/c9P6Y= github.com/shirou/gopsutil/v3 v3.23.5/go.mod h1:Ng3Maa27Q2KARVJ0SPZF5NdrQSC3XHKP8IIWrHgMeLY= @@ -1760,9 +1304,6 @@ github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFt github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= -github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= 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/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= @@ -1770,68 +1311,48 @@ github.com/signoz/grok v1.0.3 h1:JHPUTwOKf4YbrCwFYVxcaYAkk1PfjCpIG/6RX+juDOQ= github.com/signoz/grok v1.0.3/go.mod h1:ax1aAchzC6/QMXMcyzHQGZWaW1l195+uMYIkCWPCNIo= github.com/sijms/go-ora/v2 v2.7.6 h1:QyR1CKFxG+VVk2+LdHoHF4NxDSvcQ3deBXtZCrahSq4= github.com/sijms/go-ora/v2 v2.7.6/go.mod h1:EHxlY6x7y9HAsdfumurRfTd+v8NrEOTR3Xl4FWlH6xk= -github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= -github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.2 h1:oxx1eChJGI6Uks2ZC4W1zpLlVgqB8ner4EuQwV4Ik1Y= +github.com/sirupsen/logrus v1.9.2/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= 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/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/snowflakedb/gosnowflake v1.6.3/go.mod h1:6hLajn6yxuJ4xUHZegMekpq9rnQbGJ7TMwXjgTmA6lg= github.com/snowflakedb/gosnowflake v1.6.19 h1:KSHXrQ5o7uso25hNIzi/RObXtnSGkFgie91X82KcvMY= github.com/snowflakedb/gosnowflake v1.6.19/go.mod h1:FM1+PWUdwB9udFDsXdfD58NONC0m+MlOSmQRvimobSM= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= -github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= 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/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= -github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= 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= @@ -1849,11 +1370,8 @@ github.com/stvp/go-udp-testing v0.0.0-20201019212854-469649b16807/go.mod h1:7jxm github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= github.com/testcontainers/testcontainers-go v0.20.1 h1:mK15UPJ8c5P+NsQKmkqzs/jMdJt6JMs5vlw2y4j92c0= github.com/tg123/go-htpasswd v1.2.1 h1:i4wfsX1KvvkyoMiHZzjS0VzbAPWfxzI8INcZAKtutoU= github.com/tg123/go-htpasswd v1.2.1/go.mod h1:erHp1B86KXdwQf1X5ZrLb7erXZnWueEQezb2dql4q58= @@ -1876,47 +1394,31 @@ github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+Kd github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms= github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852 h1:cPXZWzzG0NllBLdjWoD1nDfaqu98YMv+OneaKc8sPOA= github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= -github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae h1:4hwBBUfQCFe3Cym0ZtKyq7L16eZUtYKs+BaHDN6mAns= github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= github.com/vultr/govultr/v2 v2.17.2 h1:gej/rwr91Puc/tgh+j33p/BLR16UrIPnSr+AIwYWZQs= github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= -github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= -github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/xanzy/go-gitlab v0.15.0/go.mod h1:8zdQa/ri1dfn8eS3Ir1SyfvOKlw7WBJ8DVThkpGiXrs= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -1927,20 +1429,11 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= -github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= -github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -gitlab.com/nyarla/go-crypt v0.0.0-20160106005555-d9a5dc2b789b/go.mod h1:T3BPAOm2cqquPa0MKWeNkmOM5RQsRhkrwMWonFMN7fE= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= -go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= @@ -1949,10 +1442,8 @@ go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsX go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= go.mongodb.org/atlas v0.28.0 h1:CelAXtmiM36tdifSDwWdDH1nNbdvq0M2XfUR8208JxA= go.mongodb.org/atlas v0.28.0/go.mod h1:L4BKwVx/OeEhOVjCSdgo90KJm4469iv7ZLzQms/EPTg= -go.mongodb.org/mongo-driver v1.7.0/go.mod h1:Q4oFMbo1+MSNqICAdYMlC/zSTrwCogR4R8NzkI+yfU8= go.mongodb.org/mongo-driver v1.11.4 h1:4ayjakA013OdpGyL2K3ZqylTac/rMjrJOMZ1EHizXas= go.mongodb.org/mongo-driver v1.11.4/go.mod h1:PTSz5yu21bkT/wXpkS7WR5f0ddqw5quethTUn9WM+2g= -go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/collector v0.79.0 h1:Lra7U0ilMor1g5WVkO3YZ0kZYsvzAtGN+Uq+CmC96JY= @@ -2016,51 +1507,32 @@ go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwY go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= -golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= @@ -2069,14 +1541,10 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= @@ -2085,15 +1553,8 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -2118,39 +1579,28 @@ golang.org/x/mod v0.3.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hM golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181108082009-03003ca0c849/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190225153610-fe579d43d832/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -2166,7 +1616,6 @@ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -2180,16 +1629,12 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220111093109-d55c255bac03/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= @@ -2200,9 +1645,7 @@ golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/oauth2 v0.0.0-20180227000427-d7d64896b5ff/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2218,7 +1661,6 @@ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= @@ -2226,7 +1668,6 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2239,13 +1680,11 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180224232135-f6cff0780e54/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2253,23 +1692,14 @@ golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2278,19 +1708,15 @@ golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220220014-0732a990476f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2307,23 +1733,13 @@ golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201126233918-771906719818/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2331,16 +1747,13 @@ golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2350,8 +1763,6 @@ golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210818153620-00dd8d7831e7/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2361,10 +1772,7 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2403,46 +1811,31 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -2473,7 +1866,6 @@ golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -2490,23 +1882,14 @@ golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo= golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= -golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= 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= -gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= gonum.org/v1/gonum v0.13.0 h1:a0T3bh+7fhRyqeNbiC3qVHYmkiQgit3wnNan/2c0HMM= gonum.org/v1/gonum v0.13.0/go.mod h1:/WPYRckkfWrhWefxyYTfrTtQR0KH4iyHNuzxqXAKyAU= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= -google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -2535,15 +1918,10 @@ google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNe google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= -google.golang.org/api v0.125.0 h1:7xGvEY4fyWbhWMHf3R2/4w7L4fXyfpRGE9g6lp8+DCk= -google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= -google.golang.org/appengine v1.0.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= @@ -2551,13 +1929,11 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -2566,7 +1942,6 @@ google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -2586,7 +1961,6 @@ google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -2602,7 +1976,6 @@ google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxH google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210630183607-d20f26d13c79/go.mod h1:yiaVoXHpRzHGyxV3o4DktVWY4mSUErTKaeEOq6C3t3U= google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= @@ -2612,14 +1985,8 @@ google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEc google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220111164026-67b88f271998/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc h1:8DyZCyvI8mE1IdLy/60bS+52xfymkE72wv1asokgtao= google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= @@ -2627,16 +1994,12 @@ google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc h1: google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc h1:XSJ8Vk1SWuNr8S18z1NZSziL0CPIXLCCMDOEFtHBOFc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -2658,8 +2021,6 @@ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= @@ -2683,22 +2044,17 @@ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/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-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/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/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= -gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= @@ -2708,21 +2064,17 @@ gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.4.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= @@ -2733,13 +2085,7 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0/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= -gorm.io/driver/postgres v1.0.8/go.mod h1:4eOzrI1MUfm6ObJU/UcmbXyiHSs8jSwH95G5P5dxcAg= -gorm.io/gorm v1.20.12/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= -gorm.io/gorm v1.21.4/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -2748,97 +2094,44 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= -k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= -k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= k8s.io/api v0.27.2 h1:+H17AJpUMvl+clT+BPnKf0E3ksMAzoBBg7CntpSuADo= k8s.io/api v0.27.2/go.mod h1:ENmbocXfBT2ADujUXcBhHV55RIT31IIEvkntP6vZKS4= -k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= -k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= -k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= k8s.io/apimachinery v0.27.2 h1:vBjGaKKieaIreI+oQwELalVG4d8f3YAMNpWLzDXkxeg= k8s.io/apimachinery v0.27.2/go.mod h1:XNfZ6xklnMCOGGFNqXG7bUrQCoR04dh/E7FprV6pb+E= -k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= -k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= -k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= -k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= -k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= -k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= k8s.io/client-go v0.21.1/go.mod h1:/kEw4RgW+3xnBGzvp9IWxKSNA+lXn3A7AuH3gdOAzLs= k8s.io/client-go v0.27.2 h1:vDLSeuYvCHKeoQRhCXjxXO45nHVv2Ip4Fe0MfioMrhE= k8s.io/client-go v0.27.2/go.mod h1:tY0gVmUsHrAmjzHX9zs7eCjxcBsf8IiNe7KQ52biTcQ= k8s.io/code-generator v0.21.1/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q= -k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= -k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= -k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= -k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= -k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= -k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= -k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE= k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg= k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f/go.mod h1:byini6yhqGC14c3ebc/QwanvYwhuMWF6yz2F8uwW8eg= k8s.io/kubelet v0.27.2 h1:vpJnBkqQjxItEhehKG0toXoZ+G+tf4UXAOqtMJy6qgc= k8s.io/kubelet v0.27.2/go.mod h1:1SVrHaLnuw53nQJx8036k9HjE0teDXZtbN51cYC0HSc= -k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20230308161112-d77c459e9343 h1:m7tbIjXGcGIAtpmQr7/NAi7RsWoW3E7Zcm4jI1HicTc= k8s.io/utils v0.0.0-20230308161112-d77c459e9343/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -modernc.org/b v1.0.0/go.mod h1:uZWcZfRj1BpYzfN9JTerzlNUnnPsV9O2ZA8JsRcubNg= -modernc.org/cc/v3 v3.32.4/go.mod h1:0R6jl1aZlIl2avnYfbfHBS1QB6/f+16mihBObaBC878= -modernc.org/ccgo/v3 v3.9.2/go.mod h1:gnJpy6NIVqkETT+L5zPsQFj7L2kkhfPMzOghRNv/CFo= -modernc.org/db v1.0.0/go.mod h1:kYD/cO29L/29RM0hXYl4i3+Q5VojL31kTUVpVJDw0s8= -modernc.org/file v1.0.0/go.mod h1:uqEokAEn1u6e+J45e54dsEA/pw4o7zLrA2GwyntZzjw= -modernc.org/fileutil v1.0.0/go.mod h1:JHsWpkrk/CnVV1H/eGlFf85BEpfkrp56ro8nojIq9Q8= -modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= -modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= -modernc.org/internal v1.0.0/go.mod h1:VUD/+JAkhCpvkUitlEOnhpVxCgsBI90oTzSCRcqQVSM= -modernc.org/libc v1.7.13-0.20210308123627-12f642a52bb8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= -modernc.org/libc v1.9.5/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= -modernc.org/lldb v1.0.0/go.mod h1:jcRvJGWfCGodDZz8BPwiKMJxGJngQ/5DrRapkQnLob8= -modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= -modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/memory v1.0.4/go.mod h1:nV2OApxradM3/OVbs2/0OsP6nPfakXpi50C7dcoHXlc= -modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= -modernc.org/ql v1.0.0/go.mod h1:xGVyrLIatPcO2C1JvI/Co8c0sr6y91HKFNy4pt9JXEY= -modernc.org/sortutil v1.1.0/go.mod h1:ZyL98OQHJgH9IEfN71VsamvJgrtRX9Dj2gX+vH86L1k= -modernc.org/sqlite v1.10.6/go.mod h1:Z9FEjUtZP4qFEg6/SiADg9XCER7aYy9a/j7Pg9P7CPs= -modernc.org/strutil v1.1.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= -modernc.org/tcl v1.5.2/go.mod h1:pmJYOLgpiys3oI4AeAafkcUfE+TKKilminxNyU/+Zlo= -modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= -modernc.org/z v1.0.1-0.20210308123920-1f282aa71362/go.mod h1:8/SRk5C/HgiQWCgXdfpb+1RvhORdkz5sw72d3jjtyqA= -modernc.org/z v1.0.1/go.mod h1:8/SRk5C/HgiQWCgXdfpb+1RvhORdkz5sw72d3jjtyqA= -modernc.org/zappy v1.0.0/go.mod h1:hHe+oGahLVII/aTTyWK/b53VDHMAGCBYYeZ9sn83HC4= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.1.0/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= From ad8afed5ce9eee1bab5bc9e2c90cfae40b1bbad5 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Fri, 6 Oct 2023 15:08:52 +0530 Subject: [PATCH 02/32] fix: return error if migrations fail to run --- .../clickhousetracesexporter/clickhouse_factory.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/exporter/clickhousetracesexporter/clickhouse_factory.go b/exporter/clickhousetracesexporter/clickhouse_factory.go index 5b08c6bd..8eff7e99 100644 --- a/exporter/clickhousetracesexporter/clickhouse_factory.go +++ b/exporter/clickhousetracesexporter/clickhouse_factory.go @@ -19,6 +19,7 @@ import ( "flag" "fmt" "net/url" + "strings" "github.com/ClickHouse/clickhouse-go/v2" "github.com/golang-migrate/migrate/v4" @@ -125,10 +126,15 @@ func (f *Factory) Initialize(logger *zap.Logger) error { } // enable migration file templating m.EnableTemplating = true - + // run migrations err = m.Up() - f.logger.Info("Clickhouse Migrate finished", zap.Error(err)) + if err != nil && !strings.HasSuffix(err.Error(), "no change") { + f.logger.Error("clickhouse Migrate failed to run", zap.Error(err)) + return fmt.Errorf("clickhouse Migrate failed to run, error: %s", err) + } + + f.logger.Info("Clickhouse Migrate finished") return nil } From e6bd49b32c82653108319001727104b20a6f4357 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Tue, 10 Oct 2023 17:05:32 +0530 Subject: [PATCH 03/32] feat: separate migrations from codebase + templatize migrations --- cmd/signozcollectormigrator/migrate.go | 74 ++++++++ exporter/clickhouselogsexporter/exporter.go | 83 --------- .../migrations/000002_add_minmax_idx.down.sql | 1 - .../migrations/000002_add_minmax_idx.up.sql | 1 - .../000003_add_distributed_table.down.sql | 3 - .../000004_ttl_only_drop_parts.down.sql | 1 - .../000004_ttl_only_drop_parts.up.sql | 1 - .../migrations/000006_tag_attributes.down.sql | 2 - .../000007_default_indexes.down.sql | 5 - .../clickhousemetricsexporter/clickhouse.go | 97 ----------- .../clickhouse_factory.go | 164 ------------------ .../migrations/000001_init_db.down.sql | 1 - .../migrations/000002_init_schema.down.sql | 1 - .../migrations/000002_init_schema.up.sql | 1 - .../migrations/000004_update_table.down.sql | 1 - .../migrations/000004_update_table.up.sql | 1 - .../migrations/000005_add_hasError.down.sql | 1 - .../migrations/000005_add_hasError.up.sql | 1 - .../migrations/000006_add_tag_map.down.sql | 1 - .../migrations/000006_add_tag_map.up.sql | 1 - .../000007_init_signoz_index_v2.down.sql | 3 - .../000008_init_signoz_spans.down.sql | 1 - .../000010_add_gRPC_code_method.down.sql | 1 - .../000010_add_gRPC_code_method.up.sql | 1 - .../000011_init_durationMV.down.sql | 2 - .../000014_add_usage_explorer_mv.down.sql | 2 - .../000019_ttl_only_drop_parts.down.sql | 6 - .../000019_ttl_only_drop_parts.up.sql | 6 - .../000023_span_attributes_mv.down.sql | 2 - migrator/manager.go | 86 +++++++++ migrator/migrators/baseMigrator/migrator.go | 141 +++++++++++++++ .../logs}/migrations/000001_init_db.down.sql | 14 +- .../logs}/migrations/000001_init_db.up.sql | 15 +- .../migrations/000002_add_minmax_idx.down.sql | 1 + .../migrations/000002_add_minmax_idx.up.sql | 1 + .../000003_add_distributed_table.down.sql | 3 + .../000003_add_distributed_table.up.sql | 6 +- .../000004_ttl_only_drop_parts.down.sql | 1 + .../000004_ttl_only_drop_parts.up.sql | 1 + .../000005_attribute_rename.down.sql | 18 +- .../migrations/000005_attribute_rename.up.sql | 18 +- .../migrations/000006_tag_attributes.down.sql | 2 + .../migrations/000006_tag_attributes.up.sql | 4 +- .../000007_default_indexes.down.sql | 5 + .../migrations/000007_default_indexes.up.sql | 6 +- migrator/migrators/logs/migrator.go | 24 +++ .../migrations/000001_init_db.down.sql | 11 ++ .../metrics/migrations/000001_init_db.up.sql | 55 ++++++ migrator/migrators/metrics/migrator.go | 40 +++++ migrator/migrators/migrators.go | 18 ++ .../traces/migrations/000001_init_db.down.sql | 1 + .../traces}/migrations/000001_init_db.up.sql | 2 +- .../migrations/000002_init_schema.down.sql | 1 + .../migrations/000002_init_schema.up.sql | 1 + .../migrations/000003_init_schema.down.sql | 2 +- .../migrations/000003_init_schema.up.sql | 2 +- .../migrations/000004_update_table.down.sql | 1 + .../migrations/000004_update_table.up.sql | 1 + .../migrations/000005_add_hasError.down.sql | 1 + .../migrations/000005_add_hasError.up.sql | 1 + .../migrations/000006_add_tag_map.down.sql | 1 + .../migrations/000006_add_tag_map.up.sql | 1 + .../000007_init_signoz_index_v2.down.sql | 3 + .../000007_init_signoz_index_v2.up.sql | 2 +- .../000008_init_signoz_spans.down.sql | 1 + .../000008_init_signoz_spans.up.sql | 2 +- .../000009_init_signoz_error_index.down.sql | 2 +- .../000009_init_signoz_error_index.up.sql | 2 +- .../000010_add_gRPC_code_method.down.sql | 1 + .../000010_add_gRPC_code_method.up.sql | 1 + .../000011_init_durationMV.down.sql | 2 + .../migrations/000011_init_durationMV.up.sql | 4 +- ...000012_init_signoz_error_index_v2.down.sql | 2 +- .../000012_init_signoz_error_index_v2.up.sql | 2 +- ...013_add_RPC_system_service_method.down.sql | 10 +- ...00013_add_RPC_system_service_method.up.sql | 12 +- .../000014_add_usage_explorer_mv.down.sql | 2 + .../000014_add_usage_explorer_mv.up.sql | 4 +- .../000015_top_level_operations_mv.down.sql | 6 +- .../000015_top_level_operations_mv.up.sql | 6 +- .../000016_dependency_graph_minutes.down.sql | 8 +- .../000016_dependency_graph_minutes.up.sql | 8 +- .../000017_add_distributed_table.down.sql | 14 +- .../000017_add_distributed_table.up.sql | 14 +- .../000018_add_new_tag_types.down.sql | 12 +- .../000018_add_new_tag_types.up.sql | 12 +- .../000019_ttl_only_drop_parts.down.sql | 6 + .../000019_ttl_only_drop_parts.up.sql | 6 + .../000020_resource_att_exceptions.down.sql | 4 +- .../000020_resource_att_exceptions.up.sql | 4 +- ...source_attributes_signoz_index_v2.down.sql | 4 +- ...resource_attributes_signoz_index_v2.up.sql | 4 +- ...00022_dependency_graph_minutes_v2.down.sql | 10 +- .../000022_dependency_graph_minutes_v2.up.sql | 10 +- .../000023_span_attributes_mv.down.sql | 2 + .../000023_span_attributes_mv.up.sql | 4 +- .../000024_span_attributes_keys.down.sql | 4 +- .../000024_span_attributes_keys.up.sql | 4 +- migrator/migrators/traces/migrator.go | 25 +++ 99 files changed, 649 insertions(+), 520 deletions(-) create mode 100644 cmd/signozcollectormigrator/migrate.go delete mode 100644 exporter/clickhouselogsexporter/migrations/000002_add_minmax_idx.down.sql delete mode 100644 exporter/clickhouselogsexporter/migrations/000002_add_minmax_idx.up.sql delete mode 100644 exporter/clickhouselogsexporter/migrations/000003_add_distributed_table.down.sql delete mode 100644 exporter/clickhouselogsexporter/migrations/000004_ttl_only_drop_parts.down.sql delete mode 100644 exporter/clickhouselogsexporter/migrations/000004_ttl_only_drop_parts.up.sql delete mode 100644 exporter/clickhouselogsexporter/migrations/000006_tag_attributes.down.sql delete mode 100644 exporter/clickhouselogsexporter/migrations/000007_default_indexes.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000001_init_db.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000002_init_schema.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000002_init_schema.up.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000004_update_table.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000004_update_table.up.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000005_add_hasError.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000005_add_hasError.up.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000006_add_tag_map.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000006_add_tag_map.up.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000007_init_signoz_index_v2.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000008_init_signoz_spans.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000010_add_gRPC_code_method.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000010_add_gRPC_code_method.up.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000011_init_durationMV.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000014_add_usage_explorer_mv.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000019_ttl_only_drop_parts.down.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000019_ttl_only_drop_parts.up.sql delete mode 100644 exporter/clickhousetracesexporter/migrations/000023_span_attributes_mv.down.sql create mode 100644 migrator/manager.go create mode 100644 migrator/migrators/baseMigrator/migrator.go rename {exporter/clickhouselogsexporter => migrator/migrators/logs}/migrations/000001_init_db.down.sql (51%) rename {exporter/clickhouselogsexporter => migrator/migrators/logs}/migrations/000001_init_db.up.sql (82%) create mode 100644 migrator/migrators/logs/migrations/000002_add_minmax_idx.down.sql create mode 100644 migrator/migrators/logs/migrations/000002_add_minmax_idx.up.sql create mode 100644 migrator/migrators/logs/migrations/000003_add_distributed_table.down.sql rename {exporter/clickhouselogsexporter => migrator/migrators/logs}/migrations/000003_add_distributed_table.up.sql (70%) create mode 100644 migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.down.sql create mode 100644 migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.up.sql rename {exporter/clickhouselogsexporter => migrator/migrators/logs}/migrations/000005_attribute_rename.down.sql (57%) rename {exporter/clickhouselogsexporter => migrator/migrators/logs}/migrations/000005_attribute_rename.up.sql (57%) create mode 100644 migrator/migrators/logs/migrations/000006_tag_attributes.down.sql rename {exporter/clickhouselogsexporter => migrator/migrators/logs}/migrations/000006_tag_attributes.up.sql (90%) create mode 100644 migrator/migrators/logs/migrations/000007_default_indexes.down.sql rename {exporter/clickhouselogsexporter => migrator/migrators/logs}/migrations/000007_default_indexes.up.sql (52%) create mode 100644 migrator/migrators/logs/migrator.go create mode 100644 migrator/migrators/metrics/migrations/000001_init_db.down.sql create mode 100644 migrator/migrators/metrics/migrations/000001_init_db.up.sql create mode 100644 migrator/migrators/metrics/migrator.go create mode 100644 migrator/migrators/migrators.go create mode 100644 migrator/migrators/traces/migrations/000001_init_db.down.sql rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000001_init_db.up.sql (98%) create mode 100644 migrator/migrators/traces/migrations/000002_init_schema.down.sql create mode 100644 migrator/migrators/traces/migrations/000002_init_schema.up.sql rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000003_init_schema.down.sql (75%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000003_init_schema.up.sql (96%) create mode 100644 migrator/migrators/traces/migrations/000004_update_table.down.sql create mode 100644 migrator/migrators/traces/migrations/000004_update_table.up.sql create mode 100644 migrator/migrators/traces/migrations/000005_add_hasError.down.sql create mode 100644 migrator/migrators/traces/migrations/000005_add_hasError.up.sql create mode 100644 migrator/migrators/traces/migrations/000006_add_tag_map.down.sql create mode 100644 migrator/migrators/traces/migrations/000006_add_tag_map.up.sql create mode 100644 migrator/migrators/traces/migrations/000007_init_signoz_index_v2.down.sql rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000007_init_signoz_index_v2.up.sql (98%) create mode 100644 migrator/migrators/traces/migrations/000008_init_signoz_spans.down.sql rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000008_init_signoz_spans.up.sql (93%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000009_init_signoz_error_index.down.sql (75%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000009_init_signoz_error_index.up.sql (96%) create mode 100644 migrator/migrators/traces/migrations/000010_add_gRPC_code_method.down.sql create mode 100644 migrator/migrators/traces/migrations/000010_add_gRPC_code_method.up.sql create mode 100644 migrator/migrators/traces/migrations/000011_init_durationMV.down.sql rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000011_init_durationMV.up.sql (97%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000012_init_signoz_error_index_v2.down.sql (72%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000012_init_signoz_error_index_v2.up.sql (95%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000013_add_RPC_system_service_method.down.sql (68%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000013_add_RPC_system_service_method.up.sql (78%) create mode 100644 migrator/migrators/traces/migrations/000014_add_usage_explorer_mv.down.sql rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000014_add_usage_explorer_mv.up.sql (90%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000015_top_level_operations_mv.down.sql (50%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000015_top_level_operations_mv.up.sql (86%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000016_dependency_graph_minutes.down.sql (61%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000016_dependency_graph_minutes.up.sql (90%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000017_add_distributed_table.down.sql (66%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000017_add_distributed_table.up.sql (68%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000018_add_new_tag_types.down.sql (79%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000018_add_new_tag_types.up.sql (79%) create mode 100644 migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.down.sql create mode 100644 migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.up.sql rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000020_resource_att_exceptions.down.sql (58%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000020_resource_att_exceptions.up.sql (82%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000021_resource_attributes_signoz_index_v2.down.sql (61%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000021_resource_attributes_signoz_index_v2.up.sql (84%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000022_dependency_graph_minutes_v2.down.sql (60%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000022_dependency_graph_minutes_v2.up.sql (91%) create mode 100644 migrator/migrators/traces/migrations/000023_span_attributes_mv.down.sql rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000023_span_attributes_mv.up.sql (89%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000024_span_attributes_keys.down.sql (68%) rename {exporter/clickhousetracesexporter => migrator/migrators/traces}/migrations/000024_span_attributes_keys.up.sql (81%) create mode 100644 migrator/migrators/traces/migrator.go diff --git a/cmd/signozcollectormigrator/migrate.go b/cmd/signozcollectormigrator/migrate.go new file mode 100644 index 00000000..93a2d841 --- /dev/null +++ b/cmd/signozcollectormigrator/migrate.go @@ -0,0 +1,74 @@ +package main + +import ( + "context" + "fmt" + "log" + "os" + + "github.com/SigNoz/signoz-otel-collector/migrator" + "github.com/spf13/pflag" + "go.uber.org/zap" + "go.uber.org/zap/zapcore" +) + +func init() { + // init zap logger + config := zap.NewProductionConfig() + config.EncoderConfig.EncodeLevel = zapcore.LowercaseLevelEncoder + config.EncoderConfig.TimeKey = "timestamp" + config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder + logger, err := config.Build() + if err != nil { + log.Fatalf("Failed to initialize zap logger %v", err) + } + // replace global logger + zap.ReplaceGlobals(logger) +} + +func main() { + logger := zap.L().With(zap.String("component", "migrate cli")) + f := pflag.NewFlagSet("Collector Migrator CLI Options", pflag.ExitOnError) + + f.Usage = func() { + fmt.Println(f.FlagUsages()) + os.Exit(0) + } + + f.String("dsn", "", "Clickhouse DSN") + f.String("cluster-name", "", "Cluster name to use while running migrations") + f.Bool("multi-node-cluster", false, "True if the dsn points to a multi node clickhouse cluster, false otherwise. Defaults to false.") + + err := f.Parse(os.Args[1:]) + if err != nil { + logger.Fatal("Failed to parse args", zap.Error(err)) + } + + dsn, err := f.GetString("dsn") + if err != nil { + logger.Fatal("Failed to get dsn from args", zap.Error(err)) + } + + clusterName, err := f.GetString("cluster-name") + if err != nil { + logger.Fatal("Failed to get cluster name from args", zap.Error(err)) + } + + multiNodeCluster, err := f.GetBool("multi-node-cluster") + if err != nil { + logger.Fatal("Failed to get multi node cluster flag from args", zap.Error(err)) + } + + if dsn == "" || clusterName == "" { + logger.Fatal("dsn and clusterName are required fields") + } + + migrationManager, err := migrator.NewMigrationManager(dsn, clusterName, multiNodeCluster) + if err != nil { + logger.Fatal("Failed to create migration manager", zap.Error(err)) + } + err = migrationManager.Migrate(context.Background()) + if err != nil { + logger.Fatal("Failed to run migrations", zap.Error(err)) + } +} diff --git a/exporter/clickhouselogsexporter/exporter.go b/exporter/clickhouselogsexporter/exporter.go index 989fc65e..91bbb6a7 100644 --- a/exporter/clickhouselogsexporter/exporter.go +++ b/exporter/clickhouselogsexporter/exporter.go @@ -21,7 +21,6 @@ import ( "fmt" "log" "net/url" - "os" "strings" "sync" "time" @@ -30,9 +29,6 @@ import ( driver "github.com/ClickHouse/clickhouse-go/v2/lib/driver" "github.com/SigNoz/signoz-otel-collector/usage" "github.com/SigNoz/signoz-otel-collector/utils" - "github.com/golang-migrate/migrate/v4" - _ "github.com/golang-migrate/migrate/v4/database/clickhouse" - _ "github.com/golang-migrate/migrate/v4/source/file" "github.com/segmentio/ksuid" "go.opencensus.io/stats" "go.opencensus.io/stats/view" @@ -428,88 +424,9 @@ func newClickhouseClient(logger *zap.Logger, cfg *Config) (clickhouse.Conn, erro if err := db.Ping(ctx); err != nil { return nil, err } - - q := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s ON CLUSTER %s;", databaseName, CLUSTER) - err = db.Exec(ctx, q) - if err != nil { - return nil, fmt.Errorf("failed to create database, err: %s", err) - } - - // drop schema migrations table if running in docker multi node cluster mode so that migrations are run on new nodes - if cfg.DockerMultiNodeCluster { - err = dropSchemaMigrationsTable(db) - if err != nil { - logger.Error("Error dropping schema_migrations table", zap.Error(err)) - return nil, err - } - } - - // do the migration here - - // get the migrations folder - mgsFolder := os.Getenv("LOG_MIGRATIONS_FOLDER") - if mgsFolder == "" { - mgsFolder = migrationsFolder - } - - logger.Info("Running migrations from path: ", zap.Any("test", mgsFolder)) - clickhouseUrl, err := buildClickhouseMigrateURL(cfg) - if err != nil { - return nil, fmt.Errorf("failed to build Clickhouse migrate URL, error: %s", err) - } - m, err := migrate.New("file://"+mgsFolder, clickhouseUrl) - if err != nil { - return nil, fmt.Errorf("clickhouse Migrate failed to run, error: %s", err) - } - // enable migration file templating - m.EnableTemplating = true - - // run migrations - err = m.Up() - if err != nil && !strings.HasSuffix(err.Error(), "no change") { - return nil, fmt.Errorf("clickhouse Migrate failed to run, error: %s", err) - } - - logger.Info("Clickhouse Migrate finished") return db, nil } -func dropSchemaMigrationsTable(db clickhouse.Conn) error { - err := db.Exec(context.Background(), fmt.Sprintf(`DROP TABLE IF EXISTS %s.%s ON CLUSTER %s;`, - databaseName, "schema_migrations", CLUSTER)) - if err != nil { - return fmt.Errorf("error dropping schema_migrations table: %v", err) - } - return nil -} - -func buildClickhouseMigrateURL(cfg *Config) (string, error) { - // return fmt.Sprintf("clickhouse://localhost:9000?database=default&x-multi-statement=true"), nil - var clickhouseUrl string - parsedURL, err := url.Parse(cfg.DSN) - if err != nil { - return "", err - } - host := parsedURL.Host - if host == "" { - return "", fmt.Errorf("unable to parse host") - - } - paramMap, err := url.ParseQuery(parsedURL.RawQuery) - if err != nil { - return "", err - } - username := paramMap["username"] - password := paramMap["password"] - - if len(username) > 0 && len(password) > 0 { - clickhouseUrl = fmt.Sprintf("clickhouse://%s:%s@%s/%s?x-multi-statement=true&x-cluster-name=%s&x-migrations-table=schema_migrations&x-migrations-table-engine=MergeTree", username[0], password[0], host, databaseName, CLUSTER) - } else { - clickhouseUrl = fmt.Sprintf("clickhouse://%s/%s?x-multi-statement=true&x-cluster-name=%s&x-migrations-table=schema_migrations&x-migrations-table-engine=MergeTree", host, databaseName, CLUSTER) - } - return clickhouseUrl, nil -} - func renderInsertLogsSQL(cfg *Config) string { return fmt.Sprintf(insertLogsSQLTemplate, databaseName, DISTRIBUTED_LOGS_TABLE) } diff --git a/exporter/clickhouselogsexporter/migrations/000002_add_minmax_idx.down.sql b/exporter/clickhouselogsexporter/migrations/000002_add_minmax_idx.down.sql deleted file mode 100644 index 167455da..00000000 --- a/exporter/clickhouselogsexporter/migrations/000002_add_minmax_idx.down.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_logs.logs ON CLUSTER cluster DROP INDEX IF EXISTS id_minmax; diff --git a/exporter/clickhouselogsexporter/migrations/000002_add_minmax_idx.up.sql b/exporter/clickhouselogsexporter/migrations/000002_add_minmax_idx.up.sql deleted file mode 100644 index 1735a69e..00000000 --- a/exporter/clickhouselogsexporter/migrations/000002_add_minmax_idx.up.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_logs.logs ON CLUSTER cluster ADD INDEX IF NOT EXISTS id_minmax id TYPE minmax GRANULARITY 1; diff --git a/exporter/clickhouselogsexporter/migrations/000003_add_distributed_table.down.sql b/exporter/clickhouselogsexporter/migrations/000003_add_distributed_table.down.sql deleted file mode 100644 index c668e3fa..00000000 --- a/exporter/clickhouselogsexporter/migrations/000003_add_distributed_table.down.sql +++ /dev/null @@ -1,3 +0,0 @@ -DROP TABLE IF EXISTS signoz_logs.distributed_logs ON CLUSTER cluster; -DROP TABLE IF EXISTS signoz_logs.distributed_logs_atrribute_keys ON CLUSTER cluster; -DROP TABLE IF EXISTS signoz_logs.distributed_logs_resource_keys ON CLUSTER cluster; \ No newline at end of file diff --git a/exporter/clickhouselogsexporter/migrations/000004_ttl_only_drop_parts.down.sql b/exporter/clickhouselogsexporter/migrations/000004_ttl_only_drop_parts.down.sql deleted file mode 100644 index 6afaddfa..00000000 --- a/exporter/clickhouselogsexporter/migrations/000004_ttl_only_drop_parts.down.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_logs.logs ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 0; diff --git a/exporter/clickhouselogsexporter/migrations/000004_ttl_only_drop_parts.up.sql b/exporter/clickhouselogsexporter/migrations/000004_ttl_only_drop_parts.up.sql deleted file mode 100644 index 2d62d107..00000000 --- a/exporter/clickhouselogsexporter/migrations/000004_ttl_only_drop_parts.up.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_logs.logs ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 1; diff --git a/exporter/clickhouselogsexporter/migrations/000006_tag_attributes.down.sql b/exporter/clickhouselogsexporter/migrations/000006_tag_attributes.down.sql deleted file mode 100644 index 42982835..00000000 --- a/exporter/clickhouselogsexporter/migrations/000006_tag_attributes.down.sql +++ /dev/null @@ -1,2 +0,0 @@ -DROP TABLE IF EXISTS signoz_logs.distributed_tag_attributes ON CLUSTER cluster; -DROP TABLE IF EXISTS signoz_logs.tag_attributes ON CLUSTER cluster; \ No newline at end of file diff --git a/exporter/clickhouselogsexporter/migrations/000007_default_indexes.down.sql b/exporter/clickhouselogsexporter/migrations/000007_default_indexes.down.sql deleted file mode 100644 index dd21eb16..00000000 --- a/exporter/clickhouselogsexporter/migrations/000007_default_indexes.down.sql +++ /dev/null @@ -1,5 +0,0 @@ -ALTER TABLE signoz_logs.logs ON CLUSTER cluster drop index IF EXISTS severity_number_idx; - -ALTER TABLE signoz_logs.logs ON CLUSTER cluster drop index IF EXISTS severity_text_idx; - -ALTER TABLE signoz_logs.logs ON CLUSTER cluster drop index IF EXISTS trace_flags_idx; \ No newline at end of file diff --git a/exporter/clickhousemetricsexporter/clickhouse.go b/exporter/clickhousemetricsexporter/clickhouse.go index 6a1de323..8b3af125 100644 --- a/exporter/clickhousemetricsexporter/clickhouse.go +++ b/exporter/clickhousemetricsexporter/clickhouse.go @@ -94,85 +94,6 @@ func NewClickHouse(params *ClickHouseParams) (base.Storage, error) { return nil, fmt.Errorf("database should be set in ClickHouse DSN") } - var queries []string - if params.DropDatabase { - queries = append(queries, fmt.Sprintf(`DROP DATABASE IF EXISTS %s ON CLUSTER %s;`, database, CLUSTER)) - } - queries = append(queries, fmt.Sprintf(`CREATE DATABASE IF NOT EXISTS %s ON CLUSTER %s`, database, CLUSTER)) - - queries = append(queries, fmt.Sprintf(` - CREATE TABLE IF NOT EXISTS %s.%s ON CLUSTER %s ( - metric_name LowCardinality(String), - fingerprint UInt64 Codec(DoubleDelta, LZ4), - timestamp_ms Int64 Codec(DoubleDelta, LZ4), - value Float64 Codec(Gorilla, LZ4) - ) - ENGINE = MergeTree - PARTITION BY toDate(timestamp_ms / 1000) - ORDER BY (metric_name, fingerprint, timestamp_ms) - TTL toDateTime(timestamp_ms/1000) + INTERVAL 2592000 SECOND DELETE;`, database, SAMPLES_TABLE, CLUSTER)) - - queries = append(queries, fmt.Sprintf(` - CREATE TABLE IF NOT EXISTS %s.%s ON CLUSTER %s AS %s.%s ENGINE = Distributed("%s", "%s", %s, cityHash64(metric_name, fingerprint));`, database, DISTRIBUTED_SAMPLES_TABLE, CLUSTER, database, SAMPLES_TABLE, CLUSTER, database, SAMPLES_TABLE)) - - queries = append(queries, fmt.Sprintf(` - ALTER TABLE %s.%s ON CLUSTER %s MODIFY SETTING ttl_only_drop_parts = 1;`, database, SAMPLES_TABLE, CLUSTER)) - - queries = append(queries, `SET allow_experimental_object_type = 1`) - - queries = append(queries, fmt.Sprintf(` - CREATE TABLE IF NOT EXISTS %s.%s ON CLUSTER %s( - metric_name LowCardinality(String), - fingerprint UInt64 Codec(DoubleDelta, LZ4), - timestamp_ms Int64 Codec(DoubleDelta, LZ4), - labels String Codec(ZSTD(5)) - ) - ENGINE = ReplacingMergeTree - PARTITION BY toDate(timestamp_ms / 1000) - ORDER BY (metric_name, fingerprint) - TTL toDateTime(timestamp_ms/1000) + INTERVAL 2592000 SECOND DELETE;`, database, TIME_SERIES_TABLE, CLUSTER)) - - queries = append(queries, fmt.Sprintf(` - CREATE TABLE IF NOT EXISTS %s.%s ON CLUSTER %s AS %s.%s ENGINE = Distributed("%s", %s, %s, cityHash64(metric_name, fingerprint));`, database, DISTRIBUTED_TIME_SERIES_TABLE, CLUSTER, database, TIME_SERIES_TABLE, CLUSTER, database, TIME_SERIES_TABLE)) - - queries = append(queries, fmt.Sprintf(` - ALTER TABLE %s.%s ON CLUSTER %s DROP COLUMN IF EXISTS labels_object`, database, TIME_SERIES_TABLE, CLUSTER)) - - queries = append(queries, fmt.Sprintf(` - ALTER TABLE %s.%s ON CLUSTER %s DROP COLUMN IF EXISTS labels_object`, database, DISTRIBUTED_TIME_SERIES_TABLE, CLUSTER)) - - queries = append(queries, fmt.Sprintf(` - ALTER TABLE %s.%s ON CLUSTER %s MODIFY SETTING ttl_only_drop_parts = 1;`, database, TIME_SERIES_TABLE, CLUSTER)) - - // Add temporality column to time_series table - queries = append(queries, fmt.Sprintf(` - ALTER TABLE %s.%s ON CLUSTER %s ADD COLUMN IF NOT EXISTS temporality LowCardinality(String) DEFAULT 'Unspecified' CODEC(ZSTD(5))`, database, TIME_SERIES_TABLE, CLUSTER)) - - queries = append(queries, fmt.Sprintf(` - ALTER TABLE %s.%s ON CLUSTER %s ADD COLUMN IF NOT EXISTS temporality LowCardinality(String) DEFAULT 'Unspecified' CODEC(ZSTD(5))`, database, DISTRIBUTED_TIME_SERIES_TABLE, CLUSTER)) - - // Add set index on temporality column - queries = append(queries, fmt.Sprintf(` - ALTER TABLE %s.%s ON CLUSTER %s ADD INDEX IF NOT EXISTS temporality_index temporality TYPE SET(3) GRANULARITY 1`, database, TIME_SERIES_TABLE, CLUSTER)) - - // Create a new table - queries = append(queries, fmt.Sprintf(` - CREATE TABLE IF NOT EXISTS %s.%s ON CLUSTER %s ( - env LowCardinality(String) DEFAULT 'default', - temporality LowCardinality(String) DEFAULT 'Unspecified', - metric_name LowCardinality(String), - fingerprint UInt64 CODEC(Delta, ZSTD), - timestamp_ms Int64 CODEC(Delta, ZSTD), - labels String CODEC(ZSTD(5)) - ) - ENGINE = ReplacingMergeTree - PARTITION BY toDate(timestamp_ms / 1000) - ORDER BY (env, temporality, metric_name, fingerprint);`, database, TIME_SERIES_TABLE_V3, CLUSTER)) - - // Create a new distributed table - queries = append(queries, fmt.Sprintf(` - CREATE TABLE IF NOT EXISTS %s.%s ON CLUSTER %s AS %s.%s ENGINE = Distributed("%s", %s, %s, cityHash64(env, temporality, metric_name, fingerprint));`, database, DISTRIBUTED_TIME_SERIES_TABLE_V3, CLUSTER, database, TIME_SERIES_TABLE_V3, CLUSTER, database, TIME_SERIES_TABLE_V3)) - options := &clickhouse.Options{ Addr: []string{dsnURL.Host}, } @@ -186,28 +107,10 @@ func NewClickHouse(params *ClickHouseParams) (base.Storage, error) { options.Auth = auth } conn, err := clickhouse.Open(options) - if err != nil { return nil, fmt.Errorf("could not connect to clickhouse: %s", err) } - for _, q := range queries { - q = strings.TrimSpace(q) - l.Infof("Executing:\n%s\n", q) - if err = conn.Exec(context.Background(), q); err != nil { - return nil, err - } - } - - // TODO(srikanthccv): Remove this once we have a better way to handle data and last write - removeTTL := fmt.Sprintf(` - ALTER TABLE %s.%s ON CLUSTER %s REMOVE TTL;`, database, TIME_SERIES_TABLE, CLUSTER) - if err = conn.Exec(context.Background(), removeTTL); err != nil { - if !strings.Contains(err.Error(), "Table doesn't have any table TTL expression, cannot remove.") { - return nil, err - } - } - ch := &clickHouse{ conn: conn, l: l, diff --git a/exporter/clickhousetracesexporter/clickhouse_factory.go b/exporter/clickhousetracesexporter/clickhouse_factory.go index 8eff7e99..e9d9c8da 100644 --- a/exporter/clickhousetracesexporter/clickhouse_factory.go +++ b/exporter/clickhousetracesexporter/clickhouse_factory.go @@ -15,16 +15,10 @@ package clickhousetracesexporter import ( - "context" "flag" "fmt" - "net/url" - "strings" "github.com/ClickHouse/clickhouse-go/v2" - "github.com/golang-migrate/migrate/v4" - _ "github.com/golang-migrate/migrate/v4/database/clickhouse" - _ "github.com/golang-migrate/migrate/v4/source/file" "github.com/spf13/viper" "go.opencensus.io/stats" "go.opencensus.io/stats/view" @@ -99,167 +93,9 @@ func (f *Factory) Initialize(logger *zap.Logger) error { f.archive = archive } - - err = patchGroupByParenInMV(db, f) - if err != nil { - return err - } - - // drop schema migrations table if running in docker multi node cluster mode so that migrations are run on new nodes - if f.Options.primary.DockerMultiNodeCluster { - err = dropSchemaMigrationsTable(db, f) - if err != nil { - return err - } - } - - f.logger.Info("Running migrations from path: ", zap.Any("test", f.Options.primary.Migrations)) - clickhouseUrl, err := buildClickhouseMigrateURL(f.Options.primary.Datasource, f.Options.primary.Cluster) - if err != nil { - return fmt.Errorf("Failed to build Clickhouse migrate URL, error: %s", err) - } - m, err := migrate.New( - "file://"+f.Options.primary.Migrations, - clickhouseUrl) - if err != nil { - return fmt.Errorf("Clickhouse Migrate failed to run, error: %s", err) - } - // enable migration file templating - m.EnableTemplating = true - - // run migrations - err = m.Up() - if err != nil && !strings.HasSuffix(err.Error(), "no change") { - f.logger.Error("clickhouse Migrate failed to run", zap.Error(err)) - return fmt.Errorf("clickhouse Migrate failed to run, error: %s", err) - } - - f.logger.Info("Clickhouse Migrate finished") return nil } -func patchGroupByParenInMV(db clickhouse.Conn, f *Factory) error { - - // check if views already exist, if not, skip as patch is not required for fresh install - for _, table := range []string{f.Options.getPrimary().DependencyGraphDbMV, f.Options.getPrimary().DependencyGraphServiceMV, f.Options.getPrimary().DependencyGraphMessagingMV} { - var exists uint8 - err := db.QueryRow(context.Background(), fmt.Sprintf("EXISTS VIEW %s.%s", f.Options.getPrimary().TraceDatabase, table)).Scan(&exists) - if err != nil { - return err - } - if exists == 0 { - f.logger.Info("View does not exist, skipping patch", zap.String("table", table)) - return nil - } - } - f.logger.Info("Patching views") - // drop views - for _, table := range []string{f.Options.getPrimary().DependencyGraphDbMV, f.Options.getPrimary().DependencyGraphServiceMV, f.Options.getPrimary().DependencyGraphMessagingMV} { - err := db.Exec(context.Background(), fmt.Sprintf("DROP VIEW IF EXISTS %s.%s ON CLUSTER %s", f.Options.getPrimary().TraceDatabase, table, f.Options.getPrimary().Cluster)) - if err != nil { - f.logger.Error(fmt.Sprintf("Error dropping %s view", table), zap.Error(err)) - return fmt.Errorf("error dropping %s view: %v", table, err) - } - } - - // create views with patched group by - err := db.Exec(context.Background(), fmt.Sprintf(`CREATE MATERIALIZED VIEW IF NOT EXISTS %s.%s ON CLUSTER %s - TO %s.%s AS - SELECT - A.serviceName as src, - B.serviceName as dest, - quantilesState(0.5, 0.75, 0.9, 0.95, 0.99)(toFloat64(B.durationNano)) as duration_quantiles_state, - countIf(B.statusCode=2) as error_count, - count(*) as total_count, - toStartOfMinute(B.timestamp) as timestamp - FROM %s.%s AS A, %s.%s AS B - WHERE (A.serviceName != B.serviceName) AND (A.spanID = B.parentSpanID) - GROUP BY timestamp, src, dest;`, f.Options.getPrimary().TraceDatabase, f.Options.getPrimary().DependencyGraphServiceMV, - f.Options.getPrimary().Cluster, f.Options.getPrimary().TraceDatabase, f.Options.getPrimary().DependencyGraphTable, - f.Options.getPrimary().TraceDatabase, f.Options.getPrimary().LocalIndexTable, f.Options.getPrimary().TraceDatabase, - f.Options.getPrimary().LocalIndexTable)) - if err != nil { - f.logger.Error("Error creating "+f.Options.getPrimary().DependencyGraphServiceMV, zap.Error(err)) - return fmt.Errorf("error creating %s: %v", f.Options.getPrimary().DependencyGraphServiceMV, err) - } - err = db.Exec(context.Background(), fmt.Sprintf(`CREATE MATERIALIZED VIEW IF NOT EXISTS %s.%s ON CLUSTER %s - TO %s.%s AS - SELECT - serviceName as src, - tagMap['db.system'] as dest, - quantilesState(0.5, 0.75, 0.9, 0.95, 0.99)(toFloat64(durationNano)) as duration_quantiles_state, - countIf(statusCode=2) as error_count, - count(*) as total_count, - toStartOfMinute(timestamp) as timestamp - FROM %s.%s - WHERE dest != '' and kind != 2 - GROUP BY timestamp, src, dest;`, f.Options.getPrimary().TraceDatabase, f.Options.getPrimary().DependencyGraphDbMV, - f.Options.getPrimary().Cluster, f.Options.getPrimary().TraceDatabase, f.Options.getPrimary().DependencyGraphTable, - f.Options.getPrimary().TraceDatabase, f.Options.getPrimary().LocalIndexTable)) - if err != nil { - f.logger.Error("Error creating "+f.Options.getPrimary().DependencyGraphDbMV, zap.Error(err)) - return fmt.Errorf("error creating %s: %v", f.Options.getPrimary().DependencyGraphDbMV, err) - } - err = db.Exec(context.Background(), fmt.Sprintf(`CREATE MATERIALIZED VIEW IF NOT EXISTS %s.%s ON CLUSTER %s - TO %s.%s AS - SELECT - serviceName as src, - tagMap['messaging.system'] as dest, - quantilesState(0.5, 0.75, 0.9, 0.95, 0.99)(toFloat64(durationNano)) as duration_quantiles_state, - countIf(statusCode=2) as error_count, - count(*) as total_count, - toStartOfMinute(timestamp) as timestamp - FROM %s.%s - WHERE dest != '' and kind != 2 - GROUP BY timestamp, src, dest;`, f.Options.getPrimary().TraceDatabase, f.Options.getPrimary().DependencyGraphMessagingMV, - f.Options.getPrimary().Cluster, f.Options.getPrimary().TraceDatabase, f.Options.getPrimary().DependencyGraphTable, - f.Options.getPrimary().TraceDatabase, f.Options.getPrimary().LocalIndexTable)) - if err != nil { - f.logger.Error("Error creating "+f.Options.getPrimary().DependencyGraphMessagingMV, zap.Error(err)) - return fmt.Errorf("error creating %s: %v", f.Options.getPrimary().DependencyGraphMessagingMV, err) - } - - return nil -} - -func dropSchemaMigrationsTable(db clickhouse.Conn, f *Factory) error { - err := db.Exec(context.Background(), fmt.Sprintf(`DROP TABLE IF EXISTS %s.%s ON CLUSTER %s;`, - f.Options.getPrimary().TraceDatabase, "schema_migrations", f.Options.getPrimary().Cluster)) - if err != nil { - f.logger.Error("Error dropping schema_migrations table", zap.Error(err)) - return fmt.Errorf("error dropping schema_migrations table: %v", err) - } - return nil -} - -func buildClickhouseMigrateURL(datasource string, cluster string) (string, error) { - // return fmt.Sprintf("clickhouse://localhost:9000?database=default&x-multi-statement=true"), nil - var clickhouseUrl string - database := "signoz_traces" - parsedURL, err := url.Parse(datasource) - if err != nil { - return "", err - } - host := parsedURL.Host - if host == "" { - return "", fmt.Errorf("Unable to parse host") - - } - paramMap, err := url.ParseQuery(parsedURL.RawQuery) - if err != nil { - return "", err - } - username := paramMap["username"] - password := paramMap["password"] - - if len(username) > 0 && len(password) > 0 { - clickhouseUrl = fmt.Sprintf("clickhouse://%s:%s@%s/%s?x-multi-statement=true&x-cluster-name=%s&x-migrations-table=schema_migrations&x-migrations-table-engine=MergeTree", username[0], password[0], host, database, cluster) - } else { - clickhouseUrl = fmt.Sprintf("clickhouse://%s/%s?x-multi-statement=true&x-cluster-name=%s&x-migrations-table=schema_migrations&x-migrations-table-engine=MergeTree", host, database, cluster) - } - return clickhouseUrl, nil -} - func (f *Factory) connect(cfg *namespaceConfig) (clickhouse.Conn, error) { if cfg.Encoding != EncodingJSON && cfg.Encoding != EncodingProto { return nil, fmt.Errorf("unknown encoding %q, supported: %q, %q", cfg.Encoding, EncodingJSON, EncodingProto) diff --git a/exporter/clickhousetracesexporter/migrations/000001_init_db.down.sql b/exporter/clickhousetracesexporter/migrations/000001_init_db.down.sql deleted file mode 100644 index 9f110564..00000000 --- a/exporter/clickhousetracesexporter/migrations/000001_init_db.down.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE IF EXISTS signoz_traces.signoz_index ON CLUSTER cluster; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000002_init_schema.down.sql b/exporter/clickhousetracesexporter/migrations/000002_init_schema.down.sql deleted file mode 100644 index f6eda191..00000000 --- a/exporter/clickhousetracesexporter/migrations/000002_init_schema.down.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index ON CLUSTER cluster DROP COLUMN IF EXISTS events; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000002_init_schema.up.sql b/exporter/clickhousetracesexporter/migrations/000002_init_schema.up.sql deleted file mode 100644 index 0e53ffb2..00000000 --- a/exporter/clickhousetracesexporter/migrations/000002_init_schema.up.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index ON CLUSTER cluster ADD COLUMN IF NOT EXISTS events Array(String); \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000004_update_table.down.sql b/exporter/clickhousetracesexporter/migrations/000004_update_table.down.sql deleted file mode 100644 index 209de8e6..00000000 --- a/exporter/clickhousetracesexporter/migrations/000004_update_table.down.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index ON CLUSTER cluster DROP COLUMN IF EXISTS httpMethod, DROP COLUMN IF EXISTS httpUrl, DROP COLUMN IF EXISTS httpCode, DROP COLUMN IF EXISTS httpRoute, DROP COLUMN IF EXISTS httpHost, DROP COLUMN IF EXISTS msgSystem, DROP COLUMN IF EXISTS msgOperation; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000004_update_table.up.sql b/exporter/clickhousetracesexporter/migrations/000004_update_table.up.sql deleted file mode 100644 index ea7b142a..00000000 --- a/exporter/clickhousetracesexporter/migrations/000004_update_table.up.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index ON CLUSTER cluster ADD COLUMN IF NOT EXISTS httpMethod LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS httpUrl LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS httpCode LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS httpRoute LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS httpHost LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS msgSystem LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS msgOperation LowCardinality(String) CODEC(ZSTD(1)); diff --git a/exporter/clickhousetracesexporter/migrations/000005_add_hasError.down.sql b/exporter/clickhousetracesexporter/migrations/000005_add_hasError.down.sql deleted file mode 100644 index a4c98e70..00000000 --- a/exporter/clickhousetracesexporter/migrations/000005_add_hasError.down.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index ON CLUSTER cluster DROP COLUMN IF EXISTS hasError; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000005_add_hasError.up.sql b/exporter/clickhousetracesexporter/migrations/000005_add_hasError.up.sql deleted file mode 100644 index 95cc9bbf..00000000 --- a/exporter/clickhousetracesexporter/migrations/000005_add_hasError.up.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index ON CLUSTER cluster ADD COLUMN IF NOT EXISTS hasError Int32; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000006_add_tag_map.down.sql b/exporter/clickhousetracesexporter/migrations/000006_add_tag_map.down.sql deleted file mode 100644 index 62a9cb36..00000000 --- a/exporter/clickhousetracesexporter/migrations/000006_add_tag_map.down.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index ON CLUSTER cluster DROP COLUMN IF EXISTS tagMap; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000006_add_tag_map.up.sql b/exporter/clickhousetracesexporter/migrations/000006_add_tag_map.up.sql deleted file mode 100644 index d9a77ae3..00000000 --- a/exporter/clickhousetracesexporter/migrations/000006_add_tag_map.up.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index ON CLUSTER cluster ADD COLUMN IF NOT EXISTS tagMap Map(LowCardinality(String), String); \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000007_init_signoz_index_v2.down.sql b/exporter/clickhousetracesexporter/migrations/000007_init_signoz_index_v2.down.sql deleted file mode 100644 index 11a6be94..00000000 --- a/exporter/clickhousetracesexporter/migrations/000007_init_signoz_index_v2.down.sql +++ /dev/null @@ -1,3 +0,0 @@ -DROP TABLE IF EXISTS signoz_traces.signoz_index_v2 ON CLUSTER cluster; - -SET allow_experimental_projection_optimization = 0; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000008_init_signoz_spans.down.sql b/exporter/clickhousetracesexporter/migrations/000008_init_signoz_spans.down.sql deleted file mode 100644 index 16ec896a..00000000 --- a/exporter/clickhousetracesexporter/migrations/000008_init_signoz_spans.down.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE IF EXISTS signoz_traces.signoz_spans ON CLUSTER cluster; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000010_add_gRPC_code_method.down.sql b/exporter/clickhousetracesexporter/migrations/000010_add_gRPC_code_method.down.sql deleted file mode 100644 index cf151a0a..00000000 --- a/exporter/clickhousetracesexporter/migrations/000010_add_gRPC_code_method.down.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster DROP COLUMN IF EXISTS gRPCCode, DROP COLUMN IF EXISTS gRPCMethod; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000010_add_gRPC_code_method.up.sql b/exporter/clickhousetracesexporter/migrations/000010_add_gRPC_code_method.up.sql deleted file mode 100644 index 07ccc7d0..00000000 --- a/exporter/clickhousetracesexporter/migrations/000010_add_gRPC_code_method.up.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster ADD COLUMN IF NOT EXISTS gRPCMethod LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS gRPCCode LowCardinality(String) CODEC(ZSTD(1)); \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000011_init_durationMV.down.sql b/exporter/clickhousetracesexporter/migrations/000011_init_durationMV.down.sql deleted file mode 100644 index c03d485c..00000000 --- a/exporter/clickhousetracesexporter/migrations/000011_init_durationMV.down.sql +++ /dev/null @@ -1,2 +0,0 @@ -DROP TABLE IF EXISTS signoz_traces.durationSort ON CLUSTER cluster; -DROP VIEW IF EXISTS signoz_traces.durationSortMV ON CLUSTER cluster; diff --git a/exporter/clickhousetracesexporter/migrations/000014_add_usage_explorer_mv.down.sql b/exporter/clickhousetracesexporter/migrations/000014_add_usage_explorer_mv.down.sql deleted file mode 100644 index a0fcf525..00000000 --- a/exporter/clickhousetracesexporter/migrations/000014_add_usage_explorer_mv.down.sql +++ /dev/null @@ -1,2 +0,0 @@ -DROP TABLE IF EXISTS signoz_traces.usage_explorer ON CLUSTER cluster; -DROP VIEW IF EXISTS signoz_traces.usage_explorer_mv ON CLUSTER cluster; diff --git a/exporter/clickhousetracesexporter/migrations/000019_ttl_only_drop_parts.down.sql b/exporter/clickhousetracesexporter/migrations/000019_ttl_only_drop_parts.down.sql deleted file mode 100644 index 29313d16..00000000 --- a/exporter/clickhousetracesexporter/migrations/000019_ttl_only_drop_parts.down.sql +++ /dev/null @@ -1,6 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 0; -ALTER TABLE signoz_traces.signoz_error_index_v2 ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 0; -ALTER TABLE signoz_traces.signoz_spans ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 0; -ALTER TABLE signoz_traces.durationSort ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 0; -ALTER TABLE signoz_traces.dependency_graph_minutes ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 0; -ALTER TABLE signoz_traces.usage_explorer ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 0; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000019_ttl_only_drop_parts.up.sql b/exporter/clickhousetracesexporter/migrations/000019_ttl_only_drop_parts.up.sql deleted file mode 100644 index 8438ed90..00000000 --- a/exporter/clickhousetracesexporter/migrations/000019_ttl_only_drop_parts.up.sql +++ /dev/null @@ -1,6 +0,0 @@ -ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 1; -ALTER TABLE signoz_traces.signoz_error_index_v2 ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 1; -ALTER TABLE signoz_traces.signoz_spans ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 1; -ALTER TABLE signoz_traces.durationSort ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 1; -ALTER TABLE signoz_traces.dependency_graph_minutes ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 1; -ALTER TABLE signoz_traces.usage_explorer ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 1; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000023_span_attributes_mv.down.sql b/exporter/clickhousetracesexporter/migrations/000023_span_attributes_mv.down.sql deleted file mode 100644 index cb5b3c71..00000000 --- a/exporter/clickhousetracesexporter/migrations/000023_span_attributes_mv.down.sql +++ /dev/null @@ -1,2 +0,0 @@ -DROP TABLE IF EXISTS signoz_traces.distributed_span_attributes ON CLUSTER cluster -DROP TABLE IF EXISTS signoz_traces.span_attributes ON CLUSTER cluster; diff --git a/migrator/manager.go b/migrator/manager.go new file mode 100644 index 00000000..db8f47f0 --- /dev/null +++ b/migrator/manager.go @@ -0,0 +1,86 @@ +package migrator + +import ( + "context" + "fmt" + + "github.com/SigNoz/signoz-otel-collector/migrator/migrators" + basemigrator "github.com/SigNoz/signoz-otel-collector/migrator/migrators/baseMigrator" + "github.com/SigNoz/signoz-otel-collector/migrator/migrators/logs" + "github.com/SigNoz/signoz-otel-collector/migrator/migrators/metrics" + "github.com/SigNoz/signoz-otel-collector/migrator/migrators/traces" + "go.uber.org/zap" +) + +type MigrationManager struct { + Migrators []migrators.Migrator + logger *zap.Logger +} + +func NewMigrationManager(dsn string, clusterName string, isMultiNodeCluster bool) (*MigrationManager, error) { + logger := zap.L().With(zap.String("component", "migrationManager")) + migratorConfig := migrators.MigratorConfig{ + DSN: dsn, + ClusterName: clusterName, + IsMultiNodeCluster: isMultiNodeCluster, + } + + logsMigrator, err := createNewMigrator("logs", migratorConfig) + if err != nil { + logger.Error("Failed to create logs migrator", zap.Error(err)) + return nil, err + } + metricsMigrator, err := createNewMigrator("metrics", migratorConfig) + if err != nil { + logger.Error("Failed to create metrics migrator", zap.Error(err)) + return nil, err + } + tracesMigrator, err := createNewMigrator("traces", migratorConfig) + if err != nil { + logger.Error("Failed to create traces migrator", zap.Error(err)) + return nil, err + } + return &MigrationManager{ + Migrators: []migrators.Migrator{ + logsMigrator, + metricsMigrator, + tracesMigrator, + }, + logger: logger, + }, nil +} + +func createNewMigrator(migratorType string, cfg migrators.MigratorConfig) (migrators.Migrator, error) { + logger := zap.L().With(zap.String("migrator", migratorType)) + b, err := basemigrator.New(cfg, logger) + if err != nil { + logger.Error("Failed to create base migrator", zap.Error(err)) + return nil, err + } + switch migratorType { + case "traces": + return &traces.TracesMigrator{BaseMigrator: b}, nil + case "metrics": + return &metrics.MetricsMigrator{BaseMigrator: b}, nil + case "logs": + return &logs.LogsMigrator{BaseMigrator: b}, nil + default: + return nil, fmt.Errorf("invalid migrator type: %s", migratorType) + } +} + +func (m *MigrationManager) Migrate(ctx context.Context) error { + m.logger.Info("Running migrations for all migrators") + for _, migrator := range m.Migrators { + m.logger.Info(fmt.Sprintf("Running migrations for %s", migrator.Name()), zap.String("migrator", migrator.Name())) + err := migrator.Migrate(ctx) + if err != nil { + m.logger.Error("Failed to run migrations for migrator", zap.String("migrator", migrator.Name()), zap.Error(err)) + return err + } + } + m.logger.Info("Finished running migrations for all migrators") + return nil +} + + diff --git a/migrator/migrators/baseMigrator/migrator.go b/migrator/migrators/baseMigrator/migrator.go new file mode 100644 index 00000000..aa1e734d --- /dev/null +++ b/migrator/migrators/baseMigrator/migrator.go @@ -0,0 +1,141 @@ +package basemigrator + +import ( + "context" + "fmt" + "net/url" + "strings" + + "github.com/ClickHouse/clickhouse-go/v2" + "github.com/ClickHouse/clickhouse-go/v2/lib/driver" + "github.com/SigNoz/signoz-otel-collector/migrator/migrators" + "github.com/golang-migrate/migrate/v4" + _ "github.com/golang-migrate/migrate/v4/database/clickhouse" + _ "github.com/golang-migrate/migrate/v4/source/file" + "go.uber.org/zap" +) + +type BaseMigrator struct { + Cfg migrators.MigratorConfig + Logger *zap.Logger + DB driver.Conn +} + +func createClickhouseConnection(dsn string) (driver.Conn, error) { + dsnURL, err := url.Parse(dsn) + if err != nil { + return nil, fmt.Errorf("failed to parse dsn: %w", err) + } + options := &clickhouse.Options{ + Addr: []string{dsnURL.Host}, + } + if dsnURL.Query().Get("username") != "" { + auth := clickhouse.Auth{ + Username: dsnURL.Query().Get("username"), + Password: dsnURL.Query().Get("password"), + } + options.Auth = auth + } + db, err := clickhouse.Open(options) + if err != nil { + return nil, fmt.Errorf("failed to open clickhouse connection: %w", err) + } + + if err := db.Ping(context.Background()); err != nil { + return nil, fmt.Errorf("failed to ping clickhouse: %w", err) + } + + return db, nil +} + +func New(cfg migrators.MigratorConfig, logger *zap.Logger) (*BaseMigrator, error) { + dbConn, err := createClickhouseConnection(cfg.DSN) + if err != nil { + logger.Error("Failed to create clickhouse connection", zap.Error(err)) + return nil, err + } + + return &BaseMigrator{ + Cfg: cfg, + Logger: logger, + DB: dbConn, + }, nil +} + +func (m *BaseMigrator) buildClickhouseMigrateURL(database string) (string, error) { + var clickhouseUrl string + parsedURL, err := url.Parse(m.Cfg.DSN) + if err != nil { + return "", err + } + host := parsedURL.Host + if host == "" { + return "", fmt.Errorf("unable to parse host") + + } + paramMap, err := url.ParseQuery(parsedURL.RawQuery) + if err != nil { + return "", err + } + username := paramMap["username"] + password := paramMap["password"] + + if len(username) > 0 && len(password) > 0 { + clickhouseUrl = fmt.Sprintf("clickhouse://%s:%s@%s/%s?x-multi-statement=true&x-cluster-name=%s&x-migrations-table=schema_migrations&x-migrations-table-engine=MergeTree", username[0], password[0], host, database, m.Cfg.ClusterName) + } else { + clickhouseUrl = fmt.Sprintf("clickhouse://%s/%s?x-multi-statement=true&x-cluster-name=%s&x-migrations-table=schema_migrations&x-migrations-table-engine=MergeTree", host, database, m.Cfg.ClusterName) + } + return clickhouseUrl, nil +} + +func (m *BaseMigrator) CreateDB(ctx context.Context, database string) error { + q := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s ON CLUSTER %s;", database, m.Cfg.ClusterName) + err := m.DB.Exec(ctx, q) + if err != nil { + return fmt.Errorf("failed to create database, err: %s", err) + } + return nil +} + +func (m *BaseMigrator) DropSchemaMigrationsTable(ctx context.Context, database string) error { + err := m.DB.Exec(ctx, fmt.Sprintf(`DROP TABLE IF EXISTS %s.%s ON CLUSTER %s;`, database, "schema_migrations", m.Cfg.ClusterName)) + if err != nil { + return fmt.Errorf("error dropping schema_migrations table: %v", err) + } + return nil +} + +func (m *BaseMigrator) RunSqlMigrations(ctx context.Context, migrationFolder, database string) error { + clickhouseUrl, err := m.buildClickhouseMigrateURL(database) + if err != nil { + return fmt.Errorf("failed to build clickhouse migrate url, err: %s", err) + } + migrator, err := migrate.New("file://"+migrationFolder, clickhouseUrl) + if err != nil { + return fmt.Errorf("failed to create migrator, err: %s", err) + } + migrator.EnableTemplating = true + + err = migrator.Up() + if err != nil && !strings.HasSuffix(err.Error(), "no change") { + return fmt.Errorf("clickhouse migrate failed to run, error: %s", err) + } + return nil +} + +func (m *BaseMigrator) Migrate(ctx context.Context, database string, migrationFolder string) error { + err := m.CreateDB(ctx, database) + if err != nil { + return err + } + + // drop schema migrations table if running in docker multi node cluster mode so that migrations are run on new nodes + if m.Cfg.IsMultiNodeCluster { + err := m.DropSchemaMigrationsTable(ctx, database) + if err != nil { + return err + } + } + + return m.RunSqlMigrations(ctx, migrationFolder, database) +} diff --git a/exporter/clickhouselogsexporter/migrations/000001_init_db.down.sql b/migrator/migrators/logs/migrations/000001_init_db.down.sql similarity index 51% rename from exporter/clickhouselogsexporter/migrations/000001_init_db.down.sql rename to migrator/migrators/logs/migrations/000001_init_db.down.sql index cb0e21fc..701d29b9 100644 --- a/exporter/clickhouselogsexporter/migrations/000001_init_db.down.sql +++ b/migrator/migrators/logs/migrations/000001_init_db.down.sql @@ -1,7 +1,7 @@ -DROP TABLE IF EXISTS signoz_logs.logs ON CLUSTER cluster; -DROP TABLE IF EXISTS signoz_logs.logs_atrribute_keys ON CLUSTER cluster; -DROP TABLE IF EXISTS signoz_logs.logs_resource_keys ON CLUSTER cluster; -DROP TABLE IF EXISTS signoz_logs.resource_keys_string_final_mv ON CLUSTER cluster; -DROP TABLE IF EXISTS signoz_logs.atrribute_keys_float64_final_mv ON CLUSTER cluster; -DROP TABLE IF EXISTS signoz_logs.atrribute_keys_int64_final_mv ON CLUSTER cluster; -DROP TABLE IF EXISTS signoz_logs.atrribute_keys_string_final_mv ON CLUSTER cluster; \ No newline at end of file +DROP TABLE IF EXISTS signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP TABLE IF EXISTS signoz_logs.logs_atrribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP TABLE IF EXISTS signoz_logs.logs_resource_keys ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP TABLE IF EXISTS signoz_logs.resource_keys_string_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP TABLE IF EXISTS signoz_logs.atrribute_keys_float64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP TABLE IF EXISTS signoz_logs.atrribute_keys_int64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP TABLE IF EXISTS signoz_logs.atrribute_keys_string_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; \ No newline at end of file diff --git a/exporter/clickhouselogsexporter/migrations/000001_init_db.up.sql b/migrator/migrators/logs/migrations/000001_init_db.up.sql similarity index 82% rename from exporter/clickhouselogsexporter/migrations/000001_init_db.up.sql rename to migrator/migrators/logs/migrations/000001_init_db.up.sql index e427d0cf..f2551900 100644 --- a/exporter/clickhouselogsexporter/migrations/000001_init_db.up.sql +++ b/migrator/migrators/logs/migrations/000001_init_db.up.sql @@ -1,5 +1,4 @@ --- https://altinity.com/blog/2019/7/new-encodings-to-improve-clickhouse -CREATE TABLE IF NOT EXISTS signoz_logs.logs ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}} ( timestamp UInt64 CODEC(DoubleDelta, LZ4), observed_timestamp UInt64 CODEC(DoubleDelta, LZ4), id String CODEC(ZSTD(1)), @@ -25,7 +24,7 @@ TTL toDateTime(timestamp / 1000000000) + INTERVAL 604800 SECOND DELETE; -CREATE TABLE IF NOT EXISTS signoz_logs.logs_atrribute_keys ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_logs.logs_atrribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} ( name String, datatype String )ENGINE = ReplacingMergeTree @@ -33,32 +32,32 @@ ORDER BY (name, datatype); -CREATE TABLE IF NOT EXISTS signoz_logs.logs_resource_keys ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_logs.logs_resource_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} ( name String, datatype String )ENGINE = ReplacingMergeTree ORDER BY (name, datatype); -CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_string_final_mv ON CLUSTER cluster TO signoz_logs.logs_atrribute_keys AS +CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_string_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_logs.logs_atrribute_keys AS SELECT distinct arrayJoin(attributes_string_key) as name, 'String' datatype FROM signoz_logs.logs ORDER BY name; -CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_int64_final_mv ON CLUSTER cluster TO signoz_logs.logs_atrribute_keys AS +CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_int64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_logs.logs_atrribute_keys AS SELECT distinct arrayJoin(attributes_int64_key) as name, 'Int64' datatype FROM signoz_logs.logs ORDER BY name; -CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_float64_final_mv ON CLUSTER cluster TO signoz_logs.logs_atrribute_keys AS +CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_float64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_logs.logs_atrribute_keys AS SELECT distinct arrayJoin(attributes_float64_key) as name, 'Float64' datatype FROM signoz_logs.logs ORDER BY name; -CREATE MATERIALIZED VIEW IF NOT EXISTS resource_keys_string_final_mv ON CLUSTER cluster TO signoz_logs.logs_resource_keys AS +CREATE MATERIALIZED VIEW IF NOT EXISTS resource_keys_string_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_logs.logs_resource_keys AS SELECT distinct arrayJoin(resources_string_key) as name, 'String' datatype FROM signoz_logs.logs diff --git a/migrator/migrators/logs/migrations/000002_add_minmax_idx.down.sql b/migrator/migrators/logs/migrations/000002_add_minmax_idx.down.sql new file mode 100644 index 00000000..ac8aa729 --- /dev/null +++ b/migrator/migrators/logs/migrations/000002_add_minmax_idx.down.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP INDEX IF EXISTS id_minmax; diff --git a/migrator/migrators/logs/migrations/000002_add_minmax_idx.up.sql b/migrator/migrators/logs/migrations/000002_add_minmax_idx.up.sql new file mode 100644 index 00000000..3fd329b3 --- /dev/null +++ b/migrator/migrators/logs/migrations/000002_add_minmax_idx.up.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD INDEX IF NOT EXISTS id_minmax id TYPE minmax GRANULARITY 1; diff --git a/migrator/migrators/logs/migrations/000003_add_distributed_table.down.sql b/migrator/migrators/logs/migrations/000003_add_distributed_table.down.sql new file mode 100644 index 00000000..d9f1ae21 --- /dev/null +++ b/migrator/migrators/logs/migrations/000003_add_distributed_table.down.sql @@ -0,0 +1,3 @@ +DROP TABLE IF EXISTS signoz_logs.distributed_logs ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP TABLE IF EXISTS signoz_logs.distributed_logs_atrribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP TABLE IF EXISTS signoz_logs.distributed_logs_resource_keys ON CLUSTER {{.SIGNOZ_CLUSTER}}; \ No newline at end of file diff --git a/exporter/clickhouselogsexporter/migrations/000003_add_distributed_table.up.sql b/migrator/migrators/logs/migrations/000003_add_distributed_table.up.sql similarity index 70% rename from exporter/clickhouselogsexporter/migrations/000003_add_distributed_table.up.sql rename to migrator/migrators/logs/migrations/000003_add_distributed_table.up.sql index 3839e53b..818da2b8 100644 --- a/exporter/clickhouselogsexporter/migrations/000003_add_distributed_table.up.sql +++ b/migrator/migrators/logs/migrations/000003_add_distributed_table.up.sql @@ -1,8 +1,8 @@ -CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs ON CLUSTER cluster AS signoz_logs.logs +CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.logs ENGINE = Distributed("cluster", "signoz_logs", logs, cityHash64(id)); -CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_atrribute_keys ON CLUSTER cluster AS signoz_logs.logs_atrribute_keys +CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_atrribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.logs_atrribute_keys ENGINE = Distributed("cluster", "signoz_logs", logs_atrribute_keys, cityHash64(datatype)); -CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_resource_keys ON CLUSTER cluster AS signoz_logs.logs_resource_keys +CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_resource_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.logs_resource_keys ENGINE = Distributed("cluster", "signoz_logs", logs_resource_keys, cityHash64(datatype)); diff --git a/migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.down.sql b/migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.down.sql new file mode 100644 index 00000000..f02a9763 --- /dev/null +++ b/migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.down.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 0; diff --git a/migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.up.sql b/migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.up.sql new file mode 100644 index 00000000..af88c596 --- /dev/null +++ b/migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.up.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 1; diff --git a/exporter/clickhouselogsexporter/migrations/000005_attribute_rename.down.sql b/migrator/migrators/logs/migrations/000005_attribute_rename.down.sql similarity index 57% rename from exporter/clickhouselogsexporter/migrations/000005_attribute_rename.down.sql rename to migrator/migrators/logs/migrations/000005_attribute_rename.down.sql index e2c0ca2c..6219adf0 100644 --- a/exporter/clickhouselogsexporter/migrations/000005_attribute_rename.down.sql +++ b/migrator/migrators/logs/migrations/000005_attribute_rename.down.sql @@ -1,24 +1,24 @@ -RENAME TABLE IF EXISTS signoz_logs.logs_attribute_keys TO signoz_logs.logs_atrribute_keys on CLUSTER cluster; +RENAME TABLE IF EXISTS signoz_logs.logs_attribute_keys TO signoz_logs.logs_atrribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}}; -- Materialized view -DROP VIEW IF EXISTS attribute_keys_string_final_mv on CLUSTER cluster; -DROP VIEW IF EXISTS attribute_keys_int64_final_mv on CLUSTER cluster; -DROP VIEW IF EXISTS attribute_keys_float64_final_mv on CLUSTER cluster; +DROP VIEW IF EXISTS attribute_keys_string_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS attribute_keys_int64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS attribute_keys_float64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; -CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_string_final_mv ON CLUSTER cluster TO signoz_logs.logs_atrribute_keys AS +CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_string_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_logs.logs_atrribute_keys AS SELECT distinct arrayJoin(attributes_string_key) as name, 'String' datatype FROM signoz_logs.logs ORDER BY name; -CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_int64_final_mv ON CLUSTER cluster TO signoz_logs.logs_atrribute_keys AS +CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_int64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_logs.logs_atrribute_keys AS SELECT distinct arrayJoin(attributes_int64_key) as name, 'Int64' datatype FROM signoz_logs.logs ORDER BY name; -CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_float64_final_mv ON CLUSTER cluster TO signoz_logs.logs_atrribute_keys AS +CREATE MATERIALIZED VIEW IF NOT EXISTS atrribute_keys_float64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_logs.logs_atrribute_keys AS SELECT distinct arrayJoin(attributes_float64_key) as name, 'Float64' datatype FROM signoz_logs.logs @@ -26,7 +26,7 @@ ORDER BY name; -- Distributed table -DROP TABLE IF EXISTS signoz_logs.distributed_logs_attribute_keys on CLUSTER cluster; +DROP TABLE IF EXISTS signoz_logs.distributed_logs_attribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}}; -CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_atrribute_keys ON CLUSTER cluster AS signoz_logs.logs_atrribute_keys +CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_atrribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.logs_atrribute_keys ENGINE = Distributed("cluster", "signoz_logs", logs_atrribute_keys, cityHash64(datatype)); \ No newline at end of file diff --git a/exporter/clickhouselogsexporter/migrations/000005_attribute_rename.up.sql b/migrator/migrators/logs/migrations/000005_attribute_rename.up.sql similarity index 57% rename from exporter/clickhouselogsexporter/migrations/000005_attribute_rename.up.sql rename to migrator/migrators/logs/migrations/000005_attribute_rename.up.sql index ff44581f..2846866d 100644 --- a/exporter/clickhouselogsexporter/migrations/000005_attribute_rename.up.sql +++ b/migrator/migrators/logs/migrations/000005_attribute_rename.up.sql @@ -1,24 +1,24 @@ -RENAME TABLE IF EXISTS signoz_logs.logs_atrribute_keys TO signoz_logs.logs_attribute_keys on CLUSTER cluster; +RENAME TABLE IF EXISTS signoz_logs.logs_atrribute_keys TO signoz_logs.logs_attribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}}; -- Materialized view -DROP VIEW IF EXISTS atrribute_keys_string_final_mv on CLUSTER cluster; -DROP VIEW IF EXISTS atrribute_keys_int64_final_mv on CLUSTER cluster; -DROP VIEW IF EXISTS atrribute_keys_float64_final_mv on CLUSTER cluster; +DROP VIEW IF EXISTS atrribute_keys_string_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS atrribute_keys_int64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS atrribute_keys_float64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; -CREATE MATERIALIZED VIEW IF NOT EXISTS attribute_keys_string_final_mv ON CLUSTER cluster TO signoz_logs.logs_attribute_keys AS +CREATE MATERIALIZED VIEW IF NOT EXISTS attribute_keys_string_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_logs.logs_attribute_keys AS SELECT distinct arrayJoin(attributes_string_key) as name, 'String' datatype FROM signoz_logs.logs ORDER BY name; -CREATE MATERIALIZED VIEW IF NOT EXISTS attribute_keys_int64_final_mv ON CLUSTER cluster TO signoz_logs.logs_attribute_keys AS +CREATE MATERIALIZED VIEW IF NOT EXISTS attribute_keys_int64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_logs.logs_attribute_keys AS SELECT distinct arrayJoin(attributes_int64_key) as name, 'Int64' datatype FROM signoz_logs.logs ORDER BY name; -CREATE MATERIALIZED VIEW IF NOT EXISTS attribute_keys_float64_final_mv ON CLUSTER cluster TO signoz_logs.logs_attribute_keys AS +CREATE MATERIALIZED VIEW IF NOT EXISTS attribute_keys_float64_final_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_logs.logs_attribute_keys AS SELECT distinct arrayJoin(attributes_float64_key) as name, 'Float64' datatype FROM signoz_logs.logs @@ -26,7 +26,7 @@ ORDER BY name; -- Distributed table -DROP TABLE IF EXISTS signoz_logs.distributed_logs_atrribute_keys on CLUSTER cluster; +DROP TABLE IF EXISTS signoz_logs.distributed_logs_atrribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}}; -CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_attribute_keys ON CLUSTER cluster AS signoz_logs.logs_attribute_keys +CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_attribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.logs_attribute_keys ENGINE = Distributed("cluster", "signoz_logs", logs_attribute_keys, cityHash64(datatype)); \ No newline at end of file diff --git a/migrator/migrators/logs/migrations/000006_tag_attributes.down.sql b/migrator/migrators/logs/migrations/000006_tag_attributes.down.sql new file mode 100644 index 00000000..b7f6c13e --- /dev/null +++ b/migrator/migrators/logs/migrations/000006_tag_attributes.down.sql @@ -0,0 +1,2 @@ +DROP TABLE IF EXISTS signoz_logs.distributed_tag_attributes ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP TABLE IF EXISTS signoz_logs.tag_attributes ON CLUSTER {{.SIGNOZ_CLUSTER}}; \ No newline at end of file diff --git a/exporter/clickhouselogsexporter/migrations/000006_tag_attributes.up.sql b/migrator/migrators/logs/migrations/000006_tag_attributes.up.sql similarity index 90% rename from exporter/clickhouselogsexporter/migrations/000006_tag_attributes.up.sql rename to migrator/migrators/logs/migrations/000006_tag_attributes.up.sql index 8fd94c38..ae5a4864 100644 --- a/exporter/clickhouselogsexporter/migrations/000006_tag_attributes.up.sql +++ b/migrator/migrators/logs/migrations/000006_tag_attributes.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_logs.tag_attributes ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_logs.tag_attributes ON CLUSTER {{.SIGNOZ_CLUSTER}} ( timestamp DateTime CODEC(ZSTD(1)), tagKey LowCardinality(String) CODEC(ZSTD(1)), tagType Enum('tag', 'resource') CODEC(ZSTD(1)), @@ -11,5 +11,5 @@ ORDER BY (tagKey, tagType, tagDataType, stringTagValue, int64TagValue, float64Ta TTL toDateTime(timestamp) + INTERVAL 172800 SECOND DELETE SETTINGS ttl_only_drop_parts = 1, allow_nullable_key = 1; -CREATE TABLE IF NOT EXISTS signoz_logs.distributed_tag_attributes ON CLUSTER cluster AS signoz_logs.tag_attributes +CREATE TABLE IF NOT EXISTS signoz_logs.distributed_tag_attributes ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.tag_attributes ENGINE = Distributed("cluster", "signoz_logs", tag_attributes, rand()); diff --git a/migrator/migrators/logs/migrations/000007_default_indexes.down.sql b/migrator/migrators/logs/migrations/000007_default_indexes.down.sql new file mode 100644 index 00000000..ab4b0367 --- /dev/null +++ b/migrator/migrators/logs/migrations/000007_default_indexes.down.sql @@ -0,0 +1,5 @@ +ALTER TABLE signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}} drop index IF EXISTS severity_number_idx; + +ALTER TABLE signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}} drop index IF EXISTS severity_text_idx; + +ALTER TABLE signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}} drop index IF EXISTS trace_flags_idx; \ No newline at end of file diff --git a/exporter/clickhouselogsexporter/migrations/000007_default_indexes.up.sql b/migrator/migrators/logs/migrations/000007_default_indexes.up.sql similarity index 52% rename from exporter/clickhouselogsexporter/migrations/000007_default_indexes.up.sql rename to migrator/migrators/logs/migrations/000007_default_indexes.up.sql index b0e98cb0..1cd91e40 100644 --- a/exporter/clickhouselogsexporter/migrations/000007_default_indexes.up.sql +++ b/migrator/migrators/logs/migrations/000007_default_indexes.up.sql @@ -1,12 +1,12 @@ -- This migration adds default indexes to top level keys of the log model -- https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-severitynumber range 1-24 and 0 means it's not set -ALTER TABLE signoz_logs.logs ON CLUSTER cluster add index IF NOT EXISTS severity_number_idx (severity_number) TYPE set(25) GRANULARITY 4; +ALTER TABLE signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}} add index IF NOT EXISTS severity_number_idx (severity_number) TYPE set(25) GRANULARITY 4; -- https://opentelemetry.io/docs/specs/otel/logs/data-model/#displaying-severity 24 different values and empty means not set. -ALTER TABLE signoz_logs.logs ON CLUSTER cluster add index IF NOT EXISTS severity_text_idx (severity_text) TYPE set(25) GRANULARITY 4; +ALTER TABLE signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}} add index IF NOT EXISTS severity_text_idx (severity_text) TYPE set(25) GRANULARITY 4; -- No point in addding index for trace_id, span_id as they are not set and they are always unique -- trace_flags can be a set so adding a default bloom filter -ALTER TABLE signoz_logs.logs ON CLUSTER cluster add index IF NOT EXISTS trace_flags_idx (trace_flags) TYPE bloom_filter() GRANULARITY 4; \ No newline at end of file +ALTER TABLE signoz_logs.logs ON CLUSTER {{.SIGNOZ_CLUSTER}} add index IF NOT EXISTS trace_flags_idx (trace_flags) TYPE bloom_filter() GRANULARITY 4; \ No newline at end of file diff --git a/migrator/migrators/logs/migrator.go b/migrator/migrators/logs/migrator.go new file mode 100644 index 00000000..fb96c5bc --- /dev/null +++ b/migrator/migrators/logs/migrator.go @@ -0,0 +1,24 @@ +package logs + +import ( + "context" + basemigrator "github.com/SigNoz/signoz-otel-collector/migrator/migrators/baseMigrator" +) + +const ( + name = "logs" + database = "signoz_logs" + migrationFolder = "migrator/migrators/logs/migrations" +) + +type LogsMigrator struct { + *basemigrator.BaseMigrator +} + +func (m *LogsMigrator) Migrate(ctx context.Context) error { + return m.BaseMigrator.Migrate(ctx, database, migrationFolder) +} + +func (m *LogsMigrator) Name() string { + return name +} diff --git a/migrator/migrators/metrics/migrations/000001_init_db.down.sql b/migrator/migrators/metrics/migrations/000001_init_db.down.sql new file mode 100644 index 00000000..aa914d72 --- /dev/null +++ b/migrator/migrators/metrics/migrations/000001_init_db.down.sql @@ -0,0 +1,11 @@ +DROP TABLE IF EXISTS signoz_metrics.samples_v2 ON CLUSTER cluster; + +DROP TABLE IF EXISTS signoz_metrics.distributed_samples_v2 ON CLUSTER cluster; + +DROP TABLE IF EXISTS signoz_metrics.time_series_v2 ON CLUSTER cluster; + +DROP TABLE IF EXISTS signoz_metrics.distributed_time_series_v2 ON CLUSTER cluster; + +DROP TABLE IF EXISTS signoz_metrics.time_series_v3 ON CLUSTER cluster; + +DROP TABLE IF EXISTS signoz_metrics.distributed_time_series_v3 ON CLUSTER cluster; \ No newline at end of file diff --git a/migrator/migrators/metrics/migrations/000001_init_db.up.sql b/migrator/migrators/metrics/migrations/000001_init_db.up.sql new file mode 100644 index 00000000..b7d3d820 --- /dev/null +++ b/migrator/migrators/metrics/migrations/000001_init_db.up.sql @@ -0,0 +1,55 @@ +CREATE TABLE IF NOT EXISTS signoz_metrics.samples_v2 ON CLUSTER cluster ( + metric_name LowCardinality(String), + fingerprint UInt64 Codec(DoubleDelta, LZ4), + timestamp_ms Int64 Codec(DoubleDelta, LZ4), + value Float64 Codec(Gorilla, LZ4) + ) + ENGINE = MergeTree + PARTITION BY toDate(timestamp_ms / 1000) + ORDER BY (metric_name, fingerprint, timestamp_ms) + TTL toDateTime(timestamp_ms/1000) + INTERVAL 2592000 SECOND DELETE; + +CREATE TABLE IF NOT EXISTS signoz_metrics.distributed_samples_v2 ON CLUSTER cluster AS signoz_metrics.samples_v2 ENGINE = Distributed("cluster", "signoz_metrics", samples_v2, cityHash64(metric_name, fingerprint)); + +ALTER TABLE signoz_metrics.samples_v2 ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 1; + +SET allow_experimental_object_type = 1; + +CREATE TABLE IF NOT EXISTS signoz_metrics.time_series_v2 ON CLUSTER cluster( + metric_name LowCardinality(String), + fingerprint UInt64 Codec(DoubleDelta, LZ4), + timestamp_ms Int64 Codec(DoubleDelta, LZ4), + labels String Codec(ZSTD(5)) + ) + ENGINE = ReplacingMergeTree + PARTITION BY toDate(timestamp_ms / 1000) + ORDER BY (metric_name, fingerprint) + TTL toDateTime(timestamp_ms/1000) + INTERVAL 2592000 SECOND DELETE; + +CREATE TABLE IF NOT EXISTS signoz_metrics.distributed_time_series_v2 ON CLUSTER cluster AS signoz_metrics.time_series_v2 ENGINE = Distributed("cluster", signoz_metrics, time_series_v2, cityHash64(metric_name, fingerprint)); + +ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER cluster DROP COLUMN IF EXISTS labels_object; + +ALTER TABLE signoz_metrics.distributed_time_series_v2 ON CLUSTER cluster DROP COLUMN IF EXISTS labels_object; + +ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 1; + +ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER cluster ADD COLUMN IF NOT EXISTS temporality LowCardinality(String) DEFAULT 'Unspecified' CODEC(ZSTD(5)); + +ALTER TABLE signoz_metrics.distributed_time_series_v2 ON CLUSTER cluster ADD COLUMN IF NOT EXISTS temporality LowCardinality(String) DEFAULT 'Unspecified' CODEC(ZSTD(5)); + +ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER cluster ADD INDEX IF NOT EXISTS temporality_index temporality TYPE SET(3) GRANULARITY 1; + +CREATE TABLE IF NOT EXISTS signoz_metrics.time_series_v3 ON CLUSTER cluster ( + env LowCardinality(String) DEFAULT 'default', + temporality LowCardinality(String) DEFAULT 'Unspecified', + metric_name LowCardinality(String), + fingerprint UInt64 CODEC(Delta, ZSTD), + timestamp_ms Int64 CODEC(Delta, ZSTD), + labels String CODEC(ZSTD(5)) + ) + ENGINE = ReplacingMergeTree + PARTITION BY toDate(timestamp_ms / 1000) + ORDER BY (env, temporality, metric_name, fingerprint); + +CREATE TABLE IF NOT EXISTS signoz_metrics.distributed_time_series_v3 ON CLUSTER cluster AS signoz_metrics.time_series_v3 ENGINE = Distributed("cluster", signoz_metrics, time_series_v3, cityHash64(env, temporality, metric_name, fingerprint)); \ No newline at end of file diff --git a/migrator/migrators/metrics/migrator.go b/migrator/migrators/metrics/migrator.go new file mode 100644 index 00000000..dbd20e12 --- /dev/null +++ b/migrator/migrators/metrics/migrator.go @@ -0,0 +1,40 @@ +package metrics + +import ( + "context" + "fmt" + "strings" + + "github.com/SigNoz/signoz-otel-collector/exporter/clickhousemetricsexporter" + basemigrator "github.com/SigNoz/signoz-otel-collector/migrator/migrators/baseMigrator" +) + +const ( + name = "metrics" + database = "signoz_metrics" + migrationFolder = "migrator/migrators/metrics/migrations" +) + +type MetricsMigrator struct { + *basemigrator.BaseMigrator +} + +func (m *MetricsMigrator) Migrate(ctx context.Context) error { + err := m.BaseMigrator.Migrate(ctx, database, migrationFolder) + if err != nil { + return err + } + + // TODO(srikanthccv): Remove this once we have a better way to handle data and last write + removeTTL := fmt.Sprintf(`ALTER TABLE %s.%s ON CLUSTER %s REMOVE TTL;`, database, clickhousemetricsexporter.TIME_SERIES_TABLE, m.Cfg.ClusterName) + if err = m.DB.Exec(context.Background(), removeTTL); err != nil { + if !strings.Contains(err.Error(), "Table doesn't have any table TTL expression, cannot remove.") { + return fmt.Errorf("failed to remove TTL from table %s.%s, err: %s", database, clickhousemetricsexporter.TIME_SERIES_TABLE, err) + } + } + return nil +} + +func (m *MetricsMigrator) Name() string { + return name +} diff --git a/migrator/migrators/migrators.go b/migrator/migrators/migrators.go new file mode 100644 index 00000000..315584ce --- /dev/null +++ b/migrator/migrators/migrators.go @@ -0,0 +1,18 @@ +package migrators + +import ( + "context" +) + +// MigratorConfig stores the configuration for a migrator +// Currently all migrators use the same config +type MigratorConfig struct { + DSN string + ClusterName string + IsMultiNodeCluster bool +} + +type Migrator interface { + Migrate(context.Context) error + Name() string +} diff --git a/migrator/migrators/traces/migrations/000001_init_db.down.sql b/migrator/migrators/traces/migrations/000001_init_db.down.sql new file mode 100644 index 00000000..72d5a503 --- /dev/null +++ b/migrator/migrators/traces/migrations/000001_init_db.down.sql @@ -0,0 +1 @@ +DROP TABLE IF EXISTS signoz_traces.signoz_index ON CLUSTER {{.SIGNOZ_CLUSTER}}; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000001_init_db.up.sql b/migrator/migrators/traces/migrations/000001_init_db.up.sql similarity index 98% rename from exporter/clickhousetracesexporter/migrations/000001_init_db.up.sql rename to migrator/migrators/traces/migrations/000001_init_db.up.sql index 6d091eba..68e245ed 100644 --- a/exporter/clickhousetracesexporter/migrations/000001_init_db.up.sql +++ b/migrator/migrators/traces/migrations/000001_init_db.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.signoz_index ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.signoz_index ON CLUSTER {{.SIGNOZ_CLUSTER}} ( timestamp DateTime64(9) CODEC(Delta, ZSTD(1)), traceID String CODEC(ZSTD(1)), spanID String CODEC(ZSTD(1)), diff --git a/migrator/migrators/traces/migrations/000002_init_schema.down.sql b/migrator/migrators/traces/migrations/000002_init_schema.down.sql new file mode 100644 index 00000000..741b96e1 --- /dev/null +++ b/migrator/migrators/traces/migrations/000002_init_schema.down.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_traces.signoz_index ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF EXISTS events; \ No newline at end of file diff --git a/migrator/migrators/traces/migrations/000002_init_schema.up.sql b/migrator/migrators/traces/migrations/000002_init_schema.up.sql new file mode 100644 index 00000000..003105fc --- /dev/null +++ b/migrator/migrators/traces/migrations/000002_init_schema.up.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_traces.signoz_index ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS events Array(String); \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000003_init_schema.down.sql b/migrator/migrators/traces/migrations/000003_init_schema.down.sql similarity index 75% rename from exporter/clickhousetracesexporter/migrations/000003_init_schema.down.sql rename to migrator/migrators/traces/migrations/000003_init_schema.down.sql index 09451fb0..3d8b26c0 100644 --- a/exporter/clickhousetracesexporter/migrations/000003_init_schema.down.sql +++ b/migrator/migrators/traces/migrations/000003_init_schema.down.sql @@ -1 +1 @@ -DROP TABLE IF EXISTS signoz_traces.signoz_error_index ON CLUSTER cluster; \ No newline at end of file +DROP TABLE IF EXISTS signoz_traces.signoz_error_index ON CLUSTER {{.SIGNOZ_CLUSTER}}; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000003_init_schema.up.sql b/migrator/migrators/traces/migrations/000003_init_schema.up.sql similarity index 96% rename from exporter/clickhousetracesexporter/migrations/000003_init_schema.up.sql rename to migrator/migrators/traces/migrations/000003_init_schema.up.sql index 531c0edc..2209bdbc 100644 --- a/exporter/clickhousetracesexporter/migrations/000003_init_schema.up.sql +++ b/migrator/migrators/traces/migrations/000003_init_schema.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.signoz_error_index ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.signoz_error_index ON CLUSTER {{.SIGNOZ_CLUSTER}} ( timestamp DateTime64(9) CODEC(Delta, ZSTD(1)), errorID String CODEC(ZSTD(1)), traceID String CODEC(ZSTD(1)), diff --git a/migrator/migrators/traces/migrations/000004_update_table.down.sql b/migrator/migrators/traces/migrations/000004_update_table.down.sql new file mode 100644 index 00000000..9b506dcf --- /dev/null +++ b/migrator/migrators/traces/migrations/000004_update_table.down.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_traces.signoz_index ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF EXISTS httpMethod, DROP COLUMN IF EXISTS httpUrl, DROP COLUMN IF EXISTS httpCode, DROP COLUMN IF EXISTS httpRoute, DROP COLUMN IF EXISTS httpHost, DROP COLUMN IF EXISTS msgSystem, DROP COLUMN IF EXISTS msgOperation; \ No newline at end of file diff --git a/migrator/migrators/traces/migrations/000004_update_table.up.sql b/migrator/migrators/traces/migrations/000004_update_table.up.sql new file mode 100644 index 00000000..3f24f5f9 --- /dev/null +++ b/migrator/migrators/traces/migrations/000004_update_table.up.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_traces.signoz_index ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS httpMethod LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS httpUrl LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS httpCode LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS httpRoute LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS httpHost LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS msgSystem LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS msgOperation LowCardinality(String) CODEC(ZSTD(1)); diff --git a/migrator/migrators/traces/migrations/000005_add_hasError.down.sql b/migrator/migrators/traces/migrations/000005_add_hasError.down.sql new file mode 100644 index 00000000..a4611b8a --- /dev/null +++ b/migrator/migrators/traces/migrations/000005_add_hasError.down.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_traces.signoz_index ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF EXISTS hasError; \ No newline at end of file diff --git a/migrator/migrators/traces/migrations/000005_add_hasError.up.sql b/migrator/migrators/traces/migrations/000005_add_hasError.up.sql new file mode 100644 index 00000000..c342521f --- /dev/null +++ b/migrator/migrators/traces/migrations/000005_add_hasError.up.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_traces.signoz_index ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS hasError Int32; \ No newline at end of file diff --git a/migrator/migrators/traces/migrations/000006_add_tag_map.down.sql b/migrator/migrators/traces/migrations/000006_add_tag_map.down.sql new file mode 100644 index 00000000..6dad685f --- /dev/null +++ b/migrator/migrators/traces/migrations/000006_add_tag_map.down.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_traces.signoz_index ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF EXISTS tagMap; \ No newline at end of file diff --git a/migrator/migrators/traces/migrations/000006_add_tag_map.up.sql b/migrator/migrators/traces/migrations/000006_add_tag_map.up.sql new file mode 100644 index 00000000..c2458db9 --- /dev/null +++ b/migrator/migrators/traces/migrations/000006_add_tag_map.up.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_traces.signoz_index ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS tagMap Map(LowCardinality(String), String); \ No newline at end of file diff --git a/migrator/migrators/traces/migrations/000007_init_signoz_index_v2.down.sql b/migrator/migrators/traces/migrations/000007_init_signoz_index_v2.down.sql new file mode 100644 index 00000000..274ae836 --- /dev/null +++ b/migrator/migrators/traces/migrations/000007_init_signoz_index_v2.down.sql @@ -0,0 +1,3 @@ +DROP TABLE IF EXISTS signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; + +SET allow_experimental_projection_optimization = 0; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000007_init_signoz_index_v2.up.sql b/migrator/migrators/traces/migrations/000007_init_signoz_index_v2.up.sql similarity index 98% rename from exporter/clickhousetracesexporter/migrations/000007_init_signoz_index_v2.up.sql rename to migrator/migrators/traces/migrations/000007_init_signoz_index_v2.up.sql index a88830d2..c77bd569 100644 --- a/exporter/clickhousetracesexporter/migrations/000007_init_signoz_index_v2.up.sql +++ b/migrator/migrators/traces/migrations/000007_init_signoz_index_v2.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.signoz_index_v2 ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ( timestamp DateTime64(9) CODEC(DoubleDelta, LZ4), traceID FixedString(32) CODEC(ZSTD(1)), spanID String CODEC(ZSTD(1)), diff --git a/migrator/migrators/traces/migrations/000008_init_signoz_spans.down.sql b/migrator/migrators/traces/migrations/000008_init_signoz_spans.down.sql new file mode 100644 index 00000000..721faf06 --- /dev/null +++ b/migrator/migrators/traces/migrations/000008_init_signoz_spans.down.sql @@ -0,0 +1 @@ +DROP TABLE IF EXISTS signoz_traces.signoz_spans ON CLUSTER {{.SIGNOZ_CLUSTER}}; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000008_init_signoz_spans.up.sql b/migrator/migrators/traces/migrations/000008_init_signoz_spans.up.sql similarity index 93% rename from exporter/clickhousetracesexporter/migrations/000008_init_signoz_spans.up.sql rename to migrator/migrators/traces/migrations/000008_init_signoz_spans.up.sql index 3215f566..10af9a6f 100644 --- a/exporter/clickhousetracesexporter/migrations/000008_init_signoz_spans.up.sql +++ b/migrator/migrators/traces/migrations/000008_init_signoz_spans.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.signoz_spans ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.signoz_spans ON CLUSTER {{.SIGNOZ_CLUSTER}} ( timestamp DateTime64(9) CODEC(DoubleDelta, LZ4), traceID FixedString(32) CODEC(ZSTD(1)), model String CODEC(ZSTD(9)) diff --git a/exporter/clickhousetracesexporter/migrations/000009_init_signoz_error_index.down.sql b/migrator/migrators/traces/migrations/000009_init_signoz_error_index.down.sql similarity index 75% rename from exporter/clickhousetracesexporter/migrations/000009_init_signoz_error_index.down.sql rename to migrator/migrators/traces/migrations/000009_init_signoz_error_index.down.sql index 09451fb0..3d8b26c0 100644 --- a/exporter/clickhousetracesexporter/migrations/000009_init_signoz_error_index.down.sql +++ b/migrator/migrators/traces/migrations/000009_init_signoz_error_index.down.sql @@ -1 +1 @@ -DROP TABLE IF EXISTS signoz_traces.signoz_error_index ON CLUSTER cluster; \ No newline at end of file +DROP TABLE IF EXISTS signoz_traces.signoz_error_index ON CLUSTER {{.SIGNOZ_CLUSTER}}; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000009_init_signoz_error_index.up.sql b/migrator/migrators/traces/migrations/000009_init_signoz_error_index.up.sql similarity index 96% rename from exporter/clickhousetracesexporter/migrations/000009_init_signoz_error_index.up.sql rename to migrator/migrators/traces/migrations/000009_init_signoz_error_index.up.sql index 2ca83caf..ca245b2d 100644 --- a/exporter/clickhousetracesexporter/migrations/000009_init_signoz_error_index.up.sql +++ b/migrator/migrators/traces/migrations/000009_init_signoz_error_index.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.signoz_error_index ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.signoz_error_index ON CLUSTER {{.SIGNOZ_CLUSTER}} ( timestamp DateTime64(9) CODEC(DoubleDelta, LZ4), errorID FixedString(32) CODEC(ZSTD(1)), traceID FixedString(32) CODEC(ZSTD(1)), diff --git a/migrator/migrators/traces/migrations/000010_add_gRPC_code_method.down.sql b/migrator/migrators/traces/migrations/000010_add_gRPC_code_method.down.sql new file mode 100644 index 00000000..7a69239d --- /dev/null +++ b/migrator/migrators/traces/migrations/000010_add_gRPC_code_method.down.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF EXISTS gRPCCode, DROP COLUMN IF EXISTS gRPCMethod; \ No newline at end of file diff --git a/migrator/migrators/traces/migrations/000010_add_gRPC_code_method.up.sql b/migrator/migrators/traces/migrations/000010_add_gRPC_code_method.up.sql new file mode 100644 index 00000000..625491b7 --- /dev/null +++ b/migrator/migrators/traces/migrations/000010_add_gRPC_code_method.up.sql @@ -0,0 +1 @@ +ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS gRPCMethod LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS gRPCCode LowCardinality(String) CODEC(ZSTD(1)); \ No newline at end of file diff --git a/migrator/migrators/traces/migrations/000011_init_durationMV.down.sql b/migrator/migrators/traces/migrations/000011_init_durationMV.down.sql new file mode 100644 index 00000000..e1651e09 --- /dev/null +++ b/migrator/migrators/traces/migrations/000011_init_durationMV.down.sql @@ -0,0 +1,2 @@ +DROP TABLE IF EXISTS signoz_traces.durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS signoz_traces.durationSortMV ON CLUSTER {{.SIGNOZ_CLUSTER}}; diff --git a/exporter/clickhousetracesexporter/migrations/000011_init_durationMV.up.sql b/migrator/migrators/traces/migrations/000011_init_durationMV.up.sql similarity index 97% rename from exporter/clickhousetracesexporter/migrations/000011_init_durationMV.up.sql rename to migrator/migrators/traces/migrations/000011_init_durationMV.up.sql index ebc76819..214ff778 100644 --- a/exporter/clickhousetracesexporter/migrations/000011_init_durationMV.up.sql +++ b/migrator/migrators/traces/migrations/000011_init_durationMV.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.durationSort ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} ( timestamp DateTime64(9) CODEC(DoubleDelta, LZ4), traceID FixedString(32) CODEC(ZSTD(1)), spanID String CODEC(ZSTD(1)), @@ -37,7 +37,7 @@ ORDER BY (durationNano, timestamp) TTL toDateTime(timestamp) + INTERVAL 604800 SECOND DELETE SETTINGS index_granularity = 8192; -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.durationSort AS SELECT timestamp, diff --git a/exporter/clickhousetracesexporter/migrations/000012_init_signoz_error_index_v2.down.sql b/migrator/migrators/traces/migrations/000012_init_signoz_error_index_v2.down.sql similarity index 72% rename from exporter/clickhousetracesexporter/migrations/000012_init_signoz_error_index_v2.down.sql rename to migrator/migrators/traces/migrations/000012_init_signoz_error_index_v2.down.sql index 957df960..aab37a63 100644 --- a/exporter/clickhousetracesexporter/migrations/000012_init_signoz_error_index_v2.down.sql +++ b/migrator/migrators/traces/migrations/000012_init_signoz_error_index_v2.down.sql @@ -1 +1 @@ -DROP TABLE IF EXISTS signoz_traces.signoz_error_index_v2 ON CLUSTER cluster; \ No newline at end of file +DROP TABLE IF EXISTS signoz_traces.signoz_error_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000012_init_signoz_error_index_v2.up.sql b/migrator/migrators/traces/migrations/000012_init_signoz_error_index_v2.up.sql similarity index 95% rename from exporter/clickhousetracesexporter/migrations/000012_init_signoz_error_index_v2.up.sql rename to migrator/migrators/traces/migrations/000012_init_signoz_error_index_v2.up.sql index a71a183b..99fa5bd7 100644 --- a/exporter/clickhousetracesexporter/migrations/000012_init_signoz_error_index_v2.up.sql +++ b/migrator/migrators/traces/migrations/000012_init_signoz_error_index_v2.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.signoz_error_index_v2 ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.signoz_error_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ( timestamp DateTime64(9) CODEC(DoubleDelta, LZ4), errorID FixedString(32) CODEC(ZSTD(1)), groupID FixedString(32) CODEC(ZSTD(1)), diff --git a/exporter/clickhousetracesexporter/migrations/000013_add_RPC_system_service_method.down.sql b/migrator/migrators/traces/migrations/000013_add_RPC_system_service_method.down.sql similarity index 68% rename from exporter/clickhousetracesexporter/migrations/000013_add_RPC_system_service_method.down.sql rename to migrator/migrators/traces/migrations/000013_add_RPC_system_service_method.down.sql index e2d5e633..7cae95f2 100644 --- a/exporter/clickhousetracesexporter/migrations/000013_add_RPC_system_service_method.down.sql +++ b/migrator/migrators/traces/migrations/000013_add_RPC_system_service_method.down.sql @@ -1,17 +1,17 @@ -DROP TABLE IF EXISTS signoz_traces.durationSortMV ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.durationSortMV ON CLUSTER {{.SIGNOZ_CLUSTER}}; -ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP INDEX idx_rpcMethod, DROP INDEX idx_responseStatusCode; -ALTER TABLE signoz_traces.durationSort ON CLUSTER cluster +ALTER TABLE signoz_traces.durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP INDEX idx_rpcMethod, DROP INDEX idx_responseStatusCode; -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.durationSort AS SELECT timestamp, @@ -36,4 +36,4 @@ AS SELECT FROM signoz_traces.signoz_index_v2 ORDER BY durationNano, timestamp; -ATTACH TABLE IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER cluster; \ No newline at end of file +ATTACH TABLE IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER {{.SIGNOZ_CLUSTER}}; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000013_add_RPC_system_service_method.up.sql b/migrator/migrators/traces/migrations/000013_add_RPC_system_service_method.up.sql similarity index 78% rename from exporter/clickhousetracesexporter/migrations/000013_add_RPC_system_service_method.up.sql rename to migrator/migrators/traces/migrations/000013_add_RPC_system_service_method.up.sql index 0158f6b1..ef37757d 100644 --- a/exporter/clickhousetracesexporter/migrations/000013_add_RPC_system_service_method.up.sql +++ b/migrator/migrators/traces/migrations/000013_add_RPC_system_service_method.up.sql @@ -1,6 +1,6 @@ -DROP TABLE IF EXISTS signoz_traces.durationSortMV ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.durationSortMV ON CLUSTER {{.SIGNOZ_CLUSTER}}; -ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS `rpcSystem` LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS `rpcService` LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS `rpcMethod` LowCardinality(String) CODEC(ZSTD(1)), @@ -8,7 +8,7 @@ ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster -ALTER TABLE signoz_traces.durationSort ON CLUSTER cluster +ALTER TABLE signoz_traces.durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS `rpcSystem` LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS `rpcService` LowCardinality(String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS `rpcMethod` LowCardinality(String) CODEC(ZSTD(1)), @@ -16,17 +16,17 @@ ALTER TABLE signoz_traces.durationSort ON CLUSTER cluster -ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD INDEX IF NOT EXISTS idx_rpcMethod rpcMethod TYPE bloom_filter GRANULARITY 4, ADD INDEX IF NOT EXISTS idx_responseStatusCode responseStatusCode TYPE set(0) GRANULARITY 1; -ALTER TABLE signoz_traces.durationSort ON CLUSTER cluster +ALTER TABLE signoz_traces.durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD INDEX IF NOT EXISTS idx_rpcMethod rpcMethod TYPE bloom_filter GRANULARITY 4, ADD INDEX IF NOT EXISTS idx_responseStatusCode responseStatusCode TYPE set(0) GRANULARITY 1; -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.durationSort AS SELECT timestamp, diff --git a/migrator/migrators/traces/migrations/000014_add_usage_explorer_mv.down.sql b/migrator/migrators/traces/migrations/000014_add_usage_explorer_mv.down.sql new file mode 100644 index 00000000..e2967ae8 --- /dev/null +++ b/migrator/migrators/traces/migrations/000014_add_usage_explorer_mv.down.sql @@ -0,0 +1,2 @@ +DROP TABLE IF EXISTS signoz_traces.usage_explorer ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS signoz_traces.usage_explorer_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; diff --git a/exporter/clickhousetracesexporter/migrations/000014_add_usage_explorer_mv.up.sql b/migrator/migrators/traces/migrations/000014_add_usage_explorer_mv.up.sql similarity index 90% rename from exporter/clickhousetracesexporter/migrations/000014_add_usage_explorer_mv.up.sql rename to migrator/migrators/traces/migrations/000014_add_usage_explorer_mv.up.sql index 7fdc7505..8e09856f 100644 --- a/exporter/clickhousetracesexporter/migrations/000014_add_usage_explorer_mv.up.sql +++ b/migrator/migrators/traces/migrations/000014_add_usage_explorer_mv.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.usage_explorer ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.usage_explorer ON CLUSTER {{.SIGNOZ_CLUSTER}} ( timestamp DateTime64(9) CODEC(DoubleDelta, LZ4), service_name LowCardinality(String) CODEC(ZSTD(1)), count UInt64 CODEC(T64, ZSTD(1)) @@ -9,7 +9,7 @@ TTL toDateTime(timestamp) + INTERVAL 604800 SECOND DELETE; -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.usage_explorer_mv ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.usage_explorer_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.usage_explorer AS SELECT toStartOfHour(timestamp) as timestamp, diff --git a/exporter/clickhousetracesexporter/migrations/000015_top_level_operations_mv.down.sql b/migrator/migrators/traces/migrations/000015_top_level_operations_mv.down.sql similarity index 50% rename from exporter/clickhousetracesexporter/migrations/000015_top_level_operations_mv.down.sql rename to migrator/migrators/traces/migrations/000015_top_level_operations_mv.down.sql index 0559d365..6a244c2c 100644 --- a/exporter/clickhousetracesexporter/migrations/000015_top_level_operations_mv.down.sql +++ b/migrator/migrators/traces/migrations/000015_top_level_operations_mv.down.sql @@ -1,3 +1,3 @@ -DROP TABLE IF EXISTS signoz_traces.top_level_operations ON CLUSTER cluster; -DROP VIEW IF EXISTS signoz_traces.sub_root_operations ON CLUSTER cluster; -DROP VIEW IF EXISTS signoz_traces.root_operations ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.top_level_operations ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS signoz_traces.sub_root_operations ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS signoz_traces.root_operations ON CLUSTER {{.SIGNOZ_CLUSTER}}; diff --git a/exporter/clickhousetracesexporter/migrations/000015_top_level_operations_mv.up.sql b/migrator/migrators/traces/migrations/000015_top_level_operations_mv.up.sql similarity index 86% rename from exporter/clickhousetracesexporter/migrations/000015_top_level_operations_mv.up.sql rename to migrator/migrators/traces/migrations/000015_top_level_operations_mv.up.sql index 6a9c9afe..e06fdb21 100644 --- a/exporter/clickhousetracesexporter/migrations/000015_top_level_operations_mv.up.sql +++ b/migrator/migrators/traces/migrations/000015_top_level_operations_mv.up.sql @@ -1,11 +1,11 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.top_level_operations ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.top_level_operations ON CLUSTER {{.SIGNOZ_CLUSTER}} ( name LowCardinality(String) CODEC(ZSTD(1)), serviceName LowCardinality(String) CODEC(ZSTD(1)) ) ENGINE ReplacingMergeTree ORDER BY (serviceName, name); -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.sub_root_operations ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.sub_root_operations ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.top_level_operations AS SELECT DISTINCT name, @@ -13,7 +13,7 @@ AS SELECT DISTINCT FROM signoz_traces.signoz_index_v2 AS A, signoz_traces.signoz_index_v2 AS B WHERE (A.serviceName != B.serviceName) AND (A.parentSpanID = B.spanID); -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.root_operations ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.root_operations ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.top_level_operations AS SELECT DISTINCT name, diff --git a/exporter/clickhousetracesexporter/migrations/000016_dependency_graph_minutes.down.sql b/migrator/migrators/traces/migrations/000016_dependency_graph_minutes.down.sql similarity index 61% rename from exporter/clickhousetracesexporter/migrations/000016_dependency_graph_minutes.down.sql rename to migrator/migrators/traces/migrations/000016_dependency_graph_minutes.down.sql index b18a73d6..a5573c1d 100644 --- a/exporter/clickhousetracesexporter/migrations/000016_dependency_graph_minutes.down.sql +++ b/migrator/migrators/traces/migrations/000016_dependency_graph_minutes.down.sql @@ -1,4 +1,4 @@ -DROP TABLE IF EXISTS signoz_traces.dependency_graph_minutes ON CLUSTER cluster; -DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_service_calls_mv ON CLUSTER cluster; -DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_db_calls_mv ON CLUSTER cluster; -DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_messaging_calls_mv ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.dependency_graph_minutes ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_service_calls_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_db_calls_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_messaging_calls_mv ON CLUSTER {{.SIGNOZ_CLUSTER}}; diff --git a/exporter/clickhousetracesexporter/migrations/000016_dependency_graph_minutes.up.sql b/migrator/migrators/traces/migrations/000016_dependency_graph_minutes.up.sql similarity index 90% rename from exporter/clickhousetracesexporter/migrations/000016_dependency_graph_minutes.up.sql rename to migrator/migrators/traces/migrations/000016_dependency_graph_minutes.up.sql index 0b275854..1b15365f 100644 --- a/exporter/clickhousetracesexporter/migrations/000016_dependency_graph_minutes.up.sql +++ b/migrator/migrators/traces/migrations/000016_dependency_graph_minutes.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.dependency_graph_minutes ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.dependency_graph_minutes ON CLUSTER {{.SIGNOZ_CLUSTER}} ( src LowCardinality(String) CODEC(ZSTD(1)), dest LowCardinality(String) CODEC(ZSTD(1)), duration_quantiles_state AggregateFunction(quantiles(0.5, 0.75, 0.9, 0.95, 0.99), Float64) CODEC(Default), @@ -12,7 +12,7 @@ TTL toDateTime(timestamp) + INTERVAL 604800 SECOND DELETE; -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_service_calls_mv ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_service_calls_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.dependency_graph_minutes AS SELECT A.serviceName as src, @@ -25,7 +25,7 @@ FROM signoz_traces.signoz_index_v2 AS A, signoz_traces.signoz_index_v2 AS B WHERE (A.serviceName != B.serviceName) AND (A.spanID = B.parentSpanID) GROUP BY timestamp, src, dest; -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_db_calls_mv ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_db_calls_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.dependency_graph_minutes AS SELECT serviceName as src, @@ -38,7 +38,7 @@ FROM signoz_traces.signoz_index_v2 WHERE dest != '' and kind != 2 GROUP BY timestamp, src, dest; -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_messaging_calls_mv ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_messaging_calls_mv ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.dependency_graph_minutes AS SELECT serviceName as src, diff --git a/exporter/clickhousetracesexporter/migrations/000017_add_distributed_table.down.sql b/migrator/migrators/traces/migrations/000017_add_distributed_table.down.sql similarity index 66% rename from exporter/clickhousetracesexporter/migrations/000017_add_distributed_table.down.sql rename to migrator/migrators/traces/migrations/000017_add_distributed_table.down.sql index e22f1d4a..93d93cdd 100644 --- a/exporter/clickhousetracesexporter/migrations/000017_add_distributed_table.down.sql +++ b/migrator/migrators/traces/migrations/000017_add_distributed_table.down.sql @@ -1,13 +1,13 @@ -DROP TABLE IF EXISTS signoz_traces.distributed_signoz_index_v2 ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.distributed_signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_traces.distributed_signoz_spans ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.distributed_signoz_spans ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_traces.distributed_durationSort ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.distributed_durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_traces.distributed_signoz_error_index_v2 ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.distributed_signoz_error_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_traces.distributed_usage_explorer ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.distributed_usage_explorer ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_traces.distributed_top_level_operations ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.distributed_top_level_operations ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_traces.distributed_dependency_graph_minutes ON CLUSTER cluster \ No newline at end of file +DROP TABLE IF EXISTS signoz_traces.distributed_dependency_graph_minutes ON CLUSTER {{.SIGNOZ_CLUSTER}} \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000017_add_distributed_table.up.sql b/migrator/migrators/traces/migrations/000017_add_distributed_table.up.sql similarity index 68% rename from exporter/clickhousetracesexporter/migrations/000017_add_distributed_table.up.sql rename to migrator/migrators/traces/migrations/000017_add_distributed_table.up.sql index eba3a10b..ba6f8841 100644 --- a/exporter/clickhousetracesexporter/migrations/000017_add_distributed_table.up.sql +++ b/migrator/migrators/traces/migrations/000017_add_distributed_table.up.sql @@ -1,21 +1,21 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.distributed_signoz_index_v2 ON CLUSTER cluster AS signoz_traces.signoz_index_v2 +CREATE TABLE IF NOT EXISTS signoz_traces.distributed_signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.signoz_index_v2 ENGINE = Distributed("cluster", "signoz_traces", signoz_index_v2, cityHash64(traceID)); -CREATE TABLE IF NOT EXISTS signoz_traces.distributed_signoz_spans ON CLUSTER cluster AS signoz_traces.signoz_spans +CREATE TABLE IF NOT EXISTS signoz_traces.distributed_signoz_spans ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.signoz_spans ENGINE = Distributed("cluster", "signoz_traces", signoz_spans, cityHash64(traceID)); -CREATE TABLE IF NOT EXISTS signoz_traces.distributed_durationSort ON CLUSTER cluster AS signoz_traces.durationSort +CREATE TABLE IF NOT EXISTS signoz_traces.distributed_durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.durationSort ENGINE = Distributed("cluster", "signoz_traces", durationSort, cityHash64(traceID)); -CREATE TABLE IF NOT EXISTS signoz_traces.distributed_signoz_error_index_v2 ON CLUSTER cluster AS signoz_traces.signoz_error_index_v2 +CREATE TABLE IF NOT EXISTS signoz_traces.distributed_signoz_error_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.signoz_error_index_v2 ENGINE = Distributed("cluster", "signoz_traces", signoz_error_index_v2, cityHash64(groupID)); -CREATE TABLE IF NOT EXISTS signoz_traces.distributed_usage_explorer ON CLUSTER cluster AS signoz_traces.usage_explorer +CREATE TABLE IF NOT EXISTS signoz_traces.distributed_usage_explorer ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.usage_explorer ENGINE = Distributed("cluster", "signoz_traces", usage_explorer, cityHash64(rand())); -CREATE TABLE IF NOT EXISTS signoz_traces.distributed_top_level_operations ON CLUSTER cluster AS signoz_traces.top_level_operations +CREATE TABLE IF NOT EXISTS signoz_traces.distributed_top_level_operations ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.top_level_operations ENGINE = Distributed("cluster", "signoz_traces", top_level_operations, cityHash64(rand())); -CREATE TABLE IF NOT EXISTS signoz_traces.distributed_dependency_graph_minutes ON CLUSTER cluster AS signoz_traces.dependency_graph_minutes +CREATE TABLE IF NOT EXISTS signoz_traces.distributed_dependency_graph_minutes ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.dependency_graph_minutes ENGINE = Distributed("cluster", "signoz_traces", dependency_graph_minutes, cityHash64(rand())); diff --git a/exporter/clickhousetracesexporter/migrations/000018_add_new_tag_types.down.sql b/migrator/migrators/traces/migrations/000018_add_new_tag_types.down.sql similarity index 79% rename from exporter/clickhousetracesexporter/migrations/000018_add_new_tag_types.down.sql rename to migrator/migrators/traces/migrations/000018_add_new_tag_types.down.sql index 7386b0b9..bcf27386 100644 --- a/exporter/clickhousetracesexporter/migrations/000018_add_new_tag_types.down.sql +++ b/migrator/migrators/traces/migrations/000018_add_new_tag_types.down.sql @@ -1,26 +1,26 @@ -DROP TABLE IF EXISTS signoz_traces.durationSortMV ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.durationSortMV ON CLUSTER {{.SIGNOZ_CLUSTER}}; -ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF NOT EXISTS stringTagMap Map(String, String) CODEC(ZSTD(1)), DROP COLUMN IF NOT EXISTS numberTagMap Map(String, Float64) CODEC(ZSTD(1)), DROP COLUMN IF NOT EXISTS boolTagMap Map(String, bool) CODEC(ZSTD(1)); -ALTER TABLE signoz_traces.distributed_signoz_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.distributed_signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF NOT EXISTS stringTagMap Map(String, String) CODEC(ZSTD(1)), DROP COLUMN IF NOT EXISTS numberTagMap Map(String, Float64) CODEC(ZSTD(1)), DROP COLUMN IF NOT EXISTS boolTagMap Map(String, bool) CODEC(ZSTD(1)); -ALTER TABLE signoz_traces.durationSort ON CLUSTER cluster +ALTER TABLE signoz_traces.durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF NOT EXISTS stringTagMap Map(String, String) CODEC(ZSTD(1)), DROP COLUMN IF NOT EXISTS numberTagMap Map(String, Float64) CODEC(ZSTD(1)), DROP COLUMN IF NOT EXISTS boolTagMap Map(String, bool) CODEC(ZSTD(1)); -ALTER TABLE signoz_traces.distributed_durationSort ON CLUSTER cluster +ALTER TABLE signoz_traces.distributed_durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF NOT EXISTS stringTagMap Map(String, String) CODEC(ZSTD(1)), DROP COLUMN IF NOT EXISTS numberTagMap Map(String, Float64) CODEC(ZSTD(1)), DROP COLUMN IF NOT EXISTS boolTagMap Map(String, bool) CODEC(ZSTD(1)); -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.durationSort AS SELECT timestamp, diff --git a/exporter/clickhousetracesexporter/migrations/000018_add_new_tag_types.up.sql b/migrator/migrators/traces/migrations/000018_add_new_tag_types.up.sql similarity index 79% rename from exporter/clickhousetracesexporter/migrations/000018_add_new_tag_types.up.sql rename to migrator/migrators/traces/migrations/000018_add_new_tag_types.up.sql index fefe195f..4a7241c1 100644 --- a/exporter/clickhousetracesexporter/migrations/000018_add_new_tag_types.up.sql +++ b/migrator/migrators/traces/migrations/000018_add_new_tag_types.up.sql @@ -1,26 +1,26 @@ -DROP TABLE IF EXISTS signoz_traces.durationSortMV ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.durationSortMV ON CLUSTER {{.SIGNOZ_CLUSTER}}; -ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS stringTagMap Map(String, String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS numberTagMap Map(String, Float64) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS boolTagMap Map(String, bool) CODEC(ZSTD(1)); -ALTER TABLE signoz_traces.distributed_signoz_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.distributed_signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS stringTagMap Map(String, String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS numberTagMap Map(String, Float64) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS boolTagMap Map(String, bool) CODEC(ZSTD(1)); -ALTER TABLE signoz_traces.durationSort ON CLUSTER cluster +ALTER TABLE signoz_traces.durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS stringTagMap Map(String, String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS numberTagMap Map(String, Float64) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS boolTagMap Map(String, bool) CODEC(ZSTD(1)); -ALTER TABLE signoz_traces.distributed_durationSort ON CLUSTER cluster +ALTER TABLE signoz_traces.distributed_durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS stringTagMap Map(String, String) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS numberTagMap Map(String, Float64) CODEC(ZSTD(1)), ADD COLUMN IF NOT EXISTS boolTagMap Map(String, bool) CODEC(ZSTD(1)); -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.durationSortMV ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.durationSort AS SELECT timestamp, diff --git a/migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.down.sql b/migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.down.sql new file mode 100644 index 00000000..c0f5c2ae --- /dev/null +++ b/migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.down.sql @@ -0,0 +1,6 @@ +ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 0; +ALTER TABLE signoz_traces.signoz_error_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 0; +ALTER TABLE signoz_traces.signoz_spans ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 0; +ALTER TABLE signoz_traces.durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 0; +ALTER TABLE signoz_traces.dependency_graph_minutes ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 0; +ALTER TABLE signoz_traces.usage_explorer ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 0; \ No newline at end of file diff --git a/migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.up.sql b/migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.up.sql new file mode 100644 index 00000000..971dc58f --- /dev/null +++ b/migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.up.sql @@ -0,0 +1,6 @@ +ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 1; +ALTER TABLE signoz_traces.signoz_error_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 1; +ALTER TABLE signoz_traces.signoz_spans ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 1; +ALTER TABLE signoz_traces.durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 1; +ALTER TABLE signoz_traces.dependency_graph_minutes ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 1; +ALTER TABLE signoz_traces.usage_explorer ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 1; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000020_resource_att_exceptions.down.sql b/migrator/migrators/traces/migrations/000020_resource_att_exceptions.down.sql similarity index 58% rename from exporter/clickhousetracesexporter/migrations/000020_resource_att_exceptions.down.sql rename to migrator/migrators/traces/migrations/000020_resource_att_exceptions.down.sql index 50619846..9a6f6317 100644 --- a/exporter/clickhousetracesexporter/migrations/000020_resource_att_exceptions.down.sql +++ b/migrator/migrators/traces/migrations/000020_resource_att_exceptions.down.sql @@ -1,4 +1,4 @@ -ALTER TABLE signoz_traces.signoz_error_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.signoz_error_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF EXISTS resourceTagsMap; -ALTER TABLE signoz_traces.distributed_signoz_error_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.distributed_signoz_error_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF EXISTS resourceTagsMap; \ No newline at end of file diff --git a/exporter/clickhousetracesexporter/migrations/000020_resource_att_exceptions.up.sql b/migrator/migrators/traces/migrations/000020_resource_att_exceptions.up.sql similarity index 82% rename from exporter/clickhousetracesexporter/migrations/000020_resource_att_exceptions.up.sql rename to migrator/migrators/traces/migrations/000020_resource_att_exceptions.up.sql index eb7e55b0..f6d2909f 100644 --- a/exporter/clickhousetracesexporter/migrations/000020_resource_att_exceptions.up.sql +++ b/migrator/migrators/traces/migrations/000020_resource_att_exceptions.up.sql @@ -1,7 +1,7 @@ -ALTER TABLE signoz_traces.signoz_error_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.signoz_error_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS resourceTagsMap Map(LowCardinality(String), String) CODEC(ZSTD(1)), ADD INDEX IF NOT EXISTS idx_resourceTagsMapKeys mapKeys(resourceTagsMap) TYPE bloom_filter(0.01) GRANULARITY 64, ADD INDEX IF NOT EXISTS idx_resourceTagsMapValues mapValues(resourceTagsMap) TYPE bloom_filter(0.01) GRANULARITY 64; -ALTER TABLE signoz_traces.distributed_signoz_error_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.distributed_signoz_error_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS resourceTagsMap Map(LowCardinality(String), String) CODEC(ZSTD(1)); diff --git a/exporter/clickhousetracesexporter/migrations/000021_resource_attributes_signoz_index_v2.down.sql b/migrator/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.down.sql similarity index 61% rename from exporter/clickhousetracesexporter/migrations/000021_resource_attributes_signoz_index_v2.down.sql rename to migrator/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.down.sql index f9a758b5..6c4a90db 100644 --- a/exporter/clickhousetracesexporter/migrations/000021_resource_attributes_signoz_index_v2.down.sql +++ b/migrator/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.down.sql @@ -1,4 +1,4 @@ -ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF EXISTS resourceTagsMap; -ALTER TABLE signoz_traces.distributed_signoz_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.distributed_signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF EXISTS resourceTagsMap; diff --git a/exporter/clickhousetracesexporter/migrations/000021_resource_attributes_signoz_index_v2.up.sql b/migrator/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.up.sql similarity index 84% rename from exporter/clickhousetracesexporter/migrations/000021_resource_attributes_signoz_index_v2.up.sql rename to migrator/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.up.sql index ab334a2c..cf63e7b3 100644 --- a/exporter/clickhousetracesexporter/migrations/000021_resource_attributes_signoz_index_v2.up.sql +++ b/migrator/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.up.sql @@ -1,7 +1,7 @@ -ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS resourceTagsMap Map(LowCardinality(String), String) CODEC(ZSTD(1)), ADD INDEX IF NOT EXISTS idx_resourceTagsMapKeys mapKeys(resourceTagsMap) TYPE bloom_filter(0.01) GRANULARITY 64, ADD INDEX IF NOT EXISTS idx_resourceTagsMapValues mapValues(resourceTagsMap) TYPE bloom_filter(0.01) GRANULARITY 64; -ALTER TABLE signoz_traces.distributed_signoz_index_v2 ON CLUSTER cluster +ALTER TABLE signoz_traces.distributed_signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS resourceTagsMap Map(LowCardinality(String), String) CODEC(ZSTD(1)); diff --git a/exporter/clickhousetracesexporter/migrations/000022_dependency_graph_minutes_v2.down.sql b/migrator/migrators/traces/migrations/000022_dependency_graph_minutes_v2.down.sql similarity index 60% rename from exporter/clickhousetracesexporter/migrations/000022_dependency_graph_minutes_v2.down.sql rename to migrator/migrators/traces/migrations/000022_dependency_graph_minutes_v2.down.sql index beeb0017..8145bcc5 100644 --- a/exporter/clickhousetracesexporter/migrations/000022_dependency_graph_minutes_v2.down.sql +++ b/migrator/migrators/traces/migrations/000022_dependency_graph_minutes_v2.down.sql @@ -1,6 +1,6 @@ -DROP TABLE IF EXISTS signoz_traces.dependency_graph_minutes_v2 ON CLUSTER cluster; -DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_service_calls_mv_v2 ON CLUSTER cluster; -DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_db_calls_mv_v2 ON CLUSTER cluster; -DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_messaging_calls_mv_v2 ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.dependency_graph_minutes_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_service_calls_mv_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_db_calls_mv_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; +DROP VIEW IF EXISTS signoz_traces.dependency_graph_minutes_messaging_calls_mv_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_traces.distributed_dependency_graph_minutes_v2 ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.distributed_dependency_graph_minutes_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; diff --git a/exporter/clickhousetracesexporter/migrations/000022_dependency_graph_minutes_v2.up.sql b/migrator/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql similarity index 91% rename from exporter/clickhousetracesexporter/migrations/000022_dependency_graph_minutes_v2.up.sql rename to migrator/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql index 4e6ff652..c2410357 100644 --- a/exporter/clickhousetracesexporter/migrations/000022_dependency_graph_minutes_v2.up.sql +++ b/migrator/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.dependency_graph_minutes_v2 ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.dependency_graph_minutes_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ( src LowCardinality(String) CODEC(ZSTD(1)), dest LowCardinality(String) CODEC(ZSTD(1)), duration_quantiles_state AggregateFunction(quantiles(0.5, 0.75, 0.9, 0.95, 0.99), Float64) CODEC(Default), @@ -14,7 +14,7 @@ ORDER BY (timestamp, src, dest, deployment_environment, k8s_cluster_name, k8s_na TTL toDateTime(timestamp) + INTERVAL 604800 SECOND DELETE; -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_service_calls_mv_v2 ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_service_calls_mv_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.dependency_graph_minutes_v2 AS SELECT A.serviceName as src, @@ -30,7 +30,7 @@ FROM signoz_traces.signoz_index_v2 AS A, signoz_traces.signoz_index_v2 AS B WHERE (A.serviceName != B.serviceName) AND (A.spanID = B.parentSpanID) GROUP BY timestamp, src, dest, deployment_environment, k8s_cluster_name, k8s_namespace_name; -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_db_calls_mv_v2 ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_db_calls_mv_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.dependency_graph_minutes_v2 AS SELECT serviceName as src, @@ -46,7 +46,7 @@ FROM signoz_traces.signoz_index_v2 WHERE dest != '' and kind != 2 GROUP BY timestamp, src, dest, deployment_environment, k8s_cluster_name, k8s_namespace_name; -CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_messaging_calls_mv_v2 ON CLUSTER cluster +CREATE MATERIALIZED VIEW IF NOT EXISTS signoz_traces.dependency_graph_minutes_messaging_calls_mv_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} TO signoz_traces.dependency_graph_minutes_v2 AS SELECT serviceName as src, @@ -62,5 +62,5 @@ FROM signoz_traces.signoz_index_v2 WHERE dest != '' and kind != 2 GROUP BY timestamp, src, dest, deployment_environment, k8s_cluster_name, k8s_namespace_name; -CREATE TABLE IF NOT EXISTS signoz_traces.distributed_dependency_graph_minutes_v2 ON CLUSTER cluster AS signoz_traces.dependency_graph_minutes_v2 +CREATE TABLE IF NOT EXISTS signoz_traces.distributed_dependency_graph_minutes_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.dependency_graph_minutes_v2 ENGINE = Distributed("cluster", "signoz_traces", dependency_graph_minutes_v2, cityHash64(rand())); diff --git a/migrator/migrators/traces/migrations/000023_span_attributes_mv.down.sql b/migrator/migrators/traces/migrations/000023_span_attributes_mv.down.sql new file mode 100644 index 00000000..ed7f1017 --- /dev/null +++ b/migrator/migrators/traces/migrations/000023_span_attributes_mv.down.sql @@ -0,0 +1,2 @@ +DROP TABLE IF EXISTS signoz_traces.distributed_span_attributes ON CLUSTER {{.SIGNOZ_CLUSTER}} +DROP TABLE IF EXISTS signoz_traces.span_attributes ON CLUSTER {{.SIGNOZ_CLUSTER}}; diff --git a/exporter/clickhousetracesexporter/migrations/000023_span_attributes_mv.up.sql b/migrator/migrators/traces/migrations/000023_span_attributes_mv.up.sql similarity index 89% rename from exporter/clickhousetracesexporter/migrations/000023_span_attributes_mv.up.sql rename to migrator/migrators/traces/migrations/000023_span_attributes_mv.up.sql index fc942c43..ac3a6e49 100644 --- a/exporter/clickhousetracesexporter/migrations/000023_span_attributes_mv.up.sql +++ b/migrator/migrators/traces/migrations/000023_span_attributes_mv.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.span_attributes ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.span_attributes ON CLUSTER {{.SIGNOZ_CLUSTER}} ( timestamp DateTime CODEC(DoubleDelta, ZSTD(1)), tagKey LowCardinality(String) CODEC(ZSTD(1)), tagType Enum('tag', 'resource') CODEC(ZSTD(1)), @@ -11,5 +11,5 @@ ORDER BY (tagKey, tagType, dataType, stringTagValue, float64TagValue, isColumn) TTL toDateTime(timestamp) + INTERVAL 172800 SECOND DELETE SETTINGS ttl_only_drop_parts = 1, allow_nullable_key = 1; -CREATE TABLE IF NOT EXISTS signoz_traces.distributed_span_attributes ON CLUSTER cluster AS signoz_traces.span_attributes +CREATE TABLE IF NOT EXISTS signoz_traces.distributed_span_attributes ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.span_attributes ENGINE = Distributed("cluster", "signoz_traces", span_attributes, cityHash64(rand())); diff --git a/exporter/clickhousetracesexporter/migrations/000024_span_attributes_keys.down.sql b/migrator/migrators/traces/migrations/000024_span_attributes_keys.down.sql similarity index 68% rename from exporter/clickhousetracesexporter/migrations/000024_span_attributes_keys.down.sql rename to migrator/migrators/traces/migrations/000024_span_attributes_keys.down.sql index bb1600cd..8ce0233c 100644 --- a/exporter/clickhousetracesexporter/migrations/000024_span_attributes_keys.down.sql +++ b/migrator/migrators/traces/migrations/000024_span_attributes_keys.down.sql @@ -1,2 +1,2 @@ -DROP TABLE IF EXISTS signoz_traces.distributed_span_attributes_keys ON CLUSTER cluster -DROP TABLE IF EXISTS signoz_traces.span_attributes_keys ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_traces.distributed_span_attributes_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} +DROP TABLE IF EXISTS signoz_traces.span_attributes_keys ON CLUSTER {{.SIGNOZ_CLUSTER}}; diff --git a/exporter/clickhousetracesexporter/migrations/000024_span_attributes_keys.up.sql b/migrator/migrators/traces/migrations/000024_span_attributes_keys.up.sql similarity index 81% rename from exporter/clickhousetracesexporter/migrations/000024_span_attributes_keys.up.sql rename to migrator/migrators/traces/migrations/000024_span_attributes_keys.up.sql index 4dd8d505..f2565df3 100644 --- a/exporter/clickhousetracesexporter/migrations/000024_span_attributes_keys.up.sql +++ b/migrator/migrators/traces/migrations/000024_span_attributes_keys.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_traces.span_attributes_keys ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_traces.span_attributes_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} ( tagKey LowCardinality(String) CODEC(ZSTD(1)), tagType Enum('tag', 'resource') CODEC(ZSTD(1)), dataType Enum('string', 'bool', 'float64') CODEC(ZSTD(1)), @@ -6,5 +6,5 @@ CREATE TABLE IF NOT EXISTS signoz_traces.span_attributes_keys ON CLUSTER cluster ) ENGINE ReplacingMergeTree ORDER BY (tagKey, tagType, dataType, isColumn); -CREATE TABLE IF NOT EXISTS signoz_traces.distributed_span_attributes_keys ON CLUSTER cluster AS signoz_traces.span_attributes_keys +CREATE TABLE IF NOT EXISTS signoz_traces.distributed_span_attributes_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.span_attributes_keys ENGINE = Distributed("cluster", "signoz_traces", span_attributes_keys, cityHash64(rand())); diff --git a/migrator/migrators/traces/migrator.go b/migrator/migrators/traces/migrator.go new file mode 100644 index 00000000..6153ac40 --- /dev/null +++ b/migrator/migrators/traces/migrator.go @@ -0,0 +1,25 @@ +package traces + +import ( + "context" + + basemigrator "github.com/SigNoz/signoz-otel-collector/migrator/migrators/baseMigrator" +) + +const ( + name = "traces" + database = "signoz_traces" + migrationFolder = "migrator/migrators/traces/migrations" +) + +type TracesMigrator struct { + *basemigrator.BaseMigrator +} + +func (m *TracesMigrator) Migrate(ctx context.Context) error { + return m.BaseMigrator.Migrate(ctx, database, migrationFolder) +} + +func (m *TracesMigrator) Name() string { + return name +} \ No newline at end of file From d4fb0528e6e75d9a0fbe9178e7e8fe6523d2f149 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Tue, 10 Oct 2023 17:09:11 +0530 Subject: [PATCH 04/32] chore: revert moving exporter names to constants --- constants/exporters.go | 7 ------- exporter/clickhouselogsexporter/factory.go | 3 +-- exporter/clickhousemetricsexporter/factory.go | 3 +-- exporter/clickhousetracesexporter/factory.go | 3 +-- 4 files changed, 3 insertions(+), 13 deletions(-) delete mode 100644 constants/exporters.go diff --git a/constants/exporters.go b/constants/exporters.go deleted file mode 100644 index d81bdd56..00000000 --- a/constants/exporters.go +++ /dev/null @@ -1,7 +0,0 @@ -package constants - -const ( - SignozLogsExporter = "clickhouselogsexporter" - SignozMetricsExporter = "clickhousemetricswrite" - SignozTracesExporter = "clickhousetraces" -) diff --git a/exporter/clickhouselogsexporter/factory.go b/exporter/clickhouselogsexporter/factory.go index cdbd1175..5e8e7e34 100644 --- a/exporter/clickhouselogsexporter/factory.go +++ b/exporter/clickhouselogsexporter/factory.go @@ -18,7 +18,6 @@ import ( "context" "fmt" - "github.com/SigNoz/signoz-otel-collector/constants" "go.opencensus.io/stats" "go.opencensus.io/stats/view" "go.opencensus.io/tag" @@ -29,7 +28,7 @@ import ( const ( // The value of "type" key in configuration. - typeStr = constants.SignozLogsExporter + typeStr = "clickhouselogsexporter" primaryNamespace = "clickhouselogs" archiveNamespace = "clickhouselogs-archive" databaseName = "signoz_logs" diff --git a/exporter/clickhousemetricsexporter/factory.go b/exporter/clickhousemetricsexporter/factory.go index f61139b5..ce6a7f40 100644 --- a/exporter/clickhousemetricsexporter/factory.go +++ b/exporter/clickhousemetricsexporter/factory.go @@ -19,7 +19,6 @@ import ( "errors" "time" - "github.com/SigNoz/signoz-otel-collector/constants" "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry" "go.opencensus.io/stats" "go.opencensus.io/stats/view" @@ -33,7 +32,7 @@ import ( const ( // The value of "type" key in configuration. - typeStr = constants.SignozMetricsExporter + typeStr = "clickhousemetricswrite" ) var ( diff --git a/exporter/clickhousetracesexporter/factory.go b/exporter/clickhousetracesexporter/factory.go index c08820e5..93c19496 100644 --- a/exporter/clickhousetracesexporter/factory.go +++ b/exporter/clickhousetracesexporter/factory.go @@ -17,7 +17,6 @@ package clickhousetracesexporter import ( "context" - "github.com/SigNoz/signoz-otel-collector/constants" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/exporter/exporterhelper" @@ -25,7 +24,7 @@ import ( const ( // The value of "type" key in configuration. - typeStr = constants.SignozTracesExporter + typeStr = "clickhousetraces" primaryNamespace = "clickhouse" archiveNamespace = "clickhouse-archive" ) From 41589f9c919c9e991f29d9e7233e3b9c83e47399 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Tue, 10 Oct 2023 17:13:15 +0530 Subject: [PATCH 05/32] chore: add close functions to manager and migrators --- cmd/signozcollectormigrator/migrate.go | 2 ++ migrator/manager.go | 9 +++++++++ migrator/migrators/baseMigrator/migrator.go | 4 ++++ migrator/migrators/migrators.go | 1 + 4 files changed, 16 insertions(+) diff --git a/cmd/signozcollectormigrator/migrate.go b/cmd/signozcollectormigrator/migrate.go index 93a2d841..198c70de 100644 --- a/cmd/signozcollectormigrator/migrate.go +++ b/cmd/signozcollectormigrator/migrate.go @@ -67,6 +67,8 @@ func main() { if err != nil { logger.Fatal("Failed to create migration manager", zap.Error(err)) } + defer migrationManager.Close() + err = migrationManager.Migrate(context.Background()) if err != nil { logger.Fatal("Failed to run migrations", zap.Error(err)) diff --git a/migrator/manager.go b/migrator/manager.go index db8f47f0..0c837f92 100644 --- a/migrator/manager.go +++ b/migrator/manager.go @@ -83,4 +83,13 @@ func (m *MigrationManager) Migrate(ctx context.Context) error { return nil } +func (m *MigrationManager) Close() error { + for _, migrator := range m.Migrators { + if err := migrator.Close(); err != nil { + return err + } + } + return nil +} + diff --git a/migrator/migrators/baseMigrator/migrator.go b/migrator/migrators/baseMigrator/migrator.go index aa1e734d..01d3ad5c 100644 --- a/migrator/migrators/baseMigrator/migrator.go +++ b/migrator/migrators/baseMigrator/migrator.go @@ -139,3 +139,7 @@ func (m *BaseMigrator) Migrate(ctx context.Context, database string, migrationFo return m.RunSqlMigrations(ctx, migrationFolder, database) } + +func (m *BaseMigrator) Close() error { + return m.DB.Close() +} diff --git a/migrator/migrators/migrators.go b/migrator/migrators/migrators.go index 315584ce..3aac5261 100644 --- a/migrator/migrators/migrators.go +++ b/migrator/migrators/migrators.go @@ -14,5 +14,6 @@ type MigratorConfig struct { type Migrator interface { Migrate(context.Context) error + Close() error Name() string } From d353d1c495b4a7633557aedd1a185c739981e8c1 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Tue, 10 Oct 2023 17:21:56 +0530 Subject: [PATCH 06/32] chore: rename module to migrationManager --- cmd/signozcollectormigrator/migrate.go | 8 ++++---- {migrator => migrationManager}/manager.go | 14 ++++++-------- .../migrators/baseMigrator/migrator.go | 2 +- .../logs/migrations/000001_init_db.down.sql | 0 .../logs/migrations/000001_init_db.up.sql | 0 .../logs/migrations/000002_add_minmax_idx.down.sql | 0 .../logs/migrations/000002_add_minmax_idx.up.sql | 0 .../000003_add_distributed_table.down.sql | 0 .../migrations/000003_add_distributed_table.up.sql | 0 .../migrations/000004_ttl_only_drop_parts.down.sql | 0 .../migrations/000004_ttl_only_drop_parts.up.sql | 0 .../migrations/000005_attribute_rename.down.sql | 0 .../logs/migrations/000005_attribute_rename.up.sql | 0 .../logs/migrations/000006_tag_attributes.down.sql | 0 .../logs/migrations/000006_tag_attributes.up.sql | 0 .../migrations/000007_default_indexes.down.sql | 0 .../logs/migrations/000007_default_indexes.up.sql | 0 .../migrators/logs/migrator.go | 5 +++-- .../metrics/migrations/000001_init_db.down.sql | 0 .../metrics/migrations/000001_init_db.up.sql | 0 .../migrators/metrics/migrator.go | 4 ++-- .../migrators/migrators.go | 0 .../traces/migrations/000001_init_db.down.sql | 0 .../traces/migrations/000001_init_db.up.sql | 0 .../traces/migrations/000002_init_schema.down.sql | 0 .../traces/migrations/000002_init_schema.up.sql | 0 .../traces/migrations/000003_init_schema.down.sql | 0 .../traces/migrations/000003_init_schema.up.sql | 0 .../traces/migrations/000004_update_table.down.sql | 0 .../traces/migrations/000004_update_table.up.sql | 0 .../traces/migrations/000005_add_hasError.down.sql | 0 .../traces/migrations/000005_add_hasError.up.sql | 0 .../traces/migrations/000006_add_tag_map.down.sql | 0 .../traces/migrations/000006_add_tag_map.up.sql | 0 .../000007_init_signoz_index_v2.down.sql | 0 .../migrations/000007_init_signoz_index_v2.up.sql | 0 .../migrations/000008_init_signoz_spans.down.sql | 0 .../migrations/000008_init_signoz_spans.up.sql | 0 .../000009_init_signoz_error_index.down.sql | 0 .../000009_init_signoz_error_index.up.sql | 0 .../000010_add_gRPC_code_method.down.sql | 0 .../migrations/000010_add_gRPC_code_method.up.sql | 0 .../migrations/000011_init_durationMV.down.sql | 0 .../migrations/000011_init_durationMV.up.sql | 0 .../000012_init_signoz_error_index_v2.down.sql | 0 .../000012_init_signoz_error_index_v2.up.sql | 0 .../000013_add_RPC_system_service_method.down.sql | 0 .../000013_add_RPC_system_service_method.up.sql | 0 .../000014_add_usage_explorer_mv.down.sql | 0 .../migrations/000014_add_usage_explorer_mv.up.sql | 0 .../000015_top_level_operations_mv.down.sql | 0 .../000015_top_level_operations_mv.up.sql | 0 .../000016_dependency_graph_minutes.down.sql | 0 .../000016_dependency_graph_minutes.up.sql | 0 .../000017_add_distributed_table.down.sql | 0 .../migrations/000017_add_distributed_table.up.sql | 0 .../migrations/000018_add_new_tag_types.down.sql | 0 .../migrations/000018_add_new_tag_types.up.sql | 0 .../migrations/000019_ttl_only_drop_parts.down.sql | 0 .../migrations/000019_ttl_only_drop_parts.up.sql | 0 .../000020_resource_att_exceptions.down.sql | 0 .../000020_resource_att_exceptions.up.sql | 0 ...21_resource_attributes_signoz_index_v2.down.sql | 0 ...0021_resource_attributes_signoz_index_v2.up.sql | 0 .../000022_dependency_graph_minutes_v2.down.sql | 0 .../000022_dependency_graph_minutes_v2.up.sql | 0 .../migrations/000023_span_attributes_mv.down.sql | 0 .../migrations/000023_span_attributes_mv.up.sql | 0 .../000024_span_attributes_keys.down.sql | 0 .../migrations/000024_span_attributes_keys.up.sql | 0 .../migrators/traces/migrator.go | 6 +++--- 71 files changed, 19 insertions(+), 20 deletions(-) rename {migrator => migrationManager}/manager.go (82%) rename {migrator => migrationManager}/migrators/baseMigrator/migrator.go (98%) rename {migrator => migrationManager}/migrators/logs/migrations/000001_init_db.down.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000001_init_db.up.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000002_add_minmax_idx.down.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000002_add_minmax_idx.up.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000003_add_distributed_table.down.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000003_add_distributed_table.up.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000004_ttl_only_drop_parts.down.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000004_ttl_only_drop_parts.up.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000005_attribute_rename.down.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000005_attribute_rename.up.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000006_tag_attributes.down.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000006_tag_attributes.up.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000007_default_indexes.down.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrations/000007_default_indexes.up.sql (100%) rename {migrator => migrationManager}/migrators/logs/migrator.go (68%) rename {migrator => migrationManager}/migrators/metrics/migrations/000001_init_db.down.sql (100%) rename {migrator => migrationManager}/migrators/metrics/migrations/000001_init_db.up.sql (100%) rename {migrator => migrationManager}/migrators/metrics/migrator.go (86%) rename {migrator => migrationManager}/migrators/migrators.go (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000001_init_db.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000001_init_db.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000002_init_schema.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000002_init_schema.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000003_init_schema.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000003_init_schema.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000004_update_table.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000004_update_table.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000005_add_hasError.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000005_add_hasError.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000006_add_tag_map.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000006_add_tag_map.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000007_init_signoz_index_v2.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000007_init_signoz_index_v2.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000008_init_signoz_spans.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000008_init_signoz_spans.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000009_init_signoz_error_index.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000009_init_signoz_error_index.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000010_add_gRPC_code_method.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000010_add_gRPC_code_method.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000011_init_durationMV.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000011_init_durationMV.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000012_init_signoz_error_index_v2.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000012_init_signoz_error_index_v2.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000013_add_RPC_system_service_method.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000013_add_RPC_system_service_method.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000014_add_usage_explorer_mv.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000014_add_usage_explorer_mv.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000015_top_level_operations_mv.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000015_top_level_operations_mv.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000016_dependency_graph_minutes.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000016_dependency_graph_minutes.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000017_add_distributed_table.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000017_add_distributed_table.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000018_add_new_tag_types.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000018_add_new_tag_types.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000019_ttl_only_drop_parts.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000019_ttl_only_drop_parts.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000020_resource_att_exceptions.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000020_resource_att_exceptions.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000022_dependency_graph_minutes_v2.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000023_span_attributes_mv.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000023_span_attributes_mv.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000024_span_attributes_keys.down.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrations/000024_span_attributes_keys.up.sql (100%) rename {migrator => migrationManager}/migrators/traces/migrator.go (68%) diff --git a/cmd/signozcollectormigrator/migrate.go b/cmd/signozcollectormigrator/migrate.go index 198c70de..f88bd8c1 100644 --- a/cmd/signozcollectormigrator/migrate.go +++ b/cmd/signozcollectormigrator/migrate.go @@ -6,7 +6,7 @@ import ( "log" "os" - "github.com/SigNoz/signoz-otel-collector/migrator" + migrationmanager "github.com/SigNoz/signoz-otel-collector/migrationManager" "github.com/spf13/pflag" "go.uber.org/zap" "go.uber.org/zap/zapcore" @@ -63,13 +63,13 @@ func main() { logger.Fatal("dsn and clusterName are required fields") } - migrationManager, err := migrator.NewMigrationManager(dsn, clusterName, multiNodeCluster) + manager, err := migrationmanager.New(dsn, clusterName, multiNodeCluster) if err != nil { logger.Fatal("Failed to create migration manager", zap.Error(err)) } - defer migrationManager.Close() + defer manager.Close() - err = migrationManager.Migrate(context.Background()) + err = manager.Migrate(context.Background()) if err != nil { logger.Fatal("Failed to run migrations", zap.Error(err)) } diff --git a/migrator/manager.go b/migrationManager/manager.go similarity index 82% rename from migrator/manager.go rename to migrationManager/manager.go index 0c837f92..b0e1c093 100644 --- a/migrator/manager.go +++ b/migrationManager/manager.go @@ -4,11 +4,11 @@ import ( "context" "fmt" - "github.com/SigNoz/signoz-otel-collector/migrator/migrators" - basemigrator "github.com/SigNoz/signoz-otel-collector/migrator/migrators/baseMigrator" - "github.com/SigNoz/signoz-otel-collector/migrator/migrators/logs" - "github.com/SigNoz/signoz-otel-collector/migrator/migrators/metrics" - "github.com/SigNoz/signoz-otel-collector/migrator/migrators/traces" + "github.com/SigNoz/signoz-otel-collector/migrationManager/migrators" + basemigrator "github.com/SigNoz/signoz-otel-collector/migrationManager/migrators/baseMigrator" + "github.com/SigNoz/signoz-otel-collector/migrationManager/migrators/logs" + "github.com/SigNoz/signoz-otel-collector/migrationManager/migrators/metrics" + "github.com/SigNoz/signoz-otel-collector/migrationManager/migrators/traces" "go.uber.org/zap" ) @@ -17,7 +17,7 @@ type MigrationManager struct { logger *zap.Logger } -func NewMigrationManager(dsn string, clusterName string, isMultiNodeCluster bool) (*MigrationManager, error) { +func New(dsn string, clusterName string, isMultiNodeCluster bool) (*MigrationManager, error) { logger := zap.L().With(zap.String("component", "migrationManager")) migratorConfig := migrators.MigratorConfig{ DSN: dsn, @@ -91,5 +91,3 @@ func (m *MigrationManager) Close() error { } return nil } - - diff --git a/migrator/migrators/baseMigrator/migrator.go b/migrationManager/migrators/baseMigrator/migrator.go similarity index 98% rename from migrator/migrators/baseMigrator/migrator.go rename to migrationManager/migrators/baseMigrator/migrator.go index 01d3ad5c..22fb0ae0 100644 --- a/migrator/migrators/baseMigrator/migrator.go +++ b/migrationManager/migrators/baseMigrator/migrator.go @@ -8,7 +8,7 @@ import ( "github.com/ClickHouse/clickhouse-go/v2" "github.com/ClickHouse/clickhouse-go/v2/lib/driver" - "github.com/SigNoz/signoz-otel-collector/migrator/migrators" + "github.com/SigNoz/signoz-otel-collector/migrationManager/migrators" "github.com/golang-migrate/migrate/v4" _ "github.com/golang-migrate/migrate/v4/database/clickhouse" _ "github.com/golang-migrate/migrate/v4/source/file" diff --git a/migrator/migrators/logs/migrations/000001_init_db.down.sql b/migrationManager/migrators/logs/migrations/000001_init_db.down.sql similarity index 100% rename from migrator/migrators/logs/migrations/000001_init_db.down.sql rename to migrationManager/migrators/logs/migrations/000001_init_db.down.sql diff --git a/migrator/migrators/logs/migrations/000001_init_db.up.sql b/migrationManager/migrators/logs/migrations/000001_init_db.up.sql similarity index 100% rename from migrator/migrators/logs/migrations/000001_init_db.up.sql rename to migrationManager/migrators/logs/migrations/000001_init_db.up.sql diff --git a/migrator/migrators/logs/migrations/000002_add_minmax_idx.down.sql b/migrationManager/migrators/logs/migrations/000002_add_minmax_idx.down.sql similarity index 100% rename from migrator/migrators/logs/migrations/000002_add_minmax_idx.down.sql rename to migrationManager/migrators/logs/migrations/000002_add_minmax_idx.down.sql diff --git a/migrator/migrators/logs/migrations/000002_add_minmax_idx.up.sql b/migrationManager/migrators/logs/migrations/000002_add_minmax_idx.up.sql similarity index 100% rename from migrator/migrators/logs/migrations/000002_add_minmax_idx.up.sql rename to migrationManager/migrators/logs/migrations/000002_add_minmax_idx.up.sql diff --git a/migrator/migrators/logs/migrations/000003_add_distributed_table.down.sql b/migrationManager/migrators/logs/migrations/000003_add_distributed_table.down.sql similarity index 100% rename from migrator/migrators/logs/migrations/000003_add_distributed_table.down.sql rename to migrationManager/migrators/logs/migrations/000003_add_distributed_table.down.sql diff --git a/migrator/migrators/logs/migrations/000003_add_distributed_table.up.sql b/migrationManager/migrators/logs/migrations/000003_add_distributed_table.up.sql similarity index 100% rename from migrator/migrators/logs/migrations/000003_add_distributed_table.up.sql rename to migrationManager/migrators/logs/migrations/000003_add_distributed_table.up.sql diff --git a/migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.down.sql b/migrationManager/migrators/logs/migrations/000004_ttl_only_drop_parts.down.sql similarity index 100% rename from migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.down.sql rename to migrationManager/migrators/logs/migrations/000004_ttl_only_drop_parts.down.sql diff --git a/migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.up.sql b/migrationManager/migrators/logs/migrations/000004_ttl_only_drop_parts.up.sql similarity index 100% rename from migrator/migrators/logs/migrations/000004_ttl_only_drop_parts.up.sql rename to migrationManager/migrators/logs/migrations/000004_ttl_only_drop_parts.up.sql diff --git a/migrator/migrators/logs/migrations/000005_attribute_rename.down.sql b/migrationManager/migrators/logs/migrations/000005_attribute_rename.down.sql similarity index 100% rename from migrator/migrators/logs/migrations/000005_attribute_rename.down.sql rename to migrationManager/migrators/logs/migrations/000005_attribute_rename.down.sql diff --git a/migrator/migrators/logs/migrations/000005_attribute_rename.up.sql b/migrationManager/migrators/logs/migrations/000005_attribute_rename.up.sql similarity index 100% rename from migrator/migrators/logs/migrations/000005_attribute_rename.up.sql rename to migrationManager/migrators/logs/migrations/000005_attribute_rename.up.sql diff --git a/migrator/migrators/logs/migrations/000006_tag_attributes.down.sql b/migrationManager/migrators/logs/migrations/000006_tag_attributes.down.sql similarity index 100% rename from migrator/migrators/logs/migrations/000006_tag_attributes.down.sql rename to migrationManager/migrators/logs/migrations/000006_tag_attributes.down.sql diff --git a/migrator/migrators/logs/migrations/000006_tag_attributes.up.sql b/migrationManager/migrators/logs/migrations/000006_tag_attributes.up.sql similarity index 100% rename from migrator/migrators/logs/migrations/000006_tag_attributes.up.sql rename to migrationManager/migrators/logs/migrations/000006_tag_attributes.up.sql diff --git a/migrator/migrators/logs/migrations/000007_default_indexes.down.sql b/migrationManager/migrators/logs/migrations/000007_default_indexes.down.sql similarity index 100% rename from migrator/migrators/logs/migrations/000007_default_indexes.down.sql rename to migrationManager/migrators/logs/migrations/000007_default_indexes.down.sql diff --git a/migrator/migrators/logs/migrations/000007_default_indexes.up.sql b/migrationManager/migrators/logs/migrations/000007_default_indexes.up.sql similarity index 100% rename from migrator/migrators/logs/migrations/000007_default_indexes.up.sql rename to migrationManager/migrators/logs/migrations/000007_default_indexes.up.sql diff --git a/migrator/migrators/logs/migrator.go b/migrationManager/migrators/logs/migrator.go similarity index 68% rename from migrator/migrators/logs/migrator.go rename to migrationManager/migrators/logs/migrator.go index fb96c5bc..c8ab9c7d 100644 --- a/migrator/migrators/logs/migrator.go +++ b/migrationManager/migrators/logs/migrator.go @@ -2,13 +2,14 @@ package logs import ( "context" - basemigrator "github.com/SigNoz/signoz-otel-collector/migrator/migrators/baseMigrator" + + basemigrator "github.com/SigNoz/signoz-otel-collector/migrationManager/migrators/baseMigrator" ) const ( name = "logs" database = "signoz_logs" - migrationFolder = "migrator/migrators/logs/migrations" + migrationFolder = "migrationManager/migrators/logs/migrations" ) type LogsMigrator struct { diff --git a/migrator/migrators/metrics/migrations/000001_init_db.down.sql b/migrationManager/migrators/metrics/migrations/000001_init_db.down.sql similarity index 100% rename from migrator/migrators/metrics/migrations/000001_init_db.down.sql rename to migrationManager/migrators/metrics/migrations/000001_init_db.down.sql diff --git a/migrator/migrators/metrics/migrations/000001_init_db.up.sql b/migrationManager/migrators/metrics/migrations/000001_init_db.up.sql similarity index 100% rename from migrator/migrators/metrics/migrations/000001_init_db.up.sql rename to migrationManager/migrators/metrics/migrations/000001_init_db.up.sql diff --git a/migrator/migrators/metrics/migrator.go b/migrationManager/migrators/metrics/migrator.go similarity index 86% rename from migrator/migrators/metrics/migrator.go rename to migrationManager/migrators/metrics/migrator.go index dbd20e12..6bb54146 100644 --- a/migrator/migrators/metrics/migrator.go +++ b/migrationManager/migrators/metrics/migrator.go @@ -6,13 +6,13 @@ import ( "strings" "github.com/SigNoz/signoz-otel-collector/exporter/clickhousemetricsexporter" - basemigrator "github.com/SigNoz/signoz-otel-collector/migrator/migrators/baseMigrator" + basemigrator "github.com/SigNoz/signoz-otel-collector/migrationManager/migrators/baseMigrator" ) const ( name = "metrics" database = "signoz_metrics" - migrationFolder = "migrator/migrators/metrics/migrations" + migrationFolder = "migrationManager/migrators/metrics/migrations" ) type MetricsMigrator struct { diff --git a/migrator/migrators/migrators.go b/migrationManager/migrators/migrators.go similarity index 100% rename from migrator/migrators/migrators.go rename to migrationManager/migrators/migrators.go diff --git a/migrator/migrators/traces/migrations/000001_init_db.down.sql b/migrationManager/migrators/traces/migrations/000001_init_db.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000001_init_db.down.sql rename to migrationManager/migrators/traces/migrations/000001_init_db.down.sql diff --git a/migrator/migrators/traces/migrations/000001_init_db.up.sql b/migrationManager/migrators/traces/migrations/000001_init_db.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000001_init_db.up.sql rename to migrationManager/migrators/traces/migrations/000001_init_db.up.sql diff --git a/migrator/migrators/traces/migrations/000002_init_schema.down.sql b/migrationManager/migrators/traces/migrations/000002_init_schema.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000002_init_schema.down.sql rename to migrationManager/migrators/traces/migrations/000002_init_schema.down.sql diff --git a/migrator/migrators/traces/migrations/000002_init_schema.up.sql b/migrationManager/migrators/traces/migrations/000002_init_schema.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000002_init_schema.up.sql rename to migrationManager/migrators/traces/migrations/000002_init_schema.up.sql diff --git a/migrator/migrators/traces/migrations/000003_init_schema.down.sql b/migrationManager/migrators/traces/migrations/000003_init_schema.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000003_init_schema.down.sql rename to migrationManager/migrators/traces/migrations/000003_init_schema.down.sql diff --git a/migrator/migrators/traces/migrations/000003_init_schema.up.sql b/migrationManager/migrators/traces/migrations/000003_init_schema.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000003_init_schema.up.sql rename to migrationManager/migrators/traces/migrations/000003_init_schema.up.sql diff --git a/migrator/migrators/traces/migrations/000004_update_table.down.sql b/migrationManager/migrators/traces/migrations/000004_update_table.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000004_update_table.down.sql rename to migrationManager/migrators/traces/migrations/000004_update_table.down.sql diff --git a/migrator/migrators/traces/migrations/000004_update_table.up.sql b/migrationManager/migrators/traces/migrations/000004_update_table.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000004_update_table.up.sql rename to migrationManager/migrators/traces/migrations/000004_update_table.up.sql diff --git a/migrator/migrators/traces/migrations/000005_add_hasError.down.sql b/migrationManager/migrators/traces/migrations/000005_add_hasError.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000005_add_hasError.down.sql rename to migrationManager/migrators/traces/migrations/000005_add_hasError.down.sql diff --git a/migrator/migrators/traces/migrations/000005_add_hasError.up.sql b/migrationManager/migrators/traces/migrations/000005_add_hasError.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000005_add_hasError.up.sql rename to migrationManager/migrators/traces/migrations/000005_add_hasError.up.sql diff --git a/migrator/migrators/traces/migrations/000006_add_tag_map.down.sql b/migrationManager/migrators/traces/migrations/000006_add_tag_map.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000006_add_tag_map.down.sql rename to migrationManager/migrators/traces/migrations/000006_add_tag_map.down.sql diff --git a/migrator/migrators/traces/migrations/000006_add_tag_map.up.sql b/migrationManager/migrators/traces/migrations/000006_add_tag_map.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000006_add_tag_map.up.sql rename to migrationManager/migrators/traces/migrations/000006_add_tag_map.up.sql diff --git a/migrator/migrators/traces/migrations/000007_init_signoz_index_v2.down.sql b/migrationManager/migrators/traces/migrations/000007_init_signoz_index_v2.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000007_init_signoz_index_v2.down.sql rename to migrationManager/migrators/traces/migrations/000007_init_signoz_index_v2.down.sql diff --git a/migrator/migrators/traces/migrations/000007_init_signoz_index_v2.up.sql b/migrationManager/migrators/traces/migrations/000007_init_signoz_index_v2.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000007_init_signoz_index_v2.up.sql rename to migrationManager/migrators/traces/migrations/000007_init_signoz_index_v2.up.sql diff --git a/migrator/migrators/traces/migrations/000008_init_signoz_spans.down.sql b/migrationManager/migrators/traces/migrations/000008_init_signoz_spans.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000008_init_signoz_spans.down.sql rename to migrationManager/migrators/traces/migrations/000008_init_signoz_spans.down.sql diff --git a/migrator/migrators/traces/migrations/000008_init_signoz_spans.up.sql b/migrationManager/migrators/traces/migrations/000008_init_signoz_spans.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000008_init_signoz_spans.up.sql rename to migrationManager/migrators/traces/migrations/000008_init_signoz_spans.up.sql diff --git a/migrator/migrators/traces/migrations/000009_init_signoz_error_index.down.sql b/migrationManager/migrators/traces/migrations/000009_init_signoz_error_index.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000009_init_signoz_error_index.down.sql rename to migrationManager/migrators/traces/migrations/000009_init_signoz_error_index.down.sql diff --git a/migrator/migrators/traces/migrations/000009_init_signoz_error_index.up.sql b/migrationManager/migrators/traces/migrations/000009_init_signoz_error_index.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000009_init_signoz_error_index.up.sql rename to migrationManager/migrators/traces/migrations/000009_init_signoz_error_index.up.sql diff --git a/migrator/migrators/traces/migrations/000010_add_gRPC_code_method.down.sql b/migrationManager/migrators/traces/migrations/000010_add_gRPC_code_method.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000010_add_gRPC_code_method.down.sql rename to migrationManager/migrators/traces/migrations/000010_add_gRPC_code_method.down.sql diff --git a/migrator/migrators/traces/migrations/000010_add_gRPC_code_method.up.sql b/migrationManager/migrators/traces/migrations/000010_add_gRPC_code_method.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000010_add_gRPC_code_method.up.sql rename to migrationManager/migrators/traces/migrations/000010_add_gRPC_code_method.up.sql diff --git a/migrator/migrators/traces/migrations/000011_init_durationMV.down.sql b/migrationManager/migrators/traces/migrations/000011_init_durationMV.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000011_init_durationMV.down.sql rename to migrationManager/migrators/traces/migrations/000011_init_durationMV.down.sql diff --git a/migrator/migrators/traces/migrations/000011_init_durationMV.up.sql b/migrationManager/migrators/traces/migrations/000011_init_durationMV.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000011_init_durationMV.up.sql rename to migrationManager/migrators/traces/migrations/000011_init_durationMV.up.sql diff --git a/migrator/migrators/traces/migrations/000012_init_signoz_error_index_v2.down.sql b/migrationManager/migrators/traces/migrations/000012_init_signoz_error_index_v2.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000012_init_signoz_error_index_v2.down.sql rename to migrationManager/migrators/traces/migrations/000012_init_signoz_error_index_v2.down.sql diff --git a/migrator/migrators/traces/migrations/000012_init_signoz_error_index_v2.up.sql b/migrationManager/migrators/traces/migrations/000012_init_signoz_error_index_v2.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000012_init_signoz_error_index_v2.up.sql rename to migrationManager/migrators/traces/migrations/000012_init_signoz_error_index_v2.up.sql diff --git a/migrator/migrators/traces/migrations/000013_add_RPC_system_service_method.down.sql b/migrationManager/migrators/traces/migrations/000013_add_RPC_system_service_method.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000013_add_RPC_system_service_method.down.sql rename to migrationManager/migrators/traces/migrations/000013_add_RPC_system_service_method.down.sql diff --git a/migrator/migrators/traces/migrations/000013_add_RPC_system_service_method.up.sql b/migrationManager/migrators/traces/migrations/000013_add_RPC_system_service_method.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000013_add_RPC_system_service_method.up.sql rename to migrationManager/migrators/traces/migrations/000013_add_RPC_system_service_method.up.sql diff --git a/migrator/migrators/traces/migrations/000014_add_usage_explorer_mv.down.sql b/migrationManager/migrators/traces/migrations/000014_add_usage_explorer_mv.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000014_add_usage_explorer_mv.down.sql rename to migrationManager/migrators/traces/migrations/000014_add_usage_explorer_mv.down.sql diff --git a/migrator/migrators/traces/migrations/000014_add_usage_explorer_mv.up.sql b/migrationManager/migrators/traces/migrations/000014_add_usage_explorer_mv.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000014_add_usage_explorer_mv.up.sql rename to migrationManager/migrators/traces/migrations/000014_add_usage_explorer_mv.up.sql diff --git a/migrator/migrators/traces/migrations/000015_top_level_operations_mv.down.sql b/migrationManager/migrators/traces/migrations/000015_top_level_operations_mv.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000015_top_level_operations_mv.down.sql rename to migrationManager/migrators/traces/migrations/000015_top_level_operations_mv.down.sql diff --git a/migrator/migrators/traces/migrations/000015_top_level_operations_mv.up.sql b/migrationManager/migrators/traces/migrations/000015_top_level_operations_mv.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000015_top_level_operations_mv.up.sql rename to migrationManager/migrators/traces/migrations/000015_top_level_operations_mv.up.sql diff --git a/migrator/migrators/traces/migrations/000016_dependency_graph_minutes.down.sql b/migrationManager/migrators/traces/migrations/000016_dependency_graph_minutes.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000016_dependency_graph_minutes.down.sql rename to migrationManager/migrators/traces/migrations/000016_dependency_graph_minutes.down.sql diff --git a/migrator/migrators/traces/migrations/000016_dependency_graph_minutes.up.sql b/migrationManager/migrators/traces/migrations/000016_dependency_graph_minutes.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000016_dependency_graph_minutes.up.sql rename to migrationManager/migrators/traces/migrations/000016_dependency_graph_minutes.up.sql diff --git a/migrator/migrators/traces/migrations/000017_add_distributed_table.down.sql b/migrationManager/migrators/traces/migrations/000017_add_distributed_table.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000017_add_distributed_table.down.sql rename to migrationManager/migrators/traces/migrations/000017_add_distributed_table.down.sql diff --git a/migrator/migrators/traces/migrations/000017_add_distributed_table.up.sql b/migrationManager/migrators/traces/migrations/000017_add_distributed_table.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000017_add_distributed_table.up.sql rename to migrationManager/migrators/traces/migrations/000017_add_distributed_table.up.sql diff --git a/migrator/migrators/traces/migrations/000018_add_new_tag_types.down.sql b/migrationManager/migrators/traces/migrations/000018_add_new_tag_types.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000018_add_new_tag_types.down.sql rename to migrationManager/migrators/traces/migrations/000018_add_new_tag_types.down.sql diff --git a/migrator/migrators/traces/migrations/000018_add_new_tag_types.up.sql b/migrationManager/migrators/traces/migrations/000018_add_new_tag_types.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000018_add_new_tag_types.up.sql rename to migrationManager/migrators/traces/migrations/000018_add_new_tag_types.up.sql diff --git a/migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.down.sql b/migrationManager/migrators/traces/migrations/000019_ttl_only_drop_parts.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.down.sql rename to migrationManager/migrators/traces/migrations/000019_ttl_only_drop_parts.down.sql diff --git a/migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.up.sql b/migrationManager/migrators/traces/migrations/000019_ttl_only_drop_parts.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000019_ttl_only_drop_parts.up.sql rename to migrationManager/migrators/traces/migrations/000019_ttl_only_drop_parts.up.sql diff --git a/migrator/migrators/traces/migrations/000020_resource_att_exceptions.down.sql b/migrationManager/migrators/traces/migrations/000020_resource_att_exceptions.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000020_resource_att_exceptions.down.sql rename to migrationManager/migrators/traces/migrations/000020_resource_att_exceptions.down.sql diff --git a/migrator/migrators/traces/migrations/000020_resource_att_exceptions.up.sql b/migrationManager/migrators/traces/migrations/000020_resource_att_exceptions.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000020_resource_att_exceptions.up.sql rename to migrationManager/migrators/traces/migrations/000020_resource_att_exceptions.up.sql diff --git a/migrator/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.down.sql b/migrationManager/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.down.sql rename to migrationManager/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.down.sql diff --git a/migrator/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.up.sql b/migrationManager/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.up.sql rename to migrationManager/migrators/traces/migrations/000021_resource_attributes_signoz_index_v2.up.sql diff --git a/migrator/migrators/traces/migrations/000022_dependency_graph_minutes_v2.down.sql b/migrationManager/migrators/traces/migrations/000022_dependency_graph_minutes_v2.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000022_dependency_graph_minutes_v2.down.sql rename to migrationManager/migrators/traces/migrations/000022_dependency_graph_minutes_v2.down.sql diff --git a/migrator/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql b/migrationManager/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql rename to migrationManager/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql diff --git a/migrator/migrators/traces/migrations/000023_span_attributes_mv.down.sql b/migrationManager/migrators/traces/migrations/000023_span_attributes_mv.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000023_span_attributes_mv.down.sql rename to migrationManager/migrators/traces/migrations/000023_span_attributes_mv.down.sql diff --git a/migrator/migrators/traces/migrations/000023_span_attributes_mv.up.sql b/migrationManager/migrators/traces/migrations/000023_span_attributes_mv.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000023_span_attributes_mv.up.sql rename to migrationManager/migrators/traces/migrations/000023_span_attributes_mv.up.sql diff --git a/migrator/migrators/traces/migrations/000024_span_attributes_keys.down.sql b/migrationManager/migrators/traces/migrations/000024_span_attributes_keys.down.sql similarity index 100% rename from migrator/migrators/traces/migrations/000024_span_attributes_keys.down.sql rename to migrationManager/migrators/traces/migrations/000024_span_attributes_keys.down.sql diff --git a/migrator/migrators/traces/migrations/000024_span_attributes_keys.up.sql b/migrationManager/migrators/traces/migrations/000024_span_attributes_keys.up.sql similarity index 100% rename from migrator/migrators/traces/migrations/000024_span_attributes_keys.up.sql rename to migrationManager/migrators/traces/migrations/000024_span_attributes_keys.up.sql diff --git a/migrator/migrators/traces/migrator.go b/migrationManager/migrators/traces/migrator.go similarity index 68% rename from migrator/migrators/traces/migrator.go rename to migrationManager/migrators/traces/migrator.go index 6153ac40..a5ade649 100644 --- a/migrator/migrators/traces/migrator.go +++ b/migrationManager/migrators/traces/migrator.go @@ -3,13 +3,13 @@ package traces import ( "context" - basemigrator "github.com/SigNoz/signoz-otel-collector/migrator/migrators/baseMigrator" + basemigrator "github.com/SigNoz/signoz-otel-collector/migrationManager/migrators/baseMigrator" ) const ( name = "traces" database = "signoz_traces" - migrationFolder = "migrator/migrators/traces/migrations" + migrationFolder = "migrationManager/migrators/traces/migrations" ) type TracesMigrator struct { @@ -22,4 +22,4 @@ func (m *TracesMigrator) Migrate(ctx context.Context) error { func (m *TracesMigrator) Name() string { return name -} \ No newline at end of file +} From ae3a446249f6b920bd0cc272129f01f4f3de1bbd Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Tue, 10 Oct 2023 17:33:46 +0530 Subject: [PATCH 07/32] chore: minor refactor --- .../migrators/baseMigrator/migrator.go | 116 +++++++++--------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/migrationManager/migrators/baseMigrator/migrator.go b/migrationManager/migrators/baseMigrator/migrator.go index 22fb0ae0..e1890cae 100644 --- a/migrationManager/migrators/baseMigrator/migrator.go +++ b/migrationManager/migrators/baseMigrator/migrator.go @@ -21,33 +21,6 @@ type BaseMigrator struct { DB driver.Conn } -func createClickhouseConnection(dsn string) (driver.Conn, error) { - dsnURL, err := url.Parse(dsn) - if err != nil { - return nil, fmt.Errorf("failed to parse dsn: %w", err) - } - options := &clickhouse.Options{ - Addr: []string{dsnURL.Host}, - } - if dsnURL.Query().Get("username") != "" { - auth := clickhouse.Auth{ - Username: dsnURL.Query().Get("username"), - Password: dsnURL.Query().Get("password"), - } - options.Auth = auth - } - db, err := clickhouse.Open(options) - if err != nil { - return nil, fmt.Errorf("failed to open clickhouse connection: %w", err) - } - - if err := db.Ping(context.Background()); err != nil { - return nil, fmt.Errorf("failed to ping clickhouse: %w", err) - } - - return db, nil -} - func New(cfg migrators.MigratorConfig, logger *zap.Logger) (*BaseMigrator, error) { dbConn, err := createClickhouseConnection(cfg.DSN) if err != nil { @@ -62,30 +35,21 @@ func New(cfg migrators.MigratorConfig, logger *zap.Logger) (*BaseMigrator, error }, nil } -func (m *BaseMigrator) buildClickhouseMigrateURL(database string) (string, error) { - var clickhouseUrl string - parsedURL, err := url.Parse(m.Cfg.DSN) +func (m *BaseMigrator) Migrate(ctx context.Context, database string, migrationFolder string) error { + err := m.CreateDB(ctx, database) if err != nil { - return "", err + return err } - host := parsedURL.Host - if host == "" { - return "", fmt.Errorf("unable to parse host") + // drop schema migrations table if running in docker multi node cluster mode so that migrations are run on new nodes + if m.Cfg.IsMultiNodeCluster { + err := m.DropSchemaMigrationsTable(ctx, database) + if err != nil { + return err + } } - paramMap, err := url.ParseQuery(parsedURL.RawQuery) - if err != nil { - return "", err - } - username := paramMap["username"] - password := paramMap["password"] - if len(username) > 0 && len(password) > 0 { - clickhouseUrl = fmt.Sprintf("clickhouse://%s:%s@%s/%s?x-multi-statement=true&x-cluster-name=%s&x-migrations-table=schema_migrations&x-migrations-table-engine=MergeTree", username[0], password[0], host, database, m.Cfg.ClusterName) - } else { - clickhouseUrl = fmt.Sprintf("clickhouse://%s/%s?x-multi-statement=true&x-cluster-name=%s&x-migrations-table=schema_migrations&x-migrations-table-engine=MergeTree", host, database, m.Cfg.ClusterName) - } - return clickhouseUrl, nil + return m.RunSqlMigrations(ctx, migrationFolder, database) } func (m *BaseMigrator) CreateDB(ctx context.Context, database string) error { @@ -123,23 +87,59 @@ func (m *BaseMigrator) RunSqlMigrations(ctx context.Context, migrationFolder, da return nil } -func (m *BaseMigrator) Migrate(ctx context.Context, database string, migrationFolder string) error { - err := m.CreateDB(ctx, database) +func (m *BaseMigrator) Close() error { + return m.DB.Close() +} + +func (m *BaseMigrator) buildClickhouseMigrateURL(database string) (string, error) { + var clickhouseUrl string + parsedURL, err := url.Parse(m.Cfg.DSN) if err != nil { - return err + return "", err } + host := parsedURL.Host + if host == "" { + return "", fmt.Errorf("unable to parse host") - // drop schema migrations table if running in docker multi node cluster mode so that migrations are run on new nodes - if m.Cfg.IsMultiNodeCluster { - err := m.DropSchemaMigrationsTable(ctx, database) - if err != nil { - return err - } } + paramMap, err := url.ParseQuery(parsedURL.RawQuery) + if err != nil { + return "", err + } + username := paramMap["username"] + password := paramMap["password"] - return m.RunSqlMigrations(ctx, migrationFolder, database) + if len(username) > 0 && len(password) > 0 { + clickhouseUrl = fmt.Sprintf("clickhouse://%s:%s@%s/%s?x-multi-statement=true&x-cluster-name=%s&x-migrations-table=schema_migrations&x-migrations-table-engine=MergeTree", username[0], password[0], host, database, m.Cfg.ClusterName) + } else { + clickhouseUrl = fmt.Sprintf("clickhouse://%s/%s?x-multi-statement=true&x-cluster-name=%s&x-migrations-table=schema_migrations&x-migrations-table-engine=MergeTree", host, database, m.Cfg.ClusterName) + } + return clickhouseUrl, nil } -func (m *BaseMigrator) Close() error { - return m.DB.Close() +func createClickhouseConnection(dsn string) (driver.Conn, error) { + dsnURL, err := url.Parse(dsn) + if err != nil { + return nil, fmt.Errorf("failed to parse dsn: %w", err) + } + options := &clickhouse.Options{ + Addr: []string{dsnURL.Host}, + } + if dsnURL.Query().Get("username") != "" { + auth := clickhouse.Auth{ + Username: dsnURL.Query().Get("username"), + Password: dsnURL.Query().Get("password"), + } + options.Auth = auth + } + db, err := clickhouse.Open(options) + if err != nil { + return nil, fmt.Errorf("failed to open clickhouse connection: %w", err) + } + + if err := db.Ping(context.Background()); err != nil { + return nil, fmt.Errorf("failed to ping clickhouse: %w", err) + } + + return db, nil } From cc39baa8a71b8d910cafee8657df74bdc717b063 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Tue, 10 Oct 2023 17:35:25 +0530 Subject: [PATCH 08/32] chore: minor refactor --- .../migrators/baseMigrator/migrator.go | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/migrationManager/migrators/baseMigrator/migrator.go b/migrationManager/migrators/baseMigrator/migrator.go index e1890cae..b43888e3 100644 --- a/migrationManager/migrators/baseMigrator/migrator.go +++ b/migrationManager/migrators/baseMigrator/migrator.go @@ -36,23 +36,27 @@ func New(cfg migrators.MigratorConfig, logger *zap.Logger) (*BaseMigrator, error } func (m *BaseMigrator) Migrate(ctx context.Context, database string, migrationFolder string) error { - err := m.CreateDB(ctx, database) + err := m.createDB(ctx, database) if err != nil { return err } // drop schema migrations table if running in docker multi node cluster mode so that migrations are run on new nodes if m.Cfg.IsMultiNodeCluster { - err := m.DropSchemaMigrationsTable(ctx, database) + err := m.dropSchemaMigrationsTable(ctx, database) if err != nil { return err } } - return m.RunSqlMigrations(ctx, migrationFolder, database) + return m.runSqlMigrations(ctx, migrationFolder, database) } -func (m *BaseMigrator) CreateDB(ctx context.Context, database string) error { +func (m *BaseMigrator) Close() error { + return m.DB.Close() +} + +func (m *BaseMigrator) createDB(ctx context.Context, database string) error { q := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s ON CLUSTER %s;", database, m.Cfg.ClusterName) err := m.DB.Exec(ctx, q) if err != nil { @@ -61,7 +65,7 @@ func (m *BaseMigrator) CreateDB(ctx context.Context, database string) error { return nil } -func (m *BaseMigrator) DropSchemaMigrationsTable(ctx context.Context, database string) error { +func (m *BaseMigrator) dropSchemaMigrationsTable(ctx context.Context, database string) error { err := m.DB.Exec(ctx, fmt.Sprintf(`DROP TABLE IF EXISTS %s.%s ON CLUSTER %s;`, database, "schema_migrations", m.Cfg.ClusterName)) if err != nil { return fmt.Errorf("error dropping schema_migrations table: %v", err) @@ -69,7 +73,7 @@ func (m *BaseMigrator) DropSchemaMigrationsTable(ctx context.Context, database s return nil } -func (m *BaseMigrator) RunSqlMigrations(ctx context.Context, migrationFolder, database string) error { +func (m *BaseMigrator) runSqlMigrations(ctx context.Context, migrationFolder, database string) error { clickhouseUrl, err := m.buildClickhouseMigrateURL(database) if err != nil { return fmt.Errorf("failed to build clickhouse migrate url, err: %s", err) @@ -87,10 +91,6 @@ func (m *BaseMigrator) RunSqlMigrations(ctx context.Context, migrationFolder, da return nil } -func (m *BaseMigrator) Close() error { - return m.DB.Close() -} - func (m *BaseMigrator) buildClickhouseMigrateURL(database string) (string, error) { var clickhouseUrl string parsedURL, err := url.Parse(m.Cfg.DSN) From 285916c560631b4724d7b68e55bf0ffc65631579 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Tue, 10 Oct 2023 20:21:17 +0530 Subject: [PATCH 09/32] chore: move traces initFeature to migrationManager --- cmd/signozcollectormigrator/migrate.go | 21 ++- exporter/clickhousetracesexporter/options.go | 22 +-- migrationManager/manager.go | 35 +++- migrationManager/migrators/migrators.go | 8 +- migrationManager/migrators/traces/migrator.go | 155 +++++++++++++++++- 5 files changed, 216 insertions(+), 25 deletions(-) diff --git a/cmd/signozcollectormigrator/migrate.go b/cmd/signozcollectormigrator/migrate.go index f88bd8c1..5884fdc5 100644 --- a/cmd/signozcollectormigrator/migrate.go +++ b/cmd/signozcollectormigrator/migrate.go @@ -38,6 +38,8 @@ func main() { f.String("dsn", "", "Clickhouse DSN") f.String("cluster-name", "", "Cluster name to use while running migrations") f.Bool("multi-node-cluster", false, "True if the dsn points to a multi node clickhouse cluster, false otherwise. Defaults to false.") + f.Bool("disable-duration-sort-feature", false, "Flag to disable the duration sort feature. Defaults to false.") + f.Bool("disable-timestamp-sort-feature", false, "Flag to disable the timestamp sort feature. Defaults to false.") err := f.Parse(os.Args[1:]) if err != nil { @@ -59,11 +61,28 @@ func main() { logger.Fatal("Failed to get multi node cluster flag from args", zap.Error(err)) } + disableDurationSortFeature, err := f.GetBool("disable-duration-sort-feature") + if err != nil { + logger.Fatal("Failed to get disable duration sort feature flag from args", zap.Error(err)) + } + + disableTimestampSortFeature, err := f.GetBool("disable-timestamp-sort-feature") + if err != nil { + logger.Fatal("Failed to get disable timestamp sort feature flag from args", zap.Error(err)) + } + if dsn == "" || clusterName == "" { logger.Fatal("dsn and clusterName are required fields") } - manager, err := migrationmanager.New(dsn, clusterName, multiNodeCluster) + managerConfig := migrationmanager.NewConfig( + dsn, + clusterName, + multiNodeCluster, + disableDurationSortFeature, + disableTimestampSortFeature, + ) + manager, err := migrationmanager.New(managerConfig) if err != nil { logger.Fatal("Failed to create migration manager", zap.Error(err)) } diff --git a/exporter/clickhousetracesexporter/options.go b/exporter/clickhousetracesexporter/options.go index db182916..3e93513e 100644 --- a/exporter/clickhousetracesexporter/options.go +++ b/exporter/clickhousetracesexporter/options.go @@ -26,17 +26,17 @@ import ( const ( defaultDatasource string = "tcp://127.0.0.1:9000/?database=signoz_traces" - defaultTraceDatabase string = "signoz_traces" + DefaultTraceDatabase string = "signoz_traces" defaultMigrations string = "/migrations" defaultOperationsTable string = "distributed_signoz_operations" - defaultIndexTable string = "distributed_signoz_index_v2" - localIndexTable string = "signoz_index_v2" + DefaultIndexTable string = "distributed_signoz_index_v2" + LocalIndexTable string = "signoz_index_v2" defaultErrorTable string = "distributed_signoz_error_index_v2" defaultSpansTable string = "distributed_signoz_spans" defaultAttributeTable string = "distributed_span_attributes" defaultAttributeKeyTable string = "distributed_span_attributes_keys" - defaultDurationSortTable string = "durationSort" - defaultDurationSortMVTable string = "durationSortMV" + DefaultDurationSortTable string = "durationSort" + DefaultDurationSortMVTable string = "durationSortMV" defaultArchiveSpansTable string = "signoz_archive_spans" defaultClusterName string = "cluster" defaultDependencyGraphTable string = "dependency_graph_minutes" @@ -138,16 +138,16 @@ func NewOptions(migrations string, datasource string, dockerMultiNodeCluster boo Enabled: true, Datasource: datasource, Migrations: migrations, - TraceDatabase: defaultTraceDatabase, + TraceDatabase: DefaultTraceDatabase, OperationsTable: defaultOperationsTable, - IndexTable: defaultIndexTable, - LocalIndexTable: localIndexTable, + IndexTable: DefaultIndexTable, + LocalIndexTable: LocalIndexTable, ErrorTable: defaultErrorTable, SpansTable: defaultSpansTable, AttributeTable: defaultAttributeTable, AttributeKeyTable: defaultAttributeKeyTable, - DurationSortTable: defaultDurationSortTable, - DurationSortMVTable: defaultDurationSortMVTable, + DurationSortTable: DefaultDurationSortTable, + DurationSortMVTable: DefaultDurationSortMVTable, Cluster: defaultClusterName, DependencyGraphTable: defaultDependencyGraphTable, DependencyGraphServiceMV: defaultDependencyGraphServiceMV, @@ -247,7 +247,7 @@ func initFromViper(cfg *namespaceConfig, v *viper.Viper) { cfg.Encoding = Encoding(v.GetString(cfg.namespace + suffixEncoding)) } -// GetPrimary returns the primary namespace configuration +// getPrimary returns the primary namespace configuration func (opt *Options) getPrimary() *namespaceConfig { return opt.primary } diff --git a/migrationManager/manager.go b/migrationManager/manager.go index b0e1c093..06140154 100644 --- a/migrationManager/manager.go +++ b/migrationManager/manager.go @@ -17,25 +17,42 @@ type MigrationManager struct { logger *zap.Logger } -func New(dsn string, clusterName string, isMultiNodeCluster bool) (*MigrationManager, error) { - logger := zap.L().With(zap.String("component", "migrationManager")) - migratorConfig := migrators.MigratorConfig{ - DSN: dsn, - ClusterName: clusterName, - IsMultiNodeCluster: isMultiNodeCluster, +type Config struct { + migrators.MigratorConfig +} + +func NewConfig( + dsn string, + clusterName string, + isMultiNodeCluster bool, + isDurationSortFeatureDisabled bool, + isTimestampSortFeatureDisabled bool, +) Config { + return Config{ + MigratorConfig: migrators.MigratorConfig{ + DSN: dsn, + ClusterName: clusterName, + IsMultiNodeCluster: isMultiNodeCluster, + IsDurationSortFeatureDisabled: isDurationSortFeatureDisabled, + IsTimestampSortFeatureDisabled: isTimestampSortFeatureDisabled, + }, } +} + +func New(cfg Config) (*MigrationManager, error) { + logger := zap.L().With(zap.String("component", "migrationManager")) - logsMigrator, err := createNewMigrator("logs", migratorConfig) + logsMigrator, err := createNewMigrator("logs", cfg.MigratorConfig) if err != nil { logger.Error("Failed to create logs migrator", zap.Error(err)) return nil, err } - metricsMigrator, err := createNewMigrator("metrics", migratorConfig) + metricsMigrator, err := createNewMigrator("metrics", cfg.MigratorConfig) if err != nil { logger.Error("Failed to create metrics migrator", zap.Error(err)) return nil, err } - tracesMigrator, err := createNewMigrator("traces", migratorConfig) + tracesMigrator, err := createNewMigrator("traces", cfg.MigratorConfig) if err != nil { logger.Error("Failed to create traces migrator", zap.Error(err)) return nil, err diff --git a/migrationManager/migrators/migrators.go b/migrationManager/migrators/migrators.go index 3aac5261..747ee535 100644 --- a/migrationManager/migrators/migrators.go +++ b/migrationManager/migrators/migrators.go @@ -7,9 +7,11 @@ import ( // MigratorConfig stores the configuration for a migrator // Currently all migrators use the same config type MigratorConfig struct { - DSN string - ClusterName string - IsMultiNodeCluster bool + DSN string + ClusterName string + IsMultiNodeCluster bool + IsDurationSortFeatureDisabled bool + IsTimestampSortFeatureDisabled bool } type Migrator interface { diff --git a/migrationManager/migrators/traces/migrator.go b/migrationManager/migrators/traces/migrator.go index a5ade649..2a5cd6c1 100644 --- a/migrationManager/migrators/traces/migrator.go +++ b/migrationManager/migrators/traces/migrator.go @@ -2,7 +2,10 @@ package traces import ( "context" + "fmt" + "github.com/ClickHouse/clickhouse-go/v2" + "github.com/SigNoz/signoz-otel-collector/exporter/clickhousetracesexporter" basemigrator "github.com/SigNoz/signoz-otel-collector/migrationManager/migrators/baseMigrator" ) @@ -17,9 +20,159 @@ type TracesMigrator struct { } func (m *TracesMigrator) Migrate(ctx context.Context) error { - return m.BaseMigrator.Migrate(ctx, database, migrationFolder) + err := m.BaseMigrator.Migrate(ctx, database, migrationFolder) + if err != nil { + return err + } + + return m.initFeatures() } func (m *TracesMigrator) Name() string { return name } + +func (m *TracesMigrator) initFeatures() error { + if m.Cfg.IsDurationSortFeatureDisabled { + err := disableDurationSortFeature(m.DB, m.Cfg.ClusterName) + if err != nil { + return err + } + } else { + err := enableDurationSortFeature(m.DB, m.Cfg.ClusterName) + if err != nil { + return err + } + } + if m.Cfg.IsTimestampSortFeatureDisabled { + err := disableTimestampSortFeature(m.DB, m.Cfg.ClusterName) + if err != nil { + return err + } + } else { + err := enableTimestampSortFeature(m.DB, m.Cfg.ClusterName) + if err != nil { + return err + } + } + return nil +} + +func enableDurationSortFeature(db clickhouse.Conn, cluster string) error { + err := db.Exec(context.Background(), fmt.Sprintf(`CREATE TABLE IF NOT EXISTS %s.%s ON CLUSTER %s( + timestamp DateTime64(9) CODEC(DoubleDelta, LZ4), + traceID FixedString(32) CODEC(ZSTD(1)), + spanID String CODEC(ZSTD(1)), + parentSpanID String CODEC(ZSTD(1)), + serviceName LowCardinality(String) CODEC(ZSTD(1)), + name LowCardinality(String) CODEC(ZSTD(1)), + kind Int8 CODEC(T64, ZSTD(1)), + durationNano UInt64 CODEC(T64, ZSTD(1)), + statusCode Int16 CODEC(T64, ZSTD(1)), + component LowCardinality(String) CODEC(ZSTD(1)), + httpMethod LowCardinality(String) CODEC(ZSTD(1)), + httpUrl LowCardinality(String) CODEC(ZSTD(1)), + httpCode LowCardinality(String) CODEC(ZSTD(1)), + httpRoute LowCardinality(String) CODEC(ZSTD(1)), + httpHost LowCardinality(String) CODEC(ZSTD(1)), + gRPCCode LowCardinality(String) CODEC(ZSTD(1)), + gRPCMethod LowCardinality(String) CODEC(ZSTD(1)), + hasError bool CODEC(T64, ZSTD(1)), + tagMap Map(LowCardinality(String), String) CODEC(ZSTD(1)), + rpcSystem LowCardinality(String) CODEC(ZSTD(1)), + rpcService LowCardinality(String) CODEC(ZSTD(1)), + rpcMethod LowCardinality(String) CODEC(ZSTD(1)), + responseStatusCode LowCardinality(String) CODEC(ZSTD(1)), + stringTagMap Map(String, String) CODEC(ZSTD(1)), + numberTagMap Map(String, Float64) CODEC(ZSTD(1)), + boolTagMap Map(String, bool) CODEC(ZSTD(1)), + INDEX idx_service serviceName TYPE bloom_filter GRANULARITY 4, + INDEX idx_name name TYPE bloom_filter GRANULARITY 4, + INDEX idx_kind kind TYPE minmax GRANULARITY 4, + INDEX idx_duration durationNano TYPE minmax GRANULARITY 1, + INDEX idx_httpCode httpCode TYPE set(0) GRANULARITY 1, + INDEX idx_hasError hasError TYPE set(2) GRANULARITY 1, + INDEX idx_tagMapKeys mapKeys(tagMap) TYPE bloom_filter(0.01) GRANULARITY 64, + INDEX idx_tagMapValues mapValues(tagMap) TYPE bloom_filter(0.01) GRANULARITY 64, + INDEX idx_httpRoute httpRoute TYPE bloom_filter GRANULARITY 4, + INDEX idx_httpUrl httpUrl TYPE bloom_filter GRANULARITY 4, + INDEX idx_httpHost httpHost TYPE bloom_filter GRANULARITY 4, + INDEX idx_httpMethod httpMethod TYPE bloom_filter GRANULARITY 4, + INDEX idx_timestamp timestamp TYPE minmax GRANULARITY 1, + INDEX idx_rpcMethod rpcMethod TYPE bloom_filter GRANULARITY 4, + INDEX idx_responseStatusCode responseStatusCode TYPE set(0) GRANULARITY 1, + ) ENGINE MergeTree() + PARTITION BY toDate(timestamp) + ORDER BY (durationNano, timestamp) + TTL toDateTime(timestamp) + INTERVAL 604800 SECOND DELETE + SETTINGS index_granularity = 8192, ttl_only_drop_parts = 1`, clickhousetracesexporter.DefaultTraceDatabase, clickhousetracesexporter.DefaultDurationSortTable, cluster)) + if err != nil { + return err + } + err = db.Exec(context.Background(), fmt.Sprintf(`CREATE MATERIALIZED VIEW IF NOT EXISTS %s.%s ON CLUSTER %s + TO %s.%s + AS SELECT + timestamp, + traceID, + spanID, + parentSpanID, + serviceName, + name, + kind, + durationNano, + statusCode, + component, + httpMethod, + httpUrl, + httpCode, + httpRoute, + httpHost, + gRPCMethod, + gRPCCode, + hasError, + tagMap, + rpcSystem, + rpcService, + rpcMethod, + responseStatusCode, + stringTagMap, + numberTagMap, + boolTagMap + FROM %s.%s + ORDER BY durationNano, timestamp`, clickhousetracesexporter.DefaultTraceDatabase, clickhousetracesexporter.DefaultDurationSortMVTable, cluster, clickhousetracesexporter.DefaultTraceDatabase, clickhousetracesexporter.DefaultDurationSortTable, clickhousetracesexporter.DefaultTraceDatabase, clickhousetracesexporter.DefaultIndexTable)) + if err != nil { + return err + } + return nil +} + +func disableDurationSortFeature(db clickhouse.Conn, cluster string) error { + err := db.Exec(context.Background(), fmt.Sprintf(`DROP TABLE IF EXISTS %s.%s ON CLUSTER %s`, clickhousetracesexporter.DefaultTraceDatabase, clickhousetracesexporter.DefaultDurationSortTable, cluster)) + if err != nil { + return err + } + err = db.Exec(context.Background(), fmt.Sprintf(`DROP VIEW IF EXISTS %s.%s ON CLUSTER %s`, clickhousetracesexporter.DefaultTraceDatabase, clickhousetracesexporter.DefaultDurationSortMVTable, cluster)) + if err != nil { + return err + } + return nil +} + +func enableTimestampSortFeature(db clickhouse.Conn, cluster string) error { + err := db.Exec(context.Background(), fmt.Sprintf(`ALTER TABLE %s.%s ON CLUSTER %s + ADD PROJECTION IF NOT EXISTS timestampSort + ( SELECT * ORDER BY timestamp )`, clickhousetracesexporter.DefaultTraceDatabase, clickhousetracesexporter.LocalIndexTable, cluster)) + if err != nil { + return err + } + return nil +} + +func disableTimestampSortFeature(db clickhouse.Conn, cluster string) error { + err := db.Exec(context.Background(), fmt.Sprintf(`ALTER TABLE %s.%s ON CLUSTER %s + DROP PROJECTION IF EXISTS timestampSort`, clickhousetracesexporter.DefaultTraceDatabase, clickhousetracesexporter.LocalIndexTable, cluster)) + if err != nil { + return err + } + return nil +} From 5b24590b838ad98ceeb34146a56529e7df0a4924 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Tue, 10 Oct 2023 20:27:54 +0530 Subject: [PATCH 10/32] chore: remove feature manager from traces --- .../clickhouse_exporter.go | 4 - .../feature_manager.go | 175 ------------------ 2 files changed, 179 deletions(-) delete mode 100644 exporter/clickhousetracesexporter/feature_manager.go diff --git a/exporter/clickhousetracesexporter/clickhouse_exporter.go b/exporter/clickhousetracesexporter/clickhouse_exporter.go index 25176f15..14a8ef80 100644 --- a/exporter/clickhousetracesexporter/clickhouse_exporter.go +++ b/exporter/clickhousetracesexporter/clickhouse_exporter.go @@ -47,10 +47,6 @@ func newExporter(cfg component.Config, logger *zap.Logger) (*storage, error) { if err != nil { return nil, err } - err = initFeatures(f.db, f.Options) - if err != nil { - return nil, err - } spanWriter, err := f.CreateSpanWriter() if err != nil { return nil, err diff --git a/exporter/clickhousetracesexporter/feature_manager.go b/exporter/clickhousetracesexporter/feature_manager.go deleted file mode 100644 index 065ca5b7..00000000 --- a/exporter/clickhousetracesexporter/feature_manager.go +++ /dev/null @@ -1,175 +0,0 @@ -package clickhousetracesexporter - -import ( - "context" - "fmt" - - "github.com/ClickHouse/clickhouse-go/v2" - "go.opentelemetry.io/collector/featuregate" -) - -const ( - DurationSortFeature = "DURATION_SORT_FEATURE" - TimestampSortFeature = "TIMESTAMP_SORT_FEATURE" -) - -var durationSortFeatureGate *featuregate.Gate -var timestampSortFeatureGate *featuregate.Gate - -func init() { - durationSortFeatureGate = featuregate.GlobalRegistry().MustRegister( - DurationSortFeature, - featuregate.StageBeta, - featuregate.WithRegisterDescription("It controls use of materialized view which optimizes span duration based sorting for trace list at cost of extra disk usage"), - ) - timestampSortFeatureGate = featuregate.GlobalRegistry().MustRegister( - TimestampSortFeature, - featuregate.StageBeta, - featuregate.WithRegisterDescription("It controls use of materialized view which optimizes span timestamp based sorting for trace list at cost of extra disk usage"), - ) -} - -func initFeatures(db clickhouse.Conn, options *Options) error { - if durationSortFeatureGate.IsEnabled() { - err := enableDurationSortFeature(db, options) - if err != nil { - return err - } - } else { - err := disableDurationSortFeature(db, options) - if err != nil { - return err - } - } - if timestampSortFeatureGate.IsEnabled() { - err := enableTimestampSortFeature(db, options) - if err != nil { - return err - } - } else { - err := disableTimestampSortFeature(db, options) - if err != nil { - return err - } - } - return nil -} - -func enableDurationSortFeature(db clickhouse.Conn, options *Options) error { - err := db.Exec(context.Background(), fmt.Sprintf(`CREATE TABLE IF NOT EXISTS %s.%s ON CLUSTER %s( - timestamp DateTime64(9) CODEC(DoubleDelta, LZ4), - traceID FixedString(32) CODEC(ZSTD(1)), - spanID String CODEC(ZSTD(1)), - parentSpanID String CODEC(ZSTD(1)), - serviceName LowCardinality(String) CODEC(ZSTD(1)), - name LowCardinality(String) CODEC(ZSTD(1)), - kind Int8 CODEC(T64, ZSTD(1)), - durationNano UInt64 CODEC(T64, ZSTD(1)), - statusCode Int16 CODEC(T64, ZSTD(1)), - component LowCardinality(String) CODEC(ZSTD(1)), - httpMethod LowCardinality(String) CODEC(ZSTD(1)), - httpUrl LowCardinality(String) CODEC(ZSTD(1)), - httpCode LowCardinality(String) CODEC(ZSTD(1)), - httpRoute LowCardinality(String) CODEC(ZSTD(1)), - httpHost LowCardinality(String) CODEC(ZSTD(1)), - gRPCCode LowCardinality(String) CODEC(ZSTD(1)), - gRPCMethod LowCardinality(String) CODEC(ZSTD(1)), - hasError bool CODEC(T64, ZSTD(1)), - tagMap Map(LowCardinality(String), String) CODEC(ZSTD(1)), - rpcSystem LowCardinality(String) CODEC(ZSTD(1)), - rpcService LowCardinality(String) CODEC(ZSTD(1)), - rpcMethod LowCardinality(String) CODEC(ZSTD(1)), - responseStatusCode LowCardinality(String) CODEC(ZSTD(1)), - stringTagMap Map(String, String) CODEC(ZSTD(1)), - numberTagMap Map(String, Float64) CODEC(ZSTD(1)), - boolTagMap Map(String, bool) CODEC(ZSTD(1)), - INDEX idx_service serviceName TYPE bloom_filter GRANULARITY 4, - INDEX idx_name name TYPE bloom_filter GRANULARITY 4, - INDEX idx_kind kind TYPE minmax GRANULARITY 4, - INDEX idx_duration durationNano TYPE minmax GRANULARITY 1, - INDEX idx_httpCode httpCode TYPE set(0) GRANULARITY 1, - INDEX idx_hasError hasError TYPE set(2) GRANULARITY 1, - INDEX idx_tagMapKeys mapKeys(tagMap) TYPE bloom_filter(0.01) GRANULARITY 64, - INDEX idx_tagMapValues mapValues(tagMap) TYPE bloom_filter(0.01) GRANULARITY 64, - INDEX idx_httpRoute httpRoute TYPE bloom_filter GRANULARITY 4, - INDEX idx_httpUrl httpUrl TYPE bloom_filter GRANULARITY 4, - INDEX idx_httpHost httpHost TYPE bloom_filter GRANULARITY 4, - INDEX idx_httpMethod httpMethod TYPE bloom_filter GRANULARITY 4, - INDEX idx_timestamp timestamp TYPE minmax GRANULARITY 1, - INDEX idx_rpcMethod rpcMethod TYPE bloom_filter GRANULARITY 4, - INDEX idx_responseStatusCode responseStatusCode TYPE set(0) GRANULARITY 1, - ) ENGINE MergeTree() - PARTITION BY toDate(timestamp) - ORDER BY (durationNano, timestamp) - TTL toDateTime(timestamp) + INTERVAL 604800 SECOND DELETE - SETTINGS index_granularity = 8192, ttl_only_drop_parts = 1`, options.primary.TraceDatabase, options.primary.DurationSortTable, options.primary.Cluster)) - if err != nil { - return err - } - err = db.Exec(context.Background(), fmt.Sprintf(`CREATE MATERIALIZED VIEW IF NOT EXISTS %s.%s ON CLUSTER %s - TO %s.%s - AS SELECT - timestamp, - traceID, - spanID, - parentSpanID, - serviceName, - name, - kind, - durationNano, - statusCode, - component, - httpMethod, - httpUrl, - httpCode, - httpRoute, - httpHost, - gRPCMethod, - gRPCCode, - hasError, - tagMap, - rpcSystem, - rpcService, - rpcMethod, - responseStatusCode, - stringTagMap, - numberTagMap, - boolTagMap - FROM %s.%s - ORDER BY durationNano, timestamp`, options.primary.TraceDatabase, options.primary.DurationSortMVTable, options.primary.Cluster, options.primary.TraceDatabase, options.primary.DurationSortTable, options.primary.TraceDatabase, options.primary.IndexTable)) - if err != nil { - return err - } - return nil -} - -func disableDurationSortFeature(db clickhouse.Conn, options *Options) error { - err := db.Exec(context.Background(), fmt.Sprintf(`DROP TABLE IF EXISTS %s.%s ON CLUSTER %s`, options.primary.TraceDatabase, options.primary.DurationSortTable, options.primary.Cluster)) - if err != nil { - return err - } - err = db.Exec(context.Background(), fmt.Sprintf(`DROP VIEW IF EXISTS %s.%s ON CLUSTER %s`, options.primary.TraceDatabase, options.primary.DurationSortMVTable, options.primary.Cluster)) - if err != nil { - return err - } - return nil -} - -func enableTimestampSortFeature(db clickhouse.Conn, options *Options) error { - err := db.Exec(context.Background(), fmt.Sprintf(`ALTER TABLE %s.%s ON CLUSTER %s - ADD PROJECTION IF NOT EXISTS timestampSort - ( SELECT * ORDER BY timestamp )`, options.primary.TraceDatabase, options.primary.LocalIndexTable, options.primary.Cluster)) - if err != nil { - return err - } - return nil -} - -func disableTimestampSortFeature(db clickhouse.Conn, options *Options) error { - err := db.Exec(context.Background(), fmt.Sprintf(`ALTER TABLE %s.%s ON CLUSTER %s - DROP PROJECTION IF EXISTS timestampSort`, options.primary.TraceDatabase, options.primary.LocalIndexTable, options.primary.Cluster)) - if err != nil { - return err - } - return nil -} From 1a2a29e3217642d1ddcfb3dc364023af5563e404 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Wed, 11 Oct 2023 19:08:45 +0530 Subject: [PATCH 11/32] chore: add cluster template to all migrations --- cmd/signozcollectormigrator/migrate.go | 4 +++ .../000003_add_distributed_table.up.sql | 6 ++--- .../000005_attribute_rename.down.sql | 2 +- .../migrations/000005_attribute_rename.up.sql | 2 +- .../migrations/000006_tag_attributes.up.sql | 2 +- .../migrations/000001_init_db.down.sql | 12 ++++----- .../metrics/migrations/000001_init_db.up.sql | 26 +++++++++---------- .../000017_add_distributed_table.up.sql | 14 +++++----- .../000022_dependency_graph_minutes_v2.up.sql | 2 +- .../000023_span_attributes_mv.up.sql | 2 +- .../000024_span_attributes_keys.up.sql | 2 +- 11 files changed, 39 insertions(+), 35 deletions(-) diff --git a/cmd/signozcollectormigrator/migrate.go b/cmd/signozcollectormigrator/migrate.go index 5884fdc5..541d3388 100644 --- a/cmd/signozcollectormigrator/migrate.go +++ b/cmd/signozcollectormigrator/migrate.go @@ -74,6 +74,10 @@ func main() { if dsn == "" || clusterName == "" { logger.Fatal("dsn and clusterName are required fields") } + + // set cluster env so that golang-migrate can use it + // the value of this env would replace all occurences of {{.SIGNOZ_CLUSTER}} in the migration files + os.Setenv("SIGNOZ_CLUSTER", clusterName) managerConfig := migrationmanager.NewConfig( dsn, diff --git a/migrationManager/migrators/logs/migrations/000003_add_distributed_table.up.sql b/migrationManager/migrators/logs/migrations/000003_add_distributed_table.up.sql index 818da2b8..542cec41 100644 --- a/migrationManager/migrators/logs/migrations/000003_add_distributed_table.up.sql +++ b/migrationManager/migrators/logs/migrations/000003_add_distributed_table.up.sql @@ -1,8 +1,8 @@ CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.logs -ENGINE = Distributed("cluster", "signoz_logs", logs, cityHash64(id)); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_logs", logs, cityHash64(id)); CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_atrribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.logs_atrribute_keys -ENGINE = Distributed("cluster", "signoz_logs", logs_atrribute_keys, cityHash64(datatype)); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_logs", logs_atrribute_keys, cityHash64(datatype)); CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_resource_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.logs_resource_keys -ENGINE = Distributed("cluster", "signoz_logs", logs_resource_keys, cityHash64(datatype)); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_logs", logs_resource_keys, cityHash64(datatype)); diff --git a/migrationManager/migrators/logs/migrations/000005_attribute_rename.down.sql b/migrationManager/migrators/logs/migrations/000005_attribute_rename.down.sql index 6219adf0..98eb6140 100644 --- a/migrationManager/migrators/logs/migrations/000005_attribute_rename.down.sql +++ b/migrationManager/migrators/logs/migrations/000005_attribute_rename.down.sql @@ -29,4 +29,4 @@ ORDER BY name; DROP TABLE IF EXISTS signoz_logs.distributed_logs_attribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}}; CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_atrribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.logs_atrribute_keys -ENGINE = Distributed("cluster", "signoz_logs", logs_atrribute_keys, cityHash64(datatype)); \ No newline at end of file +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_logs", logs_atrribute_keys, cityHash64(datatype)); \ No newline at end of file diff --git a/migrationManager/migrators/logs/migrations/000005_attribute_rename.up.sql b/migrationManager/migrators/logs/migrations/000005_attribute_rename.up.sql index 2846866d..8076bef9 100644 --- a/migrationManager/migrators/logs/migrations/000005_attribute_rename.up.sql +++ b/migrationManager/migrators/logs/migrations/000005_attribute_rename.up.sql @@ -29,4 +29,4 @@ ORDER BY name; DROP TABLE IF EXISTS signoz_logs.distributed_logs_atrribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}}; CREATE TABLE IF NOT EXISTS signoz_logs.distributed_logs_attribute_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.logs_attribute_keys -ENGINE = Distributed("cluster", "signoz_logs", logs_attribute_keys, cityHash64(datatype)); \ No newline at end of file +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_logs", logs_attribute_keys, cityHash64(datatype)); \ No newline at end of file diff --git a/migrationManager/migrators/logs/migrations/000006_tag_attributes.up.sql b/migrationManager/migrators/logs/migrations/000006_tag_attributes.up.sql index ae5a4864..71873001 100644 --- a/migrationManager/migrators/logs/migrations/000006_tag_attributes.up.sql +++ b/migrationManager/migrators/logs/migrations/000006_tag_attributes.up.sql @@ -12,4 +12,4 @@ TTL toDateTime(timestamp) + INTERVAL 172800 SECOND DELETE SETTINGS ttl_only_drop_parts = 1, allow_nullable_key = 1; CREATE TABLE IF NOT EXISTS signoz_logs.distributed_tag_attributes ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_logs.tag_attributes -ENGINE = Distributed("cluster", "signoz_logs", tag_attributes, rand()); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_logs", tag_attributes, rand()); diff --git a/migrationManager/migrators/metrics/migrations/000001_init_db.down.sql b/migrationManager/migrators/metrics/migrations/000001_init_db.down.sql index aa914d72..04bfece5 100644 --- a/migrationManager/migrators/metrics/migrations/000001_init_db.down.sql +++ b/migrationManager/migrators/metrics/migrations/000001_init_db.down.sql @@ -1,11 +1,11 @@ -DROP TABLE IF EXISTS signoz_metrics.samples_v2 ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_metrics.samples_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_metrics.distributed_samples_v2 ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_metrics.distributed_samples_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_metrics.time_series_v2 ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_metrics.time_series_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_metrics.distributed_time_series_v2 ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_metrics.distributed_time_series_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_metrics.time_series_v3 ON CLUSTER cluster; +DROP TABLE IF EXISTS signoz_metrics.time_series_v3 ON CLUSTER {{.SIGNOZ_CLUSTER}}; -DROP TABLE IF EXISTS signoz_metrics.distributed_time_series_v3 ON CLUSTER cluster; \ No newline at end of file +DROP TABLE IF EXISTS signoz_metrics.distributed_time_series_v3 ON CLUSTER {{.SIGNOZ_CLUSTER}}; \ No newline at end of file diff --git a/migrationManager/migrators/metrics/migrations/000001_init_db.up.sql b/migrationManager/migrators/metrics/migrations/000001_init_db.up.sql index b7d3d820..00227467 100644 --- a/migrationManager/migrators/metrics/migrations/000001_init_db.up.sql +++ b/migrationManager/migrators/metrics/migrations/000001_init_db.up.sql @@ -1,4 +1,4 @@ -CREATE TABLE IF NOT EXISTS signoz_metrics.samples_v2 ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_metrics.samples_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ( metric_name LowCardinality(String), fingerprint UInt64 Codec(DoubleDelta, LZ4), timestamp_ms Int64 Codec(DoubleDelta, LZ4), @@ -9,13 +9,13 @@ CREATE TABLE IF NOT EXISTS signoz_metrics.samples_v2 ON CLUSTER cluster ( ORDER BY (metric_name, fingerprint, timestamp_ms) TTL toDateTime(timestamp_ms/1000) + INTERVAL 2592000 SECOND DELETE; -CREATE TABLE IF NOT EXISTS signoz_metrics.distributed_samples_v2 ON CLUSTER cluster AS signoz_metrics.samples_v2 ENGINE = Distributed("cluster", "signoz_metrics", samples_v2, cityHash64(metric_name, fingerprint)); +CREATE TABLE IF NOT EXISTS signoz_metrics.distributed_samples_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_metrics.samples_v2 ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_metrics", samples_v2, cityHash64(metric_name, fingerprint)); -ALTER TABLE signoz_metrics.samples_v2 ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 1; +ALTER TABLE signoz_metrics.samples_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 1; SET allow_experimental_object_type = 1; -CREATE TABLE IF NOT EXISTS signoz_metrics.time_series_v2 ON CLUSTER cluster( +CREATE TABLE IF NOT EXISTS signoz_metrics.time_series_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}}( metric_name LowCardinality(String), fingerprint UInt64 Codec(DoubleDelta, LZ4), timestamp_ms Int64 Codec(DoubleDelta, LZ4), @@ -26,21 +26,21 @@ CREATE TABLE IF NOT EXISTS signoz_metrics.time_series_v2 ON CLUSTER cluster( ORDER BY (metric_name, fingerprint) TTL toDateTime(timestamp_ms/1000) + INTERVAL 2592000 SECOND DELETE; -CREATE TABLE IF NOT EXISTS signoz_metrics.distributed_time_series_v2 ON CLUSTER cluster AS signoz_metrics.time_series_v2 ENGINE = Distributed("cluster", signoz_metrics, time_series_v2, cityHash64(metric_name, fingerprint)); +CREATE TABLE IF NOT EXISTS signoz_metrics.distributed_time_series_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_metrics.time_series_v2 ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", signoz_metrics, time_series_v2, cityHash64(metric_name, fingerprint)); -ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER cluster DROP COLUMN IF EXISTS labels_object; +ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF EXISTS labels_object; -ALTER TABLE signoz_metrics.distributed_time_series_v2 ON CLUSTER cluster DROP COLUMN IF EXISTS labels_object; +ALTER TABLE signoz_metrics.distributed_time_series_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} DROP COLUMN IF EXISTS labels_object; -ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER cluster MODIFY SETTING ttl_only_drop_parts = 1; +ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} MODIFY SETTING ttl_only_drop_parts = 1; -ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER cluster ADD COLUMN IF NOT EXISTS temporality LowCardinality(String) DEFAULT 'Unspecified' CODEC(ZSTD(5)); +ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS temporality LowCardinality(String) DEFAULT 'Unspecified' CODEC(ZSTD(5)); -ALTER TABLE signoz_metrics.distributed_time_series_v2 ON CLUSTER cluster ADD COLUMN IF NOT EXISTS temporality LowCardinality(String) DEFAULT 'Unspecified' CODEC(ZSTD(5)); +ALTER TABLE signoz_metrics.distributed_time_series_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD COLUMN IF NOT EXISTS temporality LowCardinality(String) DEFAULT 'Unspecified' CODEC(ZSTD(5)); -ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER cluster ADD INDEX IF NOT EXISTS temporality_index temporality TYPE SET(3) GRANULARITY 1; +ALTER TABLE signoz_metrics.time_series_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} ADD INDEX IF NOT EXISTS temporality_index temporality TYPE SET(3) GRANULARITY 1; -CREATE TABLE IF NOT EXISTS signoz_metrics.time_series_v3 ON CLUSTER cluster ( +CREATE TABLE IF NOT EXISTS signoz_metrics.time_series_v3 ON CLUSTER {{.SIGNOZ_CLUSTER}} ( env LowCardinality(String) DEFAULT 'default', temporality LowCardinality(String) DEFAULT 'Unspecified', metric_name LowCardinality(String), @@ -52,4 +52,4 @@ CREATE TABLE IF NOT EXISTS signoz_metrics.time_series_v3 ON CLUSTER cluster ( PARTITION BY toDate(timestamp_ms / 1000) ORDER BY (env, temporality, metric_name, fingerprint); -CREATE TABLE IF NOT EXISTS signoz_metrics.distributed_time_series_v3 ON CLUSTER cluster AS signoz_metrics.time_series_v3 ENGINE = Distributed("cluster", signoz_metrics, time_series_v3, cityHash64(env, temporality, metric_name, fingerprint)); \ No newline at end of file +CREATE TABLE IF NOT EXISTS signoz_metrics.distributed_time_series_v3 ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_metrics.time_series_v3 ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", signoz_metrics, time_series_v3, cityHash64(env, temporality, metric_name, fingerprint)); \ No newline at end of file diff --git a/migrationManager/migrators/traces/migrations/000017_add_distributed_table.up.sql b/migrationManager/migrators/traces/migrations/000017_add_distributed_table.up.sql index ba6f8841..c94e0294 100644 --- a/migrationManager/migrators/traces/migrations/000017_add_distributed_table.up.sql +++ b/migrationManager/migrators/traces/migrations/000017_add_distributed_table.up.sql @@ -1,21 +1,21 @@ CREATE TABLE IF NOT EXISTS signoz_traces.distributed_signoz_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.signoz_index_v2 -ENGINE = Distributed("cluster", "signoz_traces", signoz_index_v2, cityHash64(traceID)); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_traces", signoz_index_v2, cityHash64(traceID)); CREATE TABLE IF NOT EXISTS signoz_traces.distributed_signoz_spans ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.signoz_spans -ENGINE = Distributed("cluster", "signoz_traces", signoz_spans, cityHash64(traceID)); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_traces", signoz_spans, cityHash64(traceID)); CREATE TABLE IF NOT EXISTS signoz_traces.distributed_durationSort ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.durationSort -ENGINE = Distributed("cluster", "signoz_traces", durationSort, cityHash64(traceID)); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_traces", durationSort, cityHash64(traceID)); CREATE TABLE IF NOT EXISTS signoz_traces.distributed_signoz_error_index_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.signoz_error_index_v2 -ENGINE = Distributed("cluster", "signoz_traces", signoz_error_index_v2, cityHash64(groupID)); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_traces", signoz_error_index_v2, cityHash64(groupID)); CREATE TABLE IF NOT EXISTS signoz_traces.distributed_usage_explorer ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.usage_explorer -ENGINE = Distributed("cluster", "signoz_traces", usage_explorer, cityHash64(rand())); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_traces", usage_explorer, cityHash64(rand())); CREATE TABLE IF NOT EXISTS signoz_traces.distributed_top_level_operations ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.top_level_operations -ENGINE = Distributed("cluster", "signoz_traces", top_level_operations, cityHash64(rand())); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_traces", top_level_operations, cityHash64(rand())); CREATE TABLE IF NOT EXISTS signoz_traces.distributed_dependency_graph_minutes ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.dependency_graph_minutes -ENGINE = Distributed("cluster", "signoz_traces", dependency_graph_minutes, cityHash64(rand())); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_traces", dependency_graph_minutes, cityHash64(rand())); diff --git a/migrationManager/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql b/migrationManager/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql index c2410357..d4e9f479 100644 --- a/migrationManager/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql +++ b/migrationManager/migrators/traces/migrations/000022_dependency_graph_minutes_v2.up.sql @@ -63,4 +63,4 @@ WHERE dest != '' and kind != 2 GROUP BY timestamp, src, dest, deployment_environment, k8s_cluster_name, k8s_namespace_name; CREATE TABLE IF NOT EXISTS signoz_traces.distributed_dependency_graph_minutes_v2 ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.dependency_graph_minutes_v2 -ENGINE = Distributed("cluster", "signoz_traces", dependency_graph_minutes_v2, cityHash64(rand())); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_traces", dependency_graph_minutes_v2, cityHash64(rand())); diff --git a/migrationManager/migrators/traces/migrations/000023_span_attributes_mv.up.sql b/migrationManager/migrators/traces/migrations/000023_span_attributes_mv.up.sql index ac3a6e49..7a5c5a29 100644 --- a/migrationManager/migrators/traces/migrations/000023_span_attributes_mv.up.sql +++ b/migrationManager/migrators/traces/migrations/000023_span_attributes_mv.up.sql @@ -12,4 +12,4 @@ TTL toDateTime(timestamp) + INTERVAL 172800 SECOND DELETE SETTINGS ttl_only_drop_parts = 1, allow_nullable_key = 1; CREATE TABLE IF NOT EXISTS signoz_traces.distributed_span_attributes ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.span_attributes -ENGINE = Distributed("cluster", "signoz_traces", span_attributes, cityHash64(rand())); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_traces", span_attributes, cityHash64(rand())); diff --git a/migrationManager/migrators/traces/migrations/000024_span_attributes_keys.up.sql b/migrationManager/migrators/traces/migrations/000024_span_attributes_keys.up.sql index f2565df3..57e2f958 100644 --- a/migrationManager/migrators/traces/migrations/000024_span_attributes_keys.up.sql +++ b/migrationManager/migrators/traces/migrations/000024_span_attributes_keys.up.sql @@ -7,4 +7,4 @@ CREATE TABLE IF NOT EXISTS signoz_traces.span_attributes_keys ON CLUSTER {{.SIGN ORDER BY (tagKey, tagType, dataType, isColumn); CREATE TABLE IF NOT EXISTS signoz_traces.distributed_span_attributes_keys ON CLUSTER {{.SIGNOZ_CLUSTER}} AS signoz_traces.span_attributes_keys -ENGINE = Distributed("cluster", "signoz_traces", span_attributes_keys, cityHash64(rand())); +ENGINE = Distributed("{{.SIGNOZ_CLUSTER}}", "signoz_traces", span_attributes_keys, cityHash64(rand())); From e7e795b37d34741510b761161744f30c62f9d30d Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Wed, 11 Oct 2023 19:14:00 +0530 Subject: [PATCH 12/32] chore: add cluster template to all migrations --- .../migrators/logs/migrations/000005_attribute_rename.up.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/migrationManager/migrators/logs/migrations/000005_attribute_rename.up.sql b/migrationManager/migrators/logs/migrations/000005_attribute_rename.up.sql index ebc950ef..77fd4e44 100644 --- a/migrationManager/migrators/logs/migrations/000005_attribute_rename.up.sql +++ b/migrationManager/migrators/logs/migrations/000005_attribute_rename.up.sql @@ -1,7 +1,7 @@ -- We are dropping logs_attribute_keys as we are renaming logs_atrribute_keys in the next line -DROP TABLE IF EXISTS signoz_logs.logs_attribute_keys on CLUSTER cluster; +DROP TABLE IF EXISTS signoz_logs.logs_attribute_keys on CLUSTER {{.SIGNOZ_CLUSTER}}; -RENAME TABLE IF EXISTS signoz_logs.logs_atrribute_keys TO signoz_logs.logs_attribute_keys on CLUSTER cluster; +RENAME TABLE IF EXISTS signoz_logs.logs_atrribute_keys TO signoz_logs.logs_attribute_keys on CLUSTER {{.SIGNOZ_CLUSTER}}; -- Materialized view From 761cce532a951e652992263970eccfa9c977e704 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Wed, 11 Oct 2023 19:34:39 +0530 Subject: [PATCH 13/32] remove migration copy command from dockerfile --- cmd/signozcollector/Dockerfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cmd/signozcollector/Dockerfile b/cmd/signozcollector/Dockerfile index 0874bb58..0dbbb0d5 100644 --- a/cmd/signozcollector/Dockerfile +++ b/cmd/signozcollector/Dockerfile @@ -16,10 +16,6 @@ COPY .build/${TARGETOS}-${TARGETARCH}/signoz-collector /signoz-collector # copy the config and migration files COPY config/default-config.yaml /etc/otel/config.yaml -COPY exporter/clickhousetracesexporter/migrations /migrations -COPY exporter/clickhouselogsexporter/migrations /logsmigrations - -ENV LOG_MIGRATIONS_FOLDER="/logsmigrations" # expose OTLP ports for the collector EXPOSE 4317 4318 From eb598f3ee89f58c9e21dff059424cadfbe7d51b2 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Wed, 11 Oct 2023 21:14:33 +0530 Subject: [PATCH 14/32] chore: add docker files --- Makefile | 20 ++++++++++++++++++++ cmd/signozcollector/Dockerfile | 2 +- cmd/signozcollectormigrator/Dockerfile | 18 ++++++++++++++++++ cmd/signozcollectormigrator/migrate.go | 8 ++++---- 4 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 cmd/signozcollectormigrator/Dockerfile diff --git a/Makefile b/Makefile index 216f4eb6..73e519cd 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ COMMIT_SHA ?= $(shell git rev-parse HEAD) REPONAME ?= signoz IMAGE_NAME ?= signoz-otel-collector +MIGRATOR_IMAGE_NAME ?= signoz-otel-collector-migrator CONFIG_FILE ?= ./config/default-config.yaml DOCKER_TAG ?= latest @@ -34,6 +35,7 @@ test: .PHONY: build build: CGO_ENABLED=1 go build -tags timetzdata -o .build/${GOOS}-${GOARCH}/signoz-collector -ldflags "-linkmode external -extldflags '-static' -s -w ${LD_FLAGS}" ./cmd/signozcollector + CGO_ENABLED=1 go build -tags timetzdata -o .build/${GOOS}-${GOARCH}/signoz-collector-migrator -ldflags "-linkmode external -extldflags '-static' -s -w ${LD_FLAGS}" ./cmd/signozcollectormigrator .PHONY: amd64 amd64: @@ -73,6 +75,24 @@ build-signoz-collector: --no-cache -f cmd/signozcollector/Dockerfile --progress plain \ --tag $(REPONAME)/$(IMAGE_NAME):$(DOCKER_TAG) . +.PHONY: build-signoz-collector-migrator +build-signoz-collector-migrator: + @echo "------------------" + @echo "--> Build signoz collector migrator docker image" + @echo "------------------" + docker build --build-arg TARGETPLATFORM="linux/amd64" \ + --no-cache -f cmd/signozcollectormigrator/Dockerfile --progress plain \ + --tag $(REPONAME)/$(MIGRATOR_IMAGE_NAME):$(DOCKER_TAG) . + +.PHONY: build-and-push-signoz-collector-migrator +build-and-push-signoz-collector-migrator: + @echo "------------------" + @echo "--> Build and push signoz collector migrator docker image" + @echo "------------------" + docker buildx build --platform linux/amd64,linux/arm64 --progress plain \ + --no-cache --push -f cmd/signozcollectormigrator/Dockerfile \ + --tag $(REPONAME)/$(MIGRATOR_IMAGE_NAME):$(DOCKER_TAG) . + .PHONY: lint lint: @echo "Running linters..." diff --git a/cmd/signozcollector/Dockerfile b/cmd/signozcollector/Dockerfile index 0dbbb0d5..834c295b 100644 --- a/cmd/signozcollector/Dockerfile +++ b/cmd/signozcollector/Dockerfile @@ -14,7 +14,7 @@ USER ${USER_UID} # copy the binaries from the multi-stage build COPY .build/${TARGETOS}-${TARGETARCH}/signoz-collector /signoz-collector -# copy the config and migration files +# copy the config file COPY config/default-config.yaml /etc/otel/config.yaml # expose OTLP ports for the collector diff --git a/cmd/signozcollectormigrator/Dockerfile b/cmd/signozcollectormigrator/Dockerfile new file mode 100644 index 00000000..22e4fb7f --- /dev/null +++ b/cmd/signozcollectormigrator/Dockerfile @@ -0,0 +1,18 @@ +# use a minimal alpine image +FROM alpine:3.17 + +# add ca-certificates in case you need them +RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/* + +# define arguments and default values +ARG TARGETOS TARGETARCH +ARG USER_UID=10001 + +# create a non-root user for running the migrator +USER ${USER_UID} + +# copy the binaries from the multi-stage build +COPY .build/${TARGETOS}-${TARGETARCH}/signoz-collector-migrator /signoz-collector-migrator + +# run the binary as the entrypoint and pass the default config file as a flag +ENTRYPOINT [ "/signoz-collector-migrator" ] diff --git a/cmd/signozcollectormigrator/migrate.go b/cmd/signozcollectormigrator/migrate.go index 541d3388..d39edefc 100644 --- a/cmd/signozcollectormigrator/migrate.go +++ b/cmd/signozcollectormigrator/migrate.go @@ -36,7 +36,7 @@ func main() { } f.String("dsn", "", "Clickhouse DSN") - f.String("cluster-name", "", "Cluster name to use while running migrations") + f.String("cluster-name", "cluster", "Cluster name to use while running migrations") f.Bool("multi-node-cluster", false, "True if the dsn points to a multi node clickhouse cluster, false otherwise. Defaults to false.") f.Bool("disable-duration-sort-feature", false, "Flag to disable the duration sort feature. Defaults to false.") f.Bool("disable-timestamp-sort-feature", false, "Flag to disable the timestamp sort feature. Defaults to false.") @@ -71,10 +71,10 @@ func main() { logger.Fatal("Failed to get disable timestamp sort feature flag from args", zap.Error(err)) } - if dsn == "" || clusterName == "" { - logger.Fatal("dsn and clusterName are required fields") + if dsn == "" { + logger.Fatal("dsn is a required field") } - + // set cluster env so that golang-migrate can use it // the value of this env would replace all occurences of {{.SIGNOZ_CLUSTER}} in the migration files os.Setenv("SIGNOZ_CLUSTER", clusterName) From 3023dcefc012093a19eda99f5c2051326baf3011 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Wed, 11 Oct 2023 21:40:19 +0530 Subject: [PATCH 15/32] chore: add default dsn --- cmd/signozcollectormigrator/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmd/signozcollectormigrator/Dockerfile b/cmd/signozcollectormigrator/Dockerfile index 22e4fb7f..ff5eca28 100644 --- a/cmd/signozcollectormigrator/Dockerfile +++ b/cmd/signozcollectormigrator/Dockerfile @@ -14,5 +14,6 @@ USER ${USER_UID} # copy the binaries from the multi-stage build COPY .build/${TARGETOS}-${TARGETARCH}/signoz-collector-migrator /signoz-collector-migrator -# run the binary as the entrypoint and pass the default config file as a flag +# run the binary as the entrypoint and pass the default dsn as a flag ENTRYPOINT [ "/signoz-collector-migrator" ] +CMD ["--dsn", "tcp://host.docker.internal:9000"] From bda2884000245eebb2952febd2f67bf536ccc031 Mon Sep 17 00:00:00 2001 From: dhawal1248 Date: Thu, 12 Oct 2023 15:29:14 +0530 Subject: [PATCH 16/32] chore: copy migrations for schema migrator + add example docker compose --- cmd/signozcollectormigrator/Dockerfile | 4 +- example/docker-compose.yml | 34 ++++++ example/example-config.yaml | 142 +++++++++++++++++++++++++ 3 files changed, 177 insertions(+), 3 deletions(-) create mode 100644 example/docker-compose.yml create mode 100644 example/example-config.yaml diff --git a/cmd/signozcollectormigrator/Dockerfile b/cmd/signozcollectormigrator/Dockerfile index ff5eca28..ea4afc3f 100644 --- a/cmd/signozcollectormigrator/Dockerfile +++ b/cmd/signozcollectormigrator/Dockerfile @@ -1,9 +1,6 @@ # use a minimal alpine image FROM alpine:3.17 -# add ca-certificates in case you need them -RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/* - # define arguments and default values ARG TARGETOS TARGETARCH ARG USER_UID=10001 @@ -13,6 +10,7 @@ USER ${USER_UID} # copy the binaries from the multi-stage build COPY .build/${TARGETOS}-${TARGETARCH}/signoz-collector-migrator /signoz-collector-migrator +COPY migrationManager ./migrationManager # run the binary as the entrypoint and pass the default dsn as a flag ENTRYPOINT [ "/signoz-collector-migrator" ] diff --git a/example/docker-compose.yml b/example/docker-compose.yml new file mode 100644 index 00000000..11990b98 --- /dev/null +++ b/example/docker-compose.yml @@ -0,0 +1,34 @@ +version: "3.8" + +services: + otel-collector-migrator: + image: signoz/signoz-otel-collector-migrator:templatize-migrations + container_name: otel-migrator + extra_hosts: + - signoz-host:host-gateway + command: + - "--dsn=tcp://signoz-host:9000" + + otel-collector: + image: signoz/signoz-otel-collector:templatize-migrations + deploy: + replicas: 3 + user: root # required for reading docker container logs + extra_hosts: + - signoz-host:host-gateway + command: + - "--config=/etc/otel-collector-config.yml" + # - "--set=service.telemetry.logs.level=DEBUG" + volumes: + - ./example-config.yaml:/etc/otel-collector-config.yml + - /var/lib/docker/containers:/var/lib/docker/containers:ro + - /var/log:/var/log:ro + # required to read logs from /var/lib/docker/containers/ + ports: + - "1888" # pprof extension + - "8888" # Prometheus metrics exposed by the collector + - "13133" # health_check extension + - "55679" # zpages extension + depends_on: + otel-collector-migrator: + condition: service_completed_successfully diff --git a/example/example-config.yaml b/example/example-config.yaml new file mode 100644 index 00000000..292e4a9d --- /dev/null +++ b/example/example-config.yaml @@ -0,0 +1,142 @@ +receivers: + otlp/spanmetrics: + protocols: + grpc: + endpoint: "localhost:12345" + otlp: + protocols: + grpc: + http: + jaeger: + protocols: + grpc: + thrift_http: + hostmetrics: + collection_interval: 30s + scrapers: + cpu: + load: + memory: + disk: + filesystem: + network: + filelog/containers: + include: [ "/var/lib/docker/containers/*/*.log" ] + start_at: end + include_file_path: true + include_file_name: false + operators: + # Find out which format is used by docker + - type: router + id: get-format + routes: + - output: parser-docker + expr: 'body matches "^\\{"' + # Parse Docker format + - type: json_parser + id: parser-docker + output: extract_metadata_from_filepath + timestamp: + parse_from: attributes.time + layout: '%Y-%m-%dT%H:%M:%S.%LZ' + + # Extract metadata from file path + - type: regex_parser + id: extract_metadata_from_filepath + regex: '^.*containers/(?P[^_]+)/.*log$' + parse_from: attributes["log.file.path"] + output: parse_body + - type: move + id: parse_body + from: attributes.log + to: body + output: add_source + - type: add + id: add_source + field: resource["source"] + value: "docker" + filelog/syslog: + include: [ "/var/log/*log" ] + start_at: end + include_file_path: true + include_file_name: false + operators: + # Extract metadata from file path + - type: regex_parser + regex: '^.*(?P