From c63ebcc558b0562a5c803c5778bafe62b9b27733 Mon Sep 17 00:00:00 2001 From: Sergiusz Urbaniak Date: Wed, 4 Jun 2025 12:23:23 +0200 Subject: [PATCH 1/8] add DOS - developer observability stack --- .gitignore | 3 + Makefile | 2 +- assets.go | 6 + cmd/main.go | 1 + go.mod | 121 +++- go.sum | 537 +++++++++++++++++- test/e2e/e2e_suite_test.go | 2 + test/helper/e2e/k8s/operator.go | 26 +- test/helper/observability/README.md | 90 +++ test/helper/observability/cmd/dos/main.go | 36 ++ test/helper/observability/exec.go | 24 + .../observability/exec/test/gingo_test.go | 27 + .../observability/exec/test/some_test.go | 16 + test/helper/observability/ginkgo/callbacks.go | 10 + test/helper/observability/ginkgo/duration.go | 66 +++ test/helper/observability/ginkgo/metrics.go | 156 +++++ test/helper/observability/grafana.png | Bin 0 -> 241215 bytes .../install/assets/grafana-config.yaml | 527 +++++++++++++++++ .../install/assets/kind-config.yaml | 20 + .../assets/ksm-cluster-role-binding.yaml | 12 + .../install/assets/ksm-config.yaml | 41 ++ .../install/assets/ksm-deployment.yaml | 25 + .../install/assets/kube-prometheus-helm.yaml | 8 + .../install/assets/loki-helm.yaml | 30 + .../install/assets/loki-snapshot-file.yaml | 27 + .../install/assets/loki-snapshot-url.yaml | 23 + .../install/assets/nodeports.yaml | 45 ++ .../assets/prometheus-host-scrape-config.yaml | 3 + .../assets/prometheus-snapshot-file.yaml | 28 + .../assets/prometheus-snapshot-url.yaml | 24 + .../install/assets/prometheus.yaml | 17 + .../install/assets/promtail-helm.yaml | 6 + test/helper/observability/install/install.go | 232 ++++++++ test/helper/observability/install/unpack.go | 52 ++ .../observability/jsonwriter/jsonwriter.go | 47 ++ test/helper/observability/loki.png | Bin 0 -> 195694 bytes .../loki_reporter/loki_reporter.go | 69 +++ test/helper/observability/observe/observe.go | 82 +++ test/helper/observability/prometheus.png | Bin 0 -> 197533 bytes .../helper/observability/snapshot/snapshot.go | 21 + test/int/integration_suite_test.go | 17 +- 41 files changed, 2436 insertions(+), 43 deletions(-) create mode 100644 assets.go create mode 100644 test/helper/observability/README.md create mode 100644 test/helper/observability/cmd/dos/main.go create mode 100644 test/helper/observability/exec.go create mode 100644 test/helper/observability/exec/test/gingo_test.go create mode 100644 test/helper/observability/exec/test/some_test.go create mode 100644 test/helper/observability/ginkgo/callbacks.go create mode 100644 test/helper/observability/ginkgo/duration.go create mode 100644 test/helper/observability/ginkgo/metrics.go create mode 100644 test/helper/observability/grafana.png create mode 100644 test/helper/observability/install/assets/grafana-config.yaml create mode 100644 test/helper/observability/install/assets/kind-config.yaml create mode 100644 test/helper/observability/install/assets/ksm-cluster-role-binding.yaml create mode 100644 test/helper/observability/install/assets/ksm-config.yaml create mode 100644 test/helper/observability/install/assets/ksm-deployment.yaml create mode 100644 test/helper/observability/install/assets/kube-prometheus-helm.yaml create mode 100644 test/helper/observability/install/assets/loki-helm.yaml create mode 100644 test/helper/observability/install/assets/loki-snapshot-file.yaml create mode 100644 test/helper/observability/install/assets/loki-snapshot-url.yaml create mode 100644 test/helper/observability/install/assets/nodeports.yaml create mode 100644 test/helper/observability/install/assets/prometheus-host-scrape-config.yaml create mode 100644 test/helper/observability/install/assets/prometheus-snapshot-file.yaml create mode 100644 test/helper/observability/install/assets/prometheus-snapshot-url.yaml create mode 100644 test/helper/observability/install/assets/prometheus.yaml create mode 100644 test/helper/observability/install/assets/promtail-helm.yaml create mode 100644 test/helper/observability/install/install.go create mode 100644 test/helper/observability/install/unpack.go create mode 100644 test/helper/observability/jsonwriter/jsonwriter.go create mode 100644 test/helper/observability/loki.png create mode 100644 test/helper/observability/loki_reporter/loki_reporter.go create mode 100644 test/helper/observability/observe/observe.go create mode 100644 test/helper/observability/prometheus.png create mode 100644 test/helper/observability/snapshot/snapshot.go diff --git a/.gitignore b/.gitignore index 981ef2cfb1..8ee92ddddb 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,6 @@ tools/metrics/metrics # ignore the ako.siging key local copy ako.pem +# e2e artifacts +*.tar.gz +urls.json diff --git a/Makefile b/Makefile index c8e78a3c85..61cd88aa06 100644 --- a/Makefile +++ b/Makefile @@ -584,7 +584,7 @@ endif VERSION=$(NEXT_VERSION) \ OPERATOR_POD_NAME=$(OPERATOR_POD_NAME) \ OPERATOR_NAMESPACE=$(OPERATOR_NAMESPACE) \ - bin/manager --object-deletion-protection=false --log-level=$(RUN_LOG_LEVEL) \ + bin/manager --log-encoder=json --object-deletion-protection=false --log-level=$(RUN_LOG_LEVEL) \ --atlas-domain=$(ATLAS_DOMAIN) \ --global-api-secret-name=$(ATLAS_KEY_SECRET_NAME) diff --git a/assets.go b/assets.go new file mode 100644 index 0000000000..a03d082212 --- /dev/null +++ b/assets.go @@ -0,0 +1,6 @@ +package root + +import "embed" + +//go:embed config/crd/* test/helper/observability/install/assets/* +var Assets embed.FS diff --git a/cmd/main.go b/cmd/main.go index e73ccd9686..db2807e25d 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -241,6 +241,7 @@ func initCustomZapLogger(level, encoding string) (*zap.Logger, error) { EncodeLevel: zapcore.CapitalLevelEncoder, TimeKey: "time", EncodeTime: zapcore.ISO8601TimeEncoder, + NameKey: "logger", }, } return cfg.Build() diff --git a/go.mod b/go.mod index cc82b2933d..ab4107d3c8 100644 --- a/go.mod +++ b/go.mod @@ -16,14 +16,18 @@ require ( github.com/Azure/go-autorest/autorest/to v0.4.1 github.com/Masterminds/semver v1.5.0 github.com/aws/aws-sdk-go v1.55.7 + github.com/go-kit/kit v0.12.0 github.com/go-logr/zapr v1.3.0 github.com/go-test/deep v1.1.1 github.com/google/go-cmp v0.7.0 github.com/google/uuid v1.6.0 + github.com/grafana/dskit v0.0.0-20250317084829-9cdd36a91f10 + github.com/grafana/loki/v3 v3.5.1 github.com/mongodb-forks/digest v1.1.0 github.com/nsf/jsondiff v0.0.0-20230430225905-43f6cf3098c1 github.com/onsi/ginkgo/v2 v2.23.4 github.com/onsi/gomega v1.37.0 + github.com/prometheus/prometheus v0.302.1 github.com/sethvargo/go-password v0.3.1 github.com/stretchr/testify v1.10.0 go.mongodb.org/atlas v0.38.0 @@ -50,36 +54,130 @@ require ( cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect cloud.google.com/go/iam v1.5.2 // indirect cloud.google.com/go/longrunning v0.6.7 // indirect + dario.cat/mergo v1.0.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.1 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2 // indirect + github.com/Masterminds/goutils v1.1.1 // indirect + github.com/Masterminds/semver/v3 v3.3.1 // indirect + github.com/Masterminds/sprig/v3 v3.3.0 // indirect + github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect github.com/antlr4-go/antlr/v4 v4.13.0 // indirect + github.com/armon/go-metrics v0.4.1 // indirect + github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect + github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 // indirect github.com/blang/semver/v4 v4.0.0 // indirect + github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 // indirect + github.com/coreos/go-semver v0.3.1 // indirect + github.com/coreos/go-systemd/v22 v22.5.0 // indirect + github.com/dennwc/varint v1.0.0 // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect + github.com/dustin/go-humanize v1.0.1 // indirect + github.com/edsrzf/mmap-go v1.2.0 // indirect + github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb // indirect + github.com/fatih/color v1.18.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/fsnotify/fsnotify v1.8.0 // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect + github.com/go-kit/log v0.2.1 // indirect + github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-openapi/analysis v0.23.0 // indirect + github.com/go-openapi/errors v0.22.0 // indirect + github.com/go-openapi/loads v0.22.0 // indirect + github.com/go-openapi/spec v0.21.0 // indirect + github.com/go-openapi/strfmt v0.23.0 // indirect + github.com/go-openapi/validate v0.24.0 // indirect + github.com/go-redsync/redsync/v4 v4.13.0 // indirect github.com/go-task/slim-sprig/v3 v3.0.0 // indirect + github.com/gogo/googleapis v1.4.1 // indirect + github.com/gogo/status v1.1.1 // indirect github.com/golang-jwt/jwt/v5 v5.2.2 // indirect github.com/google/btree v1.1.3 // indirect github.com/google/cel-go v0.23.2 // indirect github.com/google/gnostic-models v0.6.9 // indirect github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect github.com/google/s2a-go v0.1.9 // indirect + github.com/gorilla/mux v1.8.1 // indirect + github.com/grafana/gomemcache v0.0.0-20250228145437-da7b95fd2ac1 // indirect + github.com/grafana/jsonparser v0.0.0-20241004153430-023329977675 // indirect + github.com/grafana/loki/pkg/push v0.0.0-20240924133635-758364c7775f // indirect + github.com/grafana/pyroscope-go/godeltaprof v0.1.8 // indirect + github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect + github.com/hashicorp/consul/api v1.31.2 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-hclog v1.6.3 // indirect + github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-metrics v0.5.4 // indirect + github.com/hashicorp/go-msgpack/v2 v2.1.1 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-rootcerts v1.0.2 // indirect + github.com/hashicorp/go-sockaddr v1.0.7 // indirect + github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/memberlist v0.5.3 // indirect + github.com/hashicorp/serf v0.10.1 // indirect + github.com/huandu/xstrings v1.5.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/jpillora/backoff v1.0.0 // indirect + github.com/julienschmidt/httprouter v1.3.0 // indirect github.com/kylelemons/godebug v1.1.0 // indirect + github.com/mattn/go-colorable v0.1.14 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mdlayher/socket v0.5.1 // indirect + github.com/mdlayher/vsock v1.2.1 // indirect + github.com/miekg/dns v1.1.63 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect + github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect + github.com/oklog/ulid v1.3.1 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.116.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.116.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor v0.116.0 // indirect + github.com/opentracing-contrib/go-grpc v0.1.1 // indirect + github.com/opentracing-contrib/go-stdlib v1.1.0 // indirect + github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect + github.com/pires/go-proxyproto v0.7.0 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect + github.com/prometheus/alertmanager v0.28.1 // indirect + github.com/prometheus/exporter-toolkit v0.13.2 // indirect + github.com/prometheus/sigv4 v0.1.2 // indirect + github.com/redis/go-redis/v9 v9.8.0 // indirect + github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 // indirect + github.com/sercand/kuberesolver/v5 v5.1.1 // indirect + github.com/shopspring/decimal v1.4.0 // indirect + github.com/sony/gobreaker/v2 v2.1.0 // indirect + github.com/spf13/cast v1.7.1 // indirect github.com/spf13/cobra v1.8.1 // indirect github.com/stoewer/go-strcase v1.3.0 // indirect github.com/stretchr/objx v0.5.2 // indirect + github.com/tjhop/slog-gokit v0.1.4 // indirect + github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect + github.com/uber/jaeger-lib v2.4.1+incompatible // indirect github.com/x448/float16 v0.8.4 // indirect + go.etcd.io/etcd/api/v3 v3.5.21 // indirect + go.etcd.io/etcd/client/pkg/v3 v3.5.21 // indirect + go.etcd.io/etcd/client/v3 v3.5.21 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/collector/component v0.118.0 // indirect + go.opentelemetry.io/collector/config/configtelemetry v0.118.0 // indirect + go.opentelemetry.io/collector/consumer v1.24.0 // indirect + go.opentelemetry.io/collector/pdata v1.28.1 // indirect + go.opentelemetry.io/collector/pipeline v0.118.0 // indirect + go.opentelemetry.io/collector/processor v0.118.0 // indirect + go.opentelemetry.io/collector/semconv v0.118.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.59.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect go.opentelemetry.io/otel v1.35.0 // indirect go.opentelemetry.io/otel/metric v1.35.0 // indirect go.opentelemetry.io/otel/trace v1.35.0 // indirect + go.uber.org/atomic v1.11.0 // indirect go.uber.org/automaxprocs v1.6.0 // indirect + go.uber.org/goleak v1.3.0 // indirect + go4.org/netipx v0.0.0-20230125063823-8449b0a6169f // indirect + golang.org/x/mod v0.24.0 // indirect golang.org/x/tools v0.31.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect @@ -92,7 +190,7 @@ require ( cloud.google.com/go/compute v1.39.0 cloud.google.com/go/compute/metadata v0.7.0 // indirect github.com/Azure/go-autorest v14.2.0+incompatible // indirect - github.com/Azure/go-autorest/autorest/adal v0.9.22 // indirect + github.com/Azure/go-autorest/autorest/adal v0.9.24 // indirect github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 // indirect github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect @@ -107,11 +205,12 @@ require ( github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/go-logr/logr v1.4.3 github.com/go-openapi/jsonpointer v0.21.0 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect + github.com/go-openapi/jsonreference v0.21.0 // indirect github.com/go-openapi/swag v0.23.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect + github.com/gogo/protobuf v1.3.2 github.com/golang-jwt/jwt/v4 v4.5.2 // indirect - github.com/golang/snappy v0.0.4 // indirect + github.com/golang/protobuf v1.5.4 // indirect + github.com/golang/snappy v1.0.0 github.com/google/go-querystring v1.1.0 // indirect github.com/google/gofuzz v1.2.0 github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect @@ -119,7 +218,7 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.18.0 // indirect - github.com/mailru/easyjson v0.7.7 // indirect + github.com/mailru/easyjson v0.9.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect @@ -127,18 +226,18 @@ require ( github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.22.0 // indirect + github.com/prometheus/client_golang v1.22.0 github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.62.0 // indirect + github.com/prometheus/common v0.62.0 github.com/prometheus/procfs v0.15.1 // indirect - github.com/spf13/pflag v1.0.5 // indirect + github.com/spf13/pflag v1.0.6 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.38.0 // indirect - golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 + golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 golang.org/x/net v0.40.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect golang.org/x/sys v0.33.0 // indirect @@ -153,7 +252,7 @@ require ( k8s.io/apiextensions-apiserver v0.33.0 k8s.io/klog/v2 v2.130.1 k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect - k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect + k8s.io/utils v0.0.0-20241210054802-24370beab758 // indirect sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect sigs.k8s.io/yaml v1.4.0 diff --git a/go.sum b/go.sum index b3894eed87..dacee7d6b4 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,6 @@ cel.dev/expr v0.20.0 h1:OunBvVCfvpWlt4dN7zg3FM6TDkzOePe1+foGJ9AXeeI= cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.121.2 h1:v2qQpN6Dx9x2NmwrqlesOt3Ys4ol5/lFZ6Mg1B7OJCg= cloud.google.com/go v0.121.2/go.mod h1:nRFlrHq39MNVWu+zESP2PosMWA0ryJw8KUBZ2iZpxbw= cloud.google.com/go/auth v0.16.1 h1:XrXauHMd30LhQYVRHLGvJiYeczweKQXZxsTbV9TiguU= @@ -16,6 +17,8 @@ cloud.google.com/go/kms v1.22.0 h1:dBRIj7+GDeeEvatJeTB19oYZNV0aj6wEqSIT/7gLqtk= cloud.google.com/go/kms v1.22.0/go.mod h1:U7mf8Sva5jpOb4bxYZdtw/9zsbIjrklYwPcvMk34AL8= cloud.google.com/go/longrunning v0.6.7 h1:IGtfDWHhQCgCjwQjV9iiLnUta9LBCo8R9QmAFsS/PrE= cloud.google.com/go/longrunning v0.6.7/go.mod h1:EAFV3IZAKmM56TyiE6VAP3VoTzhZzySwI/YI1s/nRsY= +dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= +dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.0 h1:Gt0j3wceWMwPmiazCa8MzMA0MfhmPIz0Qp0FJ6qcM0U= @@ -26,6 +29,8 @@ github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2 h1:yz1bePFlP5Vws5+ github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2/go.mod h1:Pa9ZNPuoNu/GztvBSKk9J1cDJW6vk/n0zLtV4mgd8N8= github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.1 h1:FPKJS1T+clwv+OLGt13a8UjqeRuh0O4SJ3lUriThc+4= github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.1/go.mod h1:j2chePtV91HrC22tGoRX3sGY42uF13WzmmV80/OdVAA= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0 h1:LkHbJbgF3YyvC53aqYGR+wWQDn2Rdp9AQdGndf9QvY4= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0/go.mod h1:QyiQdW4f4/BIfB8ZutZ2s+28RAgfa/pT+zS++ZHyM1I= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2 h1:mLY+pNLjCUeKhgnAJWAKhEUQM+RJQo2H1fuGSw1Ky1E= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2/go.mod h1:FbdwsQ2EzwvXxOPcMFYO8ogEc9uMMIj3YkmCdXdAFmk= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v3 v3.1.0 h1:2qsIIvxVT+uE6yrNldntJKlLRgxGbZ85kgtz5SNBhMw= @@ -34,6 +39,8 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault v1.5. github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault v1.5.0/go.mod h1:4YIVtzMFVsPwBvitCDX7J9sqthSj43QD1sP6fYc1egc= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2 v2.2.1 h1:bWh0Z2rOEDfB/ywv/l0iHN1JgyazE6kW/aIA89+CEK0= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2 v2.2.1/go.mod h1:Bzf34hhAE9NSxailk8xVeLEZbUjOXcC+GnU1mMKdhLw= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 h1:bXwSugBiSbgtz7rOtbfGf+woewp4f06orW9OP5BjHLA= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0/go.mod h1:Y/HgrePTmGy9HjdSGTqZNa+apUpTVIEVKXJyARP2lrk= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0 h1:Dd+RhdJn0OTtVGaeDLZpcumkIVCtA/3/Fo42+eoYvVM= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0/go.mod h1:5kakwfW5CjC9KK+Q4wjXAg+ShuIm2mBMua0ZFj2C8PE= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= @@ -42,8 +49,9 @@ github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5ne github.com/Azure/go-autorest/autorest v0.11.30 h1:iaZ1RGz/ALZtN5eq4Nr1SOFSlf2E4pDI3Tcsl+dZPVE= github.com/Azure/go-autorest/autorest v0.11.30/go.mod h1:t1kpPIOpIVX7annvothKvb0stsrXa37i7b+xpmBW8Fs= 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/adal v0.9.24 h1:BHZfgGsGwdkHDyZdtQRQk1WeUdW0m2WPAwuHZwUi5i4= +github.com/Azure/go-autorest/autorest/adal v0.9.24/go.mod h1:7T1+g0PYFmACYW5LlG2fcoPiPlFHjClyRGL7dRlP5c8= github.com/Azure/go-autorest/autorest/azure/auth v0.5.13 h1:Ov8avRZi2vmrE2JcXw+tu5K/yB41r7xK9GZDiBF7NdM= github.com/Azure/go-autorest/autorest/azure/auth v0.5.13/go.mod h1:5BAVfWLWXihP47vYrPuBKKf4cS0bXI+KM9Qx6ETDJYo= github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 h1:w77/uPk80ZET2F+AfQExZyEWtn+0Rk/uw17m9fv5Ajc= @@ -65,40 +73,136 @@ github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJ github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE= github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2 h1:oygO0locgZJe7PpYPXT5A29ZkwJaPqcva7BVeemZOZs= github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= +github.com/Code-Hex/go-generics-cache v1.5.1 h1:6vhZGc5M7Y/YD8cIUcY8kcuQLB4cHR7U+0KMqAA0KcU= +github.com/Code-Hex/go-generics-cache v1.5.1/go.mod h1:qxcC9kRVrct9rHeiYpFWSoW1vxyillCVzX13KZG8dl4= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= +github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4= +github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= +github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= +github.com/Workiva/go-datastructures v1.1.5 h1:5YfhQ4ry7bZc2Mc7R0YZyYwpf5c6t1cEFvdAhd6Mkf4= +github.com/Workiva/go-datastructures v1.1.5/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0= +github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= +github.com/alicebob/gopher-json v0.0.0-20230218143504-906a9b012302 h1:uvdUDbHQHO85qeSydJtItA4T55Pw6BtAejd0APRJOCE= +github.com/alicebob/gopher-json v0.0.0-20230218143504-906a9b012302/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= +github.com/alicebob/miniredis v2.5.0+incompatible h1:yBHoLpsyjupjz3NL3MhKMVkR41j82Yjf3KFv7ApYzUI= +github.com/alicebob/miniredis/v2 v2.34.0 h1:mBFWMaJSNL9RwdGRyEDoAAv8OQc5UlEhLDQggTglU/0= +github.com/alicebob/miniredis/v2 v2.34.0/go.mod h1:kWShP4b58T1CW0Y5dViCd5ztzrDqRWqM3nksiyXk5s8= github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +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-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= +github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/aws/aws-sdk-go v1.55.7 h1:UJrkFq7es5CShfBwlWAC8DA077vp8PyVbQd3lqLiztE= github.com/aws/aws-sdk-go v1.55.7/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= +github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 h1:6df1vn4bBlDDo4tARvBm7l6KA9iVMnE3NWizDeWSrps= +github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3/go.mod h1:CIWtjkly68+yqLPbvwwR/fjNJA/idrtULjZWh2v1ys0= +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/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= +github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= +github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= +github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= +github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500 h1:6lhrsTEnloDPXyeZBvSYvQf8u86jbKehZPVDDlkgDl4= +github.com/c2h5oh/datasize v0.0.0-20231215233829-aa82cc1e6500/go.mod h1:S/7n9copUssQ56c7aAgHqftWO4LTf4xY6CGWt8Bc+3M= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 h1:Om6kYQYDUk5wWbT0t0q6pvyM49i9XZAv9dDrkDA7gjk= +github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= +github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= +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/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= +github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= +github.com/digitalocean/godo v1.132.0 h1:n0x6+ZkwbyQBtIU1wwBhv26EINqHg0wWQiBXlwYg/HQ= +github.com/digitalocean/godo v1.132.0/go.mod h1:PU8JB6I1XYkQIdHFop8lLAY9ojp6M0XcU0TWaQSxbrc= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= +github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= +github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/docker/docker v28.0.4+incompatible h1:JNNkBctYKurkw6FrHfKqY0nKIDf5nrbxjVBtS+cdcok= +github.com/docker/docker v28.0.4+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= +github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= +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/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/edsrzf/mmap-go v1.2.0 h1:hXLYlkbaPzt1SaQk+anYwKSRNhufIDCchSPkUD6dD84= +github.com/edsrzf/mmap-go v1.2.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/envoyproxy/go-control-plane v0.13.4 h1:zEqyPVyku6IvWCFwux4x9RxkLOMUL+1vC9xUFv5l2/M= +github.com/envoyproxy/go-control-plane/envoy v1.32.4 h1:jb83lalDRZSpPWW2Z7Mck/8kXZ5CQAFYVjQcdVIr83A= +github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1Zm+wSYE20UrLtt7JZMWiWQXQEw= +github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8= +github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= +github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb h1:IT4JYU7k4ikYg1SCxNI1/Tieq/NFvh6dzLdgi7eu0tM= +github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb/go.mod h1:bH6Xx7IW64qjjJq8M2u4dxNaBiDfKK+z/3eGDpXEQhc= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= +github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= -github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= +github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= +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= +github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +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-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= +github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= @@ -106,20 +210,52 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU= +github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo= +github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w= +github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE= github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= +github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= +github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco= +github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs= +github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY= +github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk= +github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c= +github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4= github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= +github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58= +github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ= +github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= +github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= +github.com/go-redis/redis/v7 v7.4.1 h1:PASvf36gyUpr2zdOUS/9Zqc80GbM+9BDyiJSJDDOrTI= +github.com/go-redis/redis/v7 v7.4.1/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= +github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI= +github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= +github.com/go-redsync/redsync/v4 v4.13.0 h1:49X6GJfnbLGaIpBBREM/zA4uIMDXKAh1NDkvQ1EkZKA= +github.com/go-redsync/redsync/v4 v4.13.0/go.mod h1:HMW4Q224GZQz6x1Xc7040Yfgacukdzu7ifTDAKiyErQ= +github.com/go-resty/resty/v2 v2.16.3 h1:zacNT7lt4b8M/io2Ahj6yPypL7bqx9n1iprfQuodV+E= +github.com/go-resty/resty/v2 v2.16.3/go.mod h1:hkJtXbA2iKHzJheXYvQ8snQES5ZLGKMwQ07xAwp/fiA= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-test/deep v1.1.1 h1:0r/53hagsehfO4bzD2Pgr/+RgHqhmf+k1Bpse2cTu1U= github.com/go-test/deep v1.1.1/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-zookeeper/zk v1.0.4 h1:DPzxraQx7OrPyXq2phlGlNSIyWEsAox0RJmjTseMV6I= +github.com/go-zookeeper/zk v1.0.4/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +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.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/gogo/status v1.1.1 h1:DuHXlSFHNKqTQ+/ACf5Vs6r4X/dH2EgIzR9Vr+H65kg= +github.com/gogo/status v1.1.1/go.mod h1:jpG3dM5QPcqu19Hg8lkUhBFBa3TcLs1DG7+2Jqci7oU= github.com/golang-jwt/jwt/v4 v4.0.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/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= @@ -127,17 +263,35 @@ github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXe github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8= github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= +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= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= +github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/gomodule/redigo v1.8.9 h1:Sl3u+2BI/kk+VEatbj0scLdrFhjPmbxOc1myhDP41ws= +github.com/gomodule/redigo v1.8.9/go.mod h1:7ArFNvsTjH8GMMzB4uy1snslv2BwmginuMs06a1uzZE= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/cel-go v0.23.2 h1:UdEe3CvQh3Nv+E/j9r1Y//WO0K0cSyD7/y0bzyLIMI4= github.com/google/cel-go v0.23.2/go.mod h1:52Pb6QsDbC5kvgxvZhiL9QX1oZEkcUF/ZqaPx1J5Wwo= github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw= github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= @@ -156,23 +310,124 @@ github.com/googleapis/enterprise-certificate-proxy v0.3.6 h1:GW/XbdyBFQ8Qe+YAmFU github.com/googleapis/enterprise-certificate-proxy v0.3.6/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= github.com/googleapis/gax-go/v2 v2.14.2 h1:eBLnkZ9635krYIPD+ag1USrOAI0Nr0QYF3+/3GqO0k0= github.com/googleapis/gax-go/v2 v2.14.2/go.mod h1:ON64QhlJkhVtSqp4v1uaK92VyZ2gmvDQsweuyLV+8+w= +github.com/gophercloud/gophercloud/v2 v2.4.0 h1:XhP5tVEH3ni66NSNK1+0iSO6kaGPH/6srtx6Cr+8eCg= +github.com/gophercloud/gophercloud/v2 v2.4.0/go.mod h1:uJWNpTgJPSl2gyzJqcU/pIAhFUWvIkp8eE8M15n9rs4= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= +github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= +github.com/grafana/dskit v0.0.0-20250317084829-9cdd36a91f10 h1:trIyc2EXciif3LGhcC4JlWT/EcJdkiOlitJGU8AgK48= +github.com/grafana/dskit v0.0.0-20250317084829-9cdd36a91f10/go.mod h1:GYazi+gM2La64jui4nDKrD6b8Drb8QDsUqyzBuiy1Ag= +github.com/grafana/gomemcache v0.0.0-20250228145437-da7b95fd2ac1 h1:vR5nELq+KtGO+IiGW+AclWeQ7uhLHCEz/zyQwbQVNnQ= +github.com/grafana/gomemcache v0.0.0-20250228145437-da7b95fd2ac1/go.mod h1:j/s0jkda4UXTemDs7Pgw/vMT06alWc42CHisvYac0qw= +github.com/grafana/jsonparser v0.0.0-20241004153430-023329977675 h1:U94jQ2TQr1m3HNyE8efSdyaBbDrdPaWImXyenuKZ/nw= +github.com/grafana/jsonparser v0.0.0-20241004153430-023329977675/go.mod h1:796sq+UcONnSlzA3RtlBZ+b/hrerkZXiEmO8oMjyRwY= +github.com/grafana/loki/pkg/push v0.0.0-20240924133635-758364c7775f h1:NcS5dQXH/BtoMpQtA1d0+ftwyzdwQk5/8SCj9eHl8w8= +github.com/grafana/loki/pkg/push v0.0.0-20240924133635-758364c7775f/go.mod h1:lJEF/Wh5MYlmBem6tOYAFObkLsuikfrEf8Iy9AdMPiQ= +github.com/grafana/loki/v3 v3.5.1 h1:muG+UNmUuLBcWIRtankVPRyee58VSUVkZg0NMUPGP7M= +github.com/grafana/loki/v3 v3.5.1/go.mod h1:BQiwDJF7fXVjFuKsN9U2uojfA2wE3sWOXbRFdN4y0mQ= +github.com/grafana/pyroscope-go/godeltaprof v0.1.8 h1:iwOtYXeeVSAeYefJNaxDytgjKtUuKQbJqgAIjlnicKg= +github.com/grafana/pyroscope-go/godeltaprof v0.1.8/go.mod h1:2+l7K7twW49Ct4wFluZD3tZ6e0SjanjcUUBPVD/UuGU= +github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248= +github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= +github.com/hashicorp/consul/api v1.31.2 h1:NicObVJHcCmyOIl7Z9iHPvvFrocgTYo9cITSGg0/7pw= +github.com/hashicorp/consul/api v1.31.2/go.mod h1:Z8YgY0eVPukT/17ejW+l+C7zJmKwgPHtjU1q16v/Y40= +github.com/hashicorp/consul/sdk v0.16.1 h1:V8TxTnImoPD5cj0U9Spl0TUxcytjcbbJeADFF07KdHg= +github.com/hashicorp/consul/sdk v0.16.1/go.mod h1:fSXvwxB2hmh1FMZCNl6PwX0Q/1wdWtHJcZ7Ea5tns0s= +github.com/hashicorp/cronexpr v1.1.2 h1:wG/ZYIKT+RT3QkOdgYc+xsKWVRgnxJ1OJtjjy84fJ9A= +github.com/hashicorp/cronexpr v1.1.2/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= +github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-metrics v0.5.4 h1:8mmPiIJkTPPEbAiV97IxdAGNdRdaWwVap1BU6elejKY= +github.com/hashicorp/go-metrics v0.5.4/go.mod h1:CG5yz4NZ/AI/aQt9Ucm/vdBnbh7fvmv4lxZ350i+QQI= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= +github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-msgpack/v2 v2.1.1 h1:xQEY9yB2wnHitoSzk/B9UjXWRQ67QKu5AOm8aFp8N3I= +github.com/hashicorp/go-msgpack/v2 v2.1.1/go.mod h1:upybraOAblm4S7rx0+jeNy+CWWhzywQsSRV5033mMu4= +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= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= +github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-sockaddr v1.0.7 h1:G+pTkSO01HpR5qCxg7lxfsFEZaG+C0VssTy/9dbT+Fw= +github.com/hashicorp/go-sockaddr v1.0.7/go.mod h1:FZQbEYa1pxkQ7WLpyXJ6cbjpT8q0YgQaK/JakXqGyWw= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= +github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= +github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= +github.com/hashicorp/memberlist v0.5.3 h1:tQ1jOCypD0WvMemw/ZhhtH+PWpzcftQvgCorLu0hndk= +github.com/hashicorp/memberlist v0.5.3/go.mod h1:h60o12SZn/ua/j0B6iKAZezA4eDaGsIuPO70eOaJ6WE= +github.com/hashicorp/nomad/api v0.0.0-20241218080744-e3ac00f30eec h1:+YBzb977VrmffaCX/OBm17dEVJUcWn5dW+eqs3aIJ/A= +github.com/hashicorp/nomad/api v0.0.0-20241218080744-e3ac00f30eec/go.mod h1:svtxn6QnrQ69P23VvIWMR34tg3vmwLz4UdUzm1dSCgE= +github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= +github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= +github.com/hetznercloud/hcloud-go/v2 v2.18.0 h1:BemrVGeWI8Kn/pvaC1jBsHZxQMnRqOydS7Ju4BERB4Q= +github.com/hetznercloud/hcloud-go/v2 v2.18.0/go.mod h1:r5RTzv+qi8IbLcDIskTzxkFIji7Ovc8yNgepQR9M+UA= +github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= +github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/ionos-cloud/sdk-go/v6 v6.3.2 h1:2mUmrZZz6cPyT9IRX0T8fBLc/7XU/eTxP2Y5tS7/09k= +github.com/ionos-cloud/sdk-go/v6 v6.3.2/go.mod h1:SXrO9OGyWjd2rZhAhEpdYN6VUAODzzqRdqA9BCviQtI= 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/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.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= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/keybase/go-keychain v0.0.1 h1:way+bWYa6lDppZoZcgMbYsvC7GxljxrskdNInRtuthU= github.com/keybase/go-keychain v0.0.1/go.mod h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k= 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/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= +github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= +github.com/knadh/koanf/providers/confmap v0.1.0 h1:gOkxhHkemwG4LezxxN8DMOFopOPghxRVp7JbIvdvqzU= +github.com/knadh/koanf/providers/confmap v0.1.0/go.mod h1:2uLhxQzJnyHKfxG927awZC7+fyHFdQkd697K4MdLnIU= +github.com/knadh/koanf/v2 v2.1.2 h1:I2rtLRqXRy1p01m/utEtpZSSA6dcJbgGVuE27kW2PzQ= +github.com/knadh/koanf/v2 v2.1.2/go.mod h1:Gphfaen0q1Fc1HTgJgSTC4oRX9R2R5ErYMZJy8fLJBo= +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.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -181,13 +436,50 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/linode/linodego v1.46.0 h1:+uOG4SD2MIrhbrLrvOD5HrbdLN3D19Wgn3MgdUNQjeU= +github.com/linode/linodego v1.46.0/go.mod h1:vyklQRzZUWhFVBZdYx4dcYJU/gG9yKB9VUcUs6ub0Lk= +github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= +github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +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.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mdlayher/socket v0.5.1 h1:VZaqt6RkGkt2OE9l3GcC6nZkqD3xKeQLyfleW/uBcos= +github.com/mdlayher/socket v0.5.1/go.mod h1:TjPLHI1UgwEv5J1B5q0zTZq12A/6H7nKmtTanQE37IQ= +github.com/mdlayher/vsock v1.2.1 h1:pC1mTJTvjo1r9n9fbm7S1j04rCgCzhCOS5DY0zqHlnQ= +github.com/mdlayher/vsock v1.2.1/go.mod h1:NRfCibel++DgeMD8z/hP+PPTjlNJsdPOmxcnENvE+SE= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.63 h1:8M5aAw6OMZfFXTT7K5V0Eu5YiiL8l7nUAkyN6C9YwaY= +github.com/miekg/dns v1.1.63/go.mod h1:6NGHfjhpmr5lt3XPLuyfDJi5AXbNIPM9PY6H6sF1Nfs= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4 h1:BpfhmLKZf+SjVanKKhCgf3bg+511DmU9eDQTen7LLbY= +github.com/mitchellh/mapstructure v1.5.1-0.20220423185008-bf980b35cac4/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= +github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mongodb-forks/digest v1.1.0 h1:7eUdsR1BtqLv0mdNm4OXs6ddWvR4X2/OsLwdKksrOoc= @@ -196,53 +488,155 @@ github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8 github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= 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/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/nsf/jsondiff v0.0.0-20230430225905-43f6cf3098c1 h1:dOYG7LS/WK00RWZc8XGgcUTlTxpp3mKhdR2Q9z9HbXM= github.com/nsf/jsondiff v0.0.0-20230430225905-43f6cf3098c1/go.mod h1:mpRZBD8SJ55OIICQ3iWH0Yz3cjzA61JdqMLoWXeB2+8= +github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo/v2 v2.23.4 h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus= github.com/onsi/ginkgo/v2 v2.23.4/go.mod h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8= github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y= github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.116.0 h1:Kxk5Ral+Dc6VB9UmTketVjs+rbMZP8JxQ4SXDx4RivQ= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics v0.116.0/go.mod h1:ctT6oQmGmWGGGgUIKyx2fDwqz77N9+04gqKkDyAzKCg= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.116.0 h1:RlEK9MbxWyBHbLel8EJ1L7DbYVLai9dZL6Ljl2cBgyA= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.116.0/go.mod h1:AVUEyIjPb+0ARr7mhIkZkdNg3fd0ZcRhzAi53oZhl1Q= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.116.0 h1:jwnZYRBuPJnsKXE5H6ZvTEm91bXW5VP8+tLewzl54eg= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.116.0/go.mod h1:NT3Ag+DdnIAZQfD7l7OHwlYqnaAJ19SoPZ0nhD9yx4s= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor v0.116.0 h1:ZBmLuipJv7BT9fho/2yAFsS8AtMsCOCe4ON8oqkX3n8= +github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor v0.116.0/go.mod h1:f0GdYWGxUunyRZ088gHnoX78pc/gZc3dQlRtidiGXzg= +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.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= +github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= +github.com/opentracing-contrib/go-grpc v0.1.1 h1:Ws7IN1zyiL1DFqKQPhRXuKe5pLYzMfdxnC1qtajE2PE= +github.com/opentracing-contrib/go-grpc v0.1.1/go.mod h1:Nu6sz+4zzgxXu8rvKfnwjBEmHsuhTigxRwV2RhELrS8= +github.com/opentracing-contrib/go-stdlib v1.1.0 h1:cZBWc4pA4e65tqTJddbflK435S0tDImj6c9BMvkdUH0= +github.com/opentracing-contrib/go-stdlib v1.1.0/go.mod h1:S0p+X9p6dcBkoMTL+Qq2VOvxKs9ys5PpYWXWqlCS0bQ= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b h1:FfH+VrHHk6Lxt9HdVS0PXzSXFyS2NbZKXv33FYPol0A= +github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b/go.mod h1:AC62GU6hc0BrNm+9RK9VSiwa/EUe1bkIeFORAMcHvJU= +github.com/ovh/go-ovh v1.6.0 h1:ixLOwxQdzYDx296sXcgS35TOPEahJkpjMGtzPadCjQI= +github.com/ovh/go-ovh v1.6.0/go.mod h1:cTVDnl94z4tl8pP1uZ/8jlVxntjSIf09bNcQ5TJSC7c= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU= +github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pires/go-proxyproto v0.7.0 h1:IukmRewDQFWC7kfnb66CSomk2q/seBuilHBYFwyq0Hs= +github.com/pires/go-proxyproto v0.7.0/go.mod h1:Vz/1JPY/OACxWGQNIRY2BeyDmpoaWmEP40O9LbuiFR4= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= +github.com/pkg/errors v0.8.0/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= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= +github.com/prometheus/alertmanager v0.28.1 h1:BK5pCoAtaKg01BYRUJhEDV1tqJMEtYBGzPw8QdvnnvA= +github.com/prometheus/alertmanager v0.28.1/go.mod h1:0StpPUDDHi1VXeM7p2yYfeZgLVi/PPlt39vo9LQUHxM= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= +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.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +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= github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= +github.com/prometheus/exporter-toolkit v0.13.2 h1:Z02fYtbqTMy2i/f+xZ+UK5jy/bl1Ex3ndzh06T/Q9DQ= +github.com/prometheus/exporter-toolkit v0.13.2/go.mod h1:tCqnfx21q6qN1KA4U3Bfb8uWzXfijIrJz3/kTIqMV7g= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= +github.com/prometheus/prometheus v0.302.1 h1:xqVdrwrB4WNpdgJqxsz5loqFWNUZitsK8myqLuSZ6Ag= +github.com/prometheus/prometheus v0.302.1/go.mod h1:YcyCoTbUR/TM8rY3Aoeqr0AWTu/pu1Ehh+trpX3eRzg= +github.com/prometheus/sigv4 v0.1.2 h1:R7570f8AoM5YnTUPFm3mjZH5q2k4D+I/phCWvZ4PXG8= +github.com/prometheus/sigv4 v0.1.2/go.mod h1:GF9fwrvLgkQwDdQ5BXeV9XUSCH/IPNqzvAoaohfjqMU= github.com/redis/go-redis/v9 v9.8.0 h1:q3nRvjrlge/6UD7eTu/DSg2uYiU2mCL0G/uzBWqhicI= github.com/redis/go-redis/v9 v9.8.0/go.mod h1:huWgSWd8mW6+m0VPhJjSSQ+d6Nh1VICQ6Q5lHuCH/Iw= +github.com/redis/rueidis v1.0.19 h1:s65oWtotzlIFN8eMPhyYwxlwLR1lUdhza2KtWprKYSo= +github.com/redis/rueidis v1.0.19/go.mod h1:8B+r5wdnjwK3lTFml5VtxjzGOQAC+5UmujoD12pDrEo= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30 h1:yoKAVkEVwAqbGbR8n87rHQ1dulL25rKloGadb3vm770= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30/go.mod h1:sH0u6fq6x4R5M7WxkoQFY/o7UaiItec0o1LinLCJNq8= +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/sercand/kuberesolver/v5 v5.1.1 h1:CYH+d67G0sGBj7q5wLK61yzqJJ8gLLC8aeprPTHb6yY= +github.com/sercand/kuberesolver/v5 v5.1.1/go.mod h1:Fs1KbKhVRnB2aDWN12NjKCB+RgYMWZJ294T3BtmVCpQ= github.com/sethvargo/go-password v0.3.1 h1:WqrLTjo7X6AcVYfC6R7GtSyuUQR9hGyAj/f1PYQZCJU= github.com/sethvargo/go-password v0.3.1/go.mod h1:rXofC1zT54N7R8K/h1WDUdkf9BOx5OptoxrMBcrXzvs= +github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= +github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +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/sony/gobreaker/v2 v2.1.0 h1:av2BnjtRmVPWBvy5gSFPytm1J8BmN5AGhq875FfGKDM= +github.com/sony/gobreaker/v2 v2.1.0/go.mod h1:dO3Q/nCzxZj6ICjH6J/gM0r4oAwBMVLY8YAQf+NTtUg= +github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= +github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= +github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= 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.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stvp/tempredis v0.0.0-20181119212430-b82af8480203 h1:QVqDTf3h2WHt08YuiTGPZLls0Wq99X9bWd0Q5ZSBesM= +github.com/stvp/tempredis v0.0.0-20181119212430-b82af8480203/go.mod h1:oqN97ltKNihBbwlX8dLpwxCl3+HnXKV/R0e+sRLd9C8= +github.com/tjhop/slog-gokit v0.1.4 h1:uj/vbDt3HaF0Py8bHPV4ti/s0utnO0miRbO277FLBKM= +github.com/tjhop/slog-gokit v0.1.4/go.mod h1:Bbu5v2748qpAWH7k6gse/kw3076IJf6owJmh7yArmJs= +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/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/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= @@ -256,6 +650,14 @@ github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfS github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M= +github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= +go.etcd.io/etcd/api/v3 v3.5.21 h1:A6O2/JDb3tvHhiIz3xf9nJ7REHvtEFJJ3veW3FbCnS8= +go.etcd.io/etcd/api/v3 v3.5.21/go.mod h1:c3aH5wcvXv/9dqIw2Y810LDXJfhSYdHQ0vxmP3CCHVY= +go.etcd.io/etcd/client/pkg/v3 v3.5.21 h1:lPBu71Y7osQmzlflM9OfeIV2JlmpBjqBNlLtcoBqUTc= +go.etcd.io/etcd/client/pkg/v3 v3.5.21/go.mod h1:BgqT/IXPjK9NkeSDjbzwsHySX3yIle2+ndz28nVsjUs= +go.etcd.io/etcd/client/v3 v3.5.21 h1:T6b1Ow6fNjOLOtM0xSoKNQt1ASPCLWrF9XMHcH9pEyY= +go.etcd.io/etcd/client/v3 v3.5.21/go.mod h1:mFYy67IOqmbRf/kRUvsHixzo3iG+1OF2W2+jVIQRAnU= go.mongodb.org/atlas v0.38.0 h1:zfwymq20GqivGwxPZfypfUDry+WwMGVui97z1d8V4bU= go.mongodb.org/atlas v0.38.0/go.mod h1:DJYtM+vsEpPEMSkQzJnFHrT0sP7ev6cseZc/GGjJYG8= go.mongodb.org/atlas-sdk/v20231115004 v20231115004.1.0 h1:vOvfk8bPedcphaTHIm6p8UB/ZPeVOqJZ7+MmTuI1eGs= @@ -268,8 +670,42 @@ go.mongodb.org/mongo-driver v1.17.3 h1:TQyXhnsWfWtgAhMtOgtYHMTkZIfBTpMTsMnd9ZBeH go.mongodb.org/mongo-driver v1.17.3/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/collector/component v0.118.0 h1:sSO/ObxJ+yH77Z4DmT1mlSuxhbgUmY1ztt7xCA1F/8w= +go.opentelemetry.io/collector/component v0.118.0/go.mod h1:LUJ3AL2b+tmFr3hZol3hzKzCMvNdqNq0M5CF3SWdv4M= +go.opentelemetry.io/collector/component/componentstatus v0.118.0 h1:1aCIdUjqz0noKNQr1v04P+lwF89Lkua5U7BhH9IAxkE= +go.opentelemetry.io/collector/component/componentstatus v0.118.0/go.mod h1:ynO1Nyj0t1h6x/djIMJy35bhnnWEc2mlQaFgDNUO504= +go.opentelemetry.io/collector/component/componenttest v0.118.0 h1:knEHckoiL2fEWSIc0iehg39zP4IXzi9sHa45O+oxKo8= +go.opentelemetry.io/collector/component/componenttest v0.118.0/go.mod h1:aHc7t7zVwCpbhrWIWY+GMuaMxMCUP8C8P7pJOt8r/vU= +go.opentelemetry.io/collector/config/configtelemetry v0.118.0 h1:UlN46EViG2X42odWtXgWaqY7Y01ZKpsnswSwXTWx5mM= +go.opentelemetry.io/collector/config/configtelemetry v0.118.0/go.mod h1:SlBEwQg0qly75rXZ6W1Ig8jN25KBVBkFIIAUI1GiAAE= +go.opentelemetry.io/collector/confmap v1.22.0 h1:ZKQzRuj5lKu+seKArAAZ1yPRroDPricaIVIREm/jr3w= +go.opentelemetry.io/collector/confmap v1.22.0/go.mod h1:Rrhs+MWoaP6AswZp+ReQ2VO9dfOfcUjdjiSHBsG+nec= +go.opentelemetry.io/collector/consumer v1.24.0 h1:7DeyBm9qdr1EPuCfPjWyChPK16DbVc0wZeSa9LZprFU= +go.opentelemetry.io/collector/consumer v1.24.0/go.mod h1:0G6jvZprIp4dpKMD1ZxCjriiP9GdFvFMObsQEtTk71s= +go.opentelemetry.io/collector/consumer/consumertest v0.118.0 h1:8AAS9ejQapP1zqt0+cI6u+AUBheT3X0171N9WtXWsVY= +go.opentelemetry.io/collector/consumer/consumertest v0.118.0/go.mod h1:spRM2wyGr4QZzqMHlLmZnqRCxqXN4Wd0piogC4Qb5PQ= +go.opentelemetry.io/collector/consumer/xconsumer v0.118.0 h1:guWnzzRqgCInjnYlOQ1BPrimppNGIVvnknAjlIbWXuY= +go.opentelemetry.io/collector/consumer/xconsumer v0.118.0/go.mod h1:C5V2d6Ys/Fi6k3tzjBmbdZ9v3J/rZSAMlhx4KVcMIIg= +go.opentelemetry.io/collector/pdata v1.28.1 h1:ORl5WLpQJvjzBVpHu12lqKMdcf/qDBwRXMcUubhybiQ= +go.opentelemetry.io/collector/pdata v1.28.1/go.mod h1:asKE8MD/4SOKz1mCrGdAz4VO2U2HUNg8A6094uK7pq0= +go.opentelemetry.io/collector/pdata/pprofile v0.118.0 h1:VK/fr65VFOwEhsSGRPj5c3lCv0yIK1Kt0sZxv9WZBb8= +go.opentelemetry.io/collector/pdata/pprofile v0.118.0/go.mod h1:eJyP/vBm179EghV3dPSnamGAWQwLyd+4z/3yG54YFoQ= +go.opentelemetry.io/collector/pdata/testdata v0.118.0 h1:5N0w1SX9KIRkwvtkrpzQgXy9eGk3vfNG0ds6mhEPMIM= +go.opentelemetry.io/collector/pdata/testdata v0.118.0/go.mod h1:UY+GHV5bOC1BnFburOZ0wiHReJj1XbW12mi2Ogbc5Lw= +go.opentelemetry.io/collector/pipeline v0.118.0 h1:RI1DMe7L0+5hGkx0EDGxG00TaJoh96MEQppgOlGx1Oc= +go.opentelemetry.io/collector/pipeline v0.118.0/go.mod h1:qE3DmoB05AW0C3lmPvdxZqd/H4po84NPzd5MrqgtL74= +go.opentelemetry.io/collector/processor v0.118.0 h1:NlqWiTTpPP+EPbrqTcNP9nh/4O4/9U9RGWVB49xo4ws= +go.opentelemetry.io/collector/processor v0.118.0/go.mod h1:Y8OD7wk51oPuBqrbn1qXIK91AbprRHP76hlvEzC24U4= +go.opentelemetry.io/collector/processor/processortest v0.118.0 h1:VfTLHuIaJWGyUmrvAOvf63gPMf1vAW68/jtJClEsKtU= +go.opentelemetry.io/collector/processor/processortest v0.118.0/go.mod h1:ZFWxsSoafGNOEk83FtGz43M5ypUzAOvGnfT0aQTDHdU= +go.opentelemetry.io/collector/processor/xprocessor v0.118.0 h1:M/EMhPRbadHLpv7g99fBjfgyuYexBZmgQqb2vjTXjvM= +go.opentelemetry.io/collector/processor/xprocessor v0.118.0/go.mod h1:lkoQoCv2Cz+C0kf2VHgBUDYWDecZLLeaHEvHDXbBCXU= +go.opentelemetry.io/collector/semconv v0.118.0 h1:V4vlMIK7TIaemrrn2VawvQPwruIKpj7Xgw9P5+BL56w= +go.opentelemetry.io/collector/semconv v0.118.0/go.mod h1:N6XE8Q0JKgBN2fAhkUQtqK9LT7rEGR6+Wu/Rtbal1iI= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.59.0 h1:iQZYNQ7WwIcYXzOPR46FQv9O0dS1PW16RjvR0TjDOe8= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.59.0/go.mod h1:54CaSNqYEXvpzDh8KPjiMVoWm60t5R0dZRt0leEPgAs= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ= go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= @@ -282,6 +718,8 @@ go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5J go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w= go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= +go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs= go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -290,7 +728,11 @@ 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/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +go4.org/netipx v0.0.0-20230125063823-8449b0a6169f h1:ketMxHg+vWm3yccyYiq+uK8D3fRmna2Fcj+awpQp84s= +go4.org/netipx v0.0.0-20230125063823-8449b0a6169f/go.mod h1:tgPU4N2u9RByaTN3NC2p9xOzyFpte4jYwsIIRF7XlSc= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/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-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-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -298,42 +740,80 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= -golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= -golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA= +golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= +golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/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-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= +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-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-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/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-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/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-20210927094055-39ccf1dd6fa6/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= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= @@ -346,6 +826,7 @@ golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= @@ -358,6 +839,7 @@ golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0= golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -373,24 +855,43 @@ gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= google.golang.org/api v0.236.0 h1:CAiEiDVtO4D/Qja2IA9VzlFrgPnK3XVMmRoJZlSWbc0= google.golang.org/api v0.236.0/go.mod h1:X1WF9CU2oTc+Jml1tiIxGmWFK/UZezdqEu09gcxZAj4= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 h1:1tXaIXCracvtsRxSBsYDiSBN0cuJvM7QYW+MrpIRY78= google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2/go.mod h1:49MsLSx0oWMOZqcpB3uL8ZOkAh1+TndpJ8ONoCBWiZk= google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a h1:SGktgSolFCo75dnHJF2yMvnns6jCmHFJ0vE4Vn2JKvQ= google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a/go.mod h1:a77HrdMjoeKbnd2jmgcWdaS++ZLZAEq3orIOAEIKiVw= google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE= google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8= google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/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-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= 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.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.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= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -412,8 +913,8 @@ k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4= k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8= -k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro= -k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJJI8IUa1AmH/qa0= +k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/controller-runtime v0.21.0 h1:CYfjpEuicjUecRk+KAeyYh+ouUBn4llGyDYytIGcJS8= sigs.k8s.io/controller-runtime v0.21.0/go.mod h1:OSg14+F65eWqIu4DceX7k/+QRAbTTvxeQSNSOQpukWM= sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8= diff --git a/test/e2e/e2e_suite_test.go b/test/e2e/e2e_suite_test.go index fe63e01ac0..b4f08c8b7e 100644 --- a/test/e2e/e2e_suite_test.go +++ b/test/e2e/e2e_suite_test.go @@ -27,6 +27,7 @@ import ( "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/e2e/api/atlas" "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/e2e/config" "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/e2e/utils" + akoginkgo "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/observability/ginkgo" ) const ( @@ -42,6 +43,7 @@ var ( func TestE2e(t *testing.T) { control.SkipTestUnless(t, "AKO_E2E_TEST") + akoginkgo.RegisterCallbacks() RegisterFailHandler(Fail) RunSpecs(t, "Atlas Operator E2E Test Suite") } diff --git a/test/helper/e2e/k8s/operator.go b/test/helper/e2e/k8s/operator.go index a40f10f48d..750e2b7dd9 100644 --- a/test/helper/e2e/k8s/operator.go +++ b/test/helper/e2e/k8s/operator.go @@ -24,7 +24,6 @@ import ( . "github.com/onsi/ginkgo/v2" "go.uber.org/zap" "go.uber.org/zap/zapcore" - "go.uber.org/zap/zaptest" "k8s.io/apimachinery/pkg/runtime" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/client-go/kubernetes/scheme" @@ -32,6 +31,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/cluster" + ctrlruntimezap "sigs.k8s.io/controller-runtime/pkg/log/zap" akov2 "github.com/mongodb/mongodb-atlas-kubernetes/v2/api/v1" "github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/collection" @@ -49,15 +49,21 @@ func BuildCluster(initCfg *Config) (cluster.Cluster, error) { utilruntime.Must(scheme.AddToScheme(akoScheme)) utilruntime.Must(akov2.AddToScheme(akoScheme)) - config := mergeConfiguration(initCfg) - logger := zaptest.NewLogger( - GinkgoT(), - zaptest.WrapOptions( - zap.ErrorOutput(zapcore.Lock(zapcore.AddSync(GinkgoWriter))), - ), + rawLogger := ctrlruntimezap.NewRaw( + ctrlruntimezap.WriteTo(GinkgoWriter), + func(options *ctrlruntimezap.Options) { + options.TimeEncoder = func(t time.Time, e zapcore.PrimitiveArrayEncoder) { + zapcore.TimeEncoderOfLayout(time.RFC3339)(t.UTC(), e) + } + }, ) - ctrl.SetLogger(zapr.NewLogger(logger)) - setupLog := logger.Named("setup").Sugar() + + logrLogger := zapr.NewLogger(rawLogger) + ctrl.SetLogger(logrLogger.WithName("ctrl")) + ctrl.SetLogger(logrLogger.WithName("klog")) + setupLog := rawLogger.Named("setup").Sugar() + + config := mergeConfiguration(initCfg) setupLog.Info("starting with configuration", zap.Any("config", *config)) // Ensure all concurrent managers configured per test share a single exit signal handler @@ -68,7 +74,7 @@ func BuildCluster(initCfg *Config) (cluster.Cluster, error) { return operator.NewBuilder(operator.ManagerProviderFunc(ctrl.NewManager), akoScheme, 5*time.Minute). WithConfig(ctrl.GetConfigOrDie()). WithNamespaces(collection.Keys(config.WatchedNamespaces)...). - WithLogger(logger). + WithLogger(rawLogger). WithMetricAddress(config.MetricsAddr). WithProbeAddress(config.ProbeAddr). WithLeaderElection(config.EnableLeaderElection). diff --git a/test/helper/observability/README.md b/test/helper/observability/README.md new file mode 100644 index 0000000000..8d9ac32ede --- /dev/null +++ b/test/helper/observability/README.md @@ -0,0 +1,90 @@ +# Developer Observability Stack + +Welcome to DOS, the Developer Observability Stack! This guide will help you set up and use the observability stack for monitoring and logging your local applications. + +### Prerequisites + +You need to have the following tools installed on your machine: +- kind +- docker +- kubectl + +### Building + +```bash +go build -o dos test/helper/observability/cmd/dos/main.go +``` + +### Installation +Run the following command to install the observability stack: +```bash +./dos install +``` + +Every executed command will be displayed in the terminal, so you can see what is happening under the hood.x +Once the installation is complete, you will see a message indicating that the observability stack has been successfully installed: +```shell +$ ./dos install +... +[kubectl -n loki rollout status --watch statefulset/loki] +Waiting for 1 pods to be ready... +partitioned roll out complete: 1 new pods have been updated... + +[kubectl -n promtail rollout status --watch deployment/promtail] +deployment "promtail" successfully rolled out + +[kubectl -n monitoring rollout status --watch deployment/kube-prometheus-kube-state-metrics] +deployment "kube-prometheus-kube-state-metrics" successfully rolled out + +[kubectl -n monitoring rollout status --watch statefulset/prometheus-kube-prometheus-kube-prome-prometheus] +statefulset rolling update complete 1 pods at revision prometheus-kube-prometheus-kube-prome-prometheus-7878868748... +``` + +**Note**: the initialisation of the loki statufulset may take a while, so please be patient. + +### Observing + +Run the following command to start observing your application: +```bash +./dos observe +``` + +Example: +```bash +./dos observe make run +``` + +**Note**: each line of the output will be prefixed with a timestamp, log level, logger name, and message unless it is already a JSON structure. + +### Loki + +1. Open http://localhost:30001/explore in your browser. +2. Use the user "admin" and password "prom-operator to log in. +3. Enter the following query to see logs from the MongoDB Atlas Operator: + +```loki +{job="ako"} | json | line_format "{{ .ts }} \033[1;37m{{ .level }}\033[0m \033[1;32m{{ .logger }}\033[0m {{ .msg }}" +``` +Or try this link directly in [Grafana (http://localhost:30001/...)](http://localhost:30001/explore?schemaVersion=1&panes=%7B%225c9%22:%7B%22datasource%22:%22loki%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%7Bjob%3D%5C%22ako%5C%22%7D%20%7C%20json%20%7C%20line_format%20%5C%22%7B%7B%20.ts%20%7D%7D%20%5C%5C033%5B1;37m%7B%7B%20.level%20%7D%7D%5C%5C033%5B0m%20%5C%5C033%5B1;32m%7B%7B%20.logger%20%7D%7D%5C%5C033%5B0m%20%7B%7B%20.msg%20%7D%7D%5C%22%22,%22queryType%22:%22range%22,%22datasource%22:%7B%22type%22:%22loki%22,%22uid%22:%22loki%22%7D,%22editorMode%22:%22code%22,%22direction%22:%22backward%22%7D%5D,%22range%22:%7B%22from%22:%22now-1h%22,%22to%22:%22now%22%7D%7D%7D&orgId=1) + +![loki.png](loki.png) + +### Prometheus + +Metrics are being scraped automatically from the docker/kind host (the developer) from the `:8080/metrics` endpoint. +Whatever is being started, this endpoint will be scraped an all metrics will have the label `job="ako"` attached. + +You can execute the following basic query to see all metrics scraped from the host: +```prometheus +{job="ako"} +``` + +Try this link directly in [Prometheus (http://localhost:30000/...)](http://localhost:30000/query?g0.expr=%7Bjob%3D%22ako%22%7D&g0.show_tree=0&g0.tab=table&g0.range_input=1h&g0.res_type=auto&g0.res_density=medium&g0.display_mode=lines&g0.show_exemplars=0) + +![prometheus.png](prometheus.png) + +or + +Try this link directly in [Grafana (http://localhost:30001/...)](http://localhost:30001/explore?schemaVersion=1&panes=%7B%226xc%22:%7B%22datasource%22:%22prometheus%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%7Bjob%3D%5C%22ako%5C%22%7D%22,%22range%22:true,%22datasource%22:%7B%22type%22:%22prometheus%22,%22uid%22:%22prometheus%22%7D,%22editorMode%22:%22code%22,%22legendFormat%22:%22__auto%22%7D%5D,%22range%22:%7B%22from%22:%22now-1h%22,%22to%22:%22now%22%7D%7D%7D&orgId=1) + +![grafana.png](grafana.png) \ No newline at end of file diff --git a/test/helper/observability/cmd/dos/main.go b/test/helper/observability/cmd/dos/main.go new file mode 100644 index 0000000000..20fe4efaaa --- /dev/null +++ b/test/helper/observability/cmd/dos/main.go @@ -0,0 +1,36 @@ +package main + +import ( + "fmt" + "os" + + "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/observability/install" + "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/observability/observe" + "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/observability/snapshot" +) + +func main() { + if len(os.Args) < 2 { + fmt.Fprintln(os.Stderr, `available commands: "install", "teardown", "snapshot", "install-snapshot", "observe"`) + os.Exit(1) + } + + var err error + switch os.Args[1] { + case "install": + err = install.Install(os.Stdout) + case "teardown": + err = install.Teardown(os.Stdout) + case "snapshot": + err = snapshot.Snapshot(os.Stdout) + case "install-snapshot": + err = install.InstallSnapshot(os.Stdout) + case "observe": + err = observe.Observe(os.Args[2:]...) + } + + if err != nil { + fmt.Fprintln(os.Stderr, err) + os.Exit(1) + } +} diff --git a/test/helper/observability/exec.go b/test/helper/observability/exec.go new file mode 100644 index 0000000000..6a4c89a57a --- /dev/null +++ b/test/helper/observability/exec.go @@ -0,0 +1,24 @@ +package observability + +import ( + "errors" + "fmt" + "io" + "os/exec" +) + +func ExecCommand(logger io.Writer, cmdArgs ...string) error { + fmt.Fprintln(logger, cmdArgs) + out, err := exec.Command(cmdArgs[0], cmdArgs[1:]...).Output() + fmt.Fprintln(logger, string(out)) + + var exitErr *exec.ExitError + if errors.As(err, &exitErr) { + logger.Write(exitErr.Stderr) + } + + if err != nil { + return fmt.Errorf("error executing command: %w", err) + } + return nil +} diff --git a/test/helper/observability/exec/test/gingo_test.go b/test/helper/observability/exec/test/gingo_test.go new file mode 100644 index 0000000000..b89ea5c95c --- /dev/null +++ b/test/helper/observability/exec/test/gingo_test.go @@ -0,0 +1,27 @@ +package test + +import ( + . "github.com/onsi/ginkgo/v2" +) + +var _ = Describe("Top-Level", func() { + Describe("Describe2", func() { + Context("Context2", func() { + It("It2.1", func() { + GinkgoWriter.Println("It2.1 GinkgoParallelProcess()", GinkgoParallelProcess()) + //time.Sleep(1 * time.Second) + GinkgoWriter.Println("It2.1 GinkgoParallelProcess()", GinkgoParallelProcess()) + }) + It("It2.2", func() { + GinkgoWriter.Println("It2.2 GinkgoParallelProcess()", GinkgoParallelProcess()) + //time.Sleep(1 * time.Second) + GinkgoWriter.Println("It2.2 GinkgoParallelProcess()", GinkgoParallelProcess()) + }) + It("It2.3", func() { + GinkgoWriter.Println("It2.3 GinkgoParallelProcess()", GinkgoParallelProcess()) + //time.Sleep(1 * time.Second) + GinkgoWriter.Println("It2.3 GinkgoParallelProcess()", GinkgoParallelProcess()) + }) + }) + }) +}) diff --git a/test/helper/observability/exec/test/some_test.go b/test/helper/observability/exec/test/some_test.go new file mode 100644 index 0000000000..b7ecc2d478 --- /dev/null +++ b/test/helper/observability/exec/test/some_test.go @@ -0,0 +1,16 @@ +package test + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + + "testing" + + akoginkgo "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/observability/ginkgo" +) + +func TestBooks(t *testing.T) { + akoginkgo.RegisterCallbacks() + RegisterFailHandler(Fail) + RunSpecs(t, "Books Suite") +} diff --git a/test/helper/observability/ginkgo/callbacks.go b/test/helper/observability/ginkgo/callbacks.go new file mode 100644 index 0000000000..533f8b08af --- /dev/null +++ b/test/helper/observability/ginkgo/callbacks.go @@ -0,0 +1,10 @@ +package ginkgo + +import ( + "github.com/onsi/ginkgo/v2" +) + +func RegisterCallbacks() { + ginkgo.ReportAfterSuite("Ginkgo Metrics", UpdateMetricsAfterSuite) + ginkgo.ReportAfterSuite("Duration Reporter", ReportDuration) +} diff --git a/test/helper/observability/ginkgo/duration.go b/test/helper/observability/ginkgo/duration.go new file mode 100644 index 0000000000..9015009f3c --- /dev/null +++ b/test/helper/observability/ginkgo/duration.go @@ -0,0 +1,66 @@ +package ginkgo + +import ( + "encoding/json" + "fmt" + "net/url" + "os" + "os/exec" + "path/filepath" + "strings" + "time" + + "github.com/onsi/ginkgo/v2" + ginkgotypes "github.com/onsi/ginkgo/v2/types" +) + +func ReportDuration(ctx ginkgo.SpecContext, report ginkgotypes.Report) { + durationReport := struct { + GrafanaURL string `json:"grafana_url"` + PrometheusURL string `json:"prometheus_url"` + }{} + + grafanaURL := &url.URL{ + Scheme: "http", + Host: "localhost:30001", + // take the uid from grafana-config.yaml's .data.ginkgo.json "uid" JSON field. + Path: "/d/12345678-1234-1234-1234-123456789000/ginkgo-status", + RawQuery: (&url.URL{ + Path: fmt.Sprintf( + "orgId=1&from=%v&to=%v", + report.StartTime.UnixMilli(), + report.EndTime.UnixMilli(), + ), + }).EscapedPath(), + } + + promURL := &url.URL{ + Scheme: "http", + Host: "localhost:30000", + Path: "/graph", + RawQuery: (&url.URL{ + Path: fmt.Sprintf( + "g0.expr=up&g0.tab=0&g0.display_mode=lines&g0.show_exemplars=0&g0.range_input=%v&g0.end_input=%v", + report.RunTime.Round(time.Second), + report.EndTime.UTC().Format("2006-01-02 15:04:05"), + ), + }).EscapedPath(), + } + + durationReport.PrometheusURL = promURL.String() + durationReport.GrafanaURL = grafanaURL.String() + + out, err := exec.Command("go", "list", "-m", "-f", `{{.Dir}}`).Output() + if err != nil { + ginkgo.GinkgoWriter.Printf("[ERROR] error executing command: %v\n", err) + return + } + + reportPath := filepath.Join(strings.TrimSpace(string(out)), "urls.json") + file, _ := os.OpenFile(reportPath, os.O_CREATE|os.O_RDWR|os.O_TRUNC, os.ModePerm) + defer file.Close() + encoder := json.NewEncoder(file) + encoder.SetIndent("", " ") + encoder.SetEscapeHTML(false) + encoder.Encode(durationReport) +} diff --git a/test/helper/observability/ginkgo/metrics.go b/test/helper/observability/ginkgo/metrics.go new file mode 100644 index 0000000000..df2328f807 --- /dev/null +++ b/test/helper/observability/ginkgo/metrics.go @@ -0,0 +1,156 @@ +package ginkgo + +import ( + "bytes" + "fmt" + "net/http" + "strconv" + "strings" + + "github.com/gogo/protobuf/proto" + "github.com/golang/snappy" + "github.com/onsi/ginkgo/v2" + "github.com/onsi/ginkgo/v2/types" + "github.com/prometheus/prometheus/prompb" +) + +func sendMetrics(report types.Report) error { + tss := make([]prompb.TimeSeries, 0, len(report.SpecReports)) + for _, r := range report.SpecReports { + start := r.StartTime.UnixMilli() + if start < 0 { + continue + } + + node := strings.Join(append(r.ContainerHierarchyTexts, r.LeafNodeText), " ") + if node == "" { + node = r.LeafNodeLocation.FileName + ":" + strconv.Itoa(r.LeafNodeLocation.LineNumber) + } + + if r.LeafNodeLocation.CustomMessage != "" { + node = node + " (" + r.LeafNodeLocation.CustomMessage + ")" + } + + typ := nodeType(r.LeafNodeType) + + ts := prompb.TimeSeries{ + Labels: []prompb.Label{ + {Name: "__name__", Value: "ginkgo_spec"}, + {Name: "node", Value: node}, + {Name: "type", Value: typ}, + {Name: "parallel_process", Value: strconv.Itoa(r.ParallelProcess)}, + }, + Samples: []prompb.Sample{ + {Value: float64(r.State), Timestamp: start}, + }, + } + + if r.EndTime.After(r.StartTime) { + ts.Samples = append(ts.Samples, prompb.Sample{ + Value: float64(0.0), Timestamp: r.EndTime.UnixMilli(), + }) + } + + tss = append(tss, ts) + } + + var suiteSucceeded float64 + if report.SuiteSucceeded { + suiteSucceeded = 1.0 + } + suite := prompb.TimeSeries{ + Labels: []prompb.Label{ + {Name: "__name__", Value: "ginkgo_suite"}, + {Name: "description", Value: report.SuiteDescription}, + {Name: "path", Value: report.SuitePath}, + {Name: "focus", Value: strings.Join(report.SuiteConfig.FocusStrings, ", ")}, + }, + Samples: []prompb.Sample{ + {Value: suiteSucceeded, Timestamp: report.StartTime.UnixMilli()}, + }, + } + if report.EndTime.After(report.StartTime) { + suite.Samples = append(suite.Samples, prompb.Sample{ + Value: float64(0.0), Timestamp: report.EndTime.UnixMilli(), + }) + } + tss = append(tss, suite) + + req := &prompb.WriteRequest{ + Timeseries: tss, + } + + data, err := proto.Marshal(req) + compressed := snappy.Encode(nil, data) + + httpReq, err := http.NewRequest("POST", "http://localhost:30000/api/v1/write", bytes.NewReader(compressed)) + httpReq.Header.Add("Content-Encoding", "snappy") + httpReq.Header.Set("Content-Type", "application/x-protobuf") + httpReq.Header.Set("X-Prometheus-Remote-Write-Version", "0.1.0") + httpResp, err := http.DefaultClient.Do(httpReq) + if err != nil { + return fmt.Errorf("error sending request: %w", err) + } + defer httpResp.Body.Close() + + if httpResp.StatusCode/100 != 2 { + err = fmt.Errorf("server returned HTTP status %s", httpResp.Status) + } + + return err +} + +func UpdateMetricsAfterSuite(ctx ginkgo.SpecContext, report types.Report) { + if err := sendMetrics(report); err != nil { + ginkgo.GinkgoWriter.Printf("[ERROR] error sending metrics: %v\n", err) + } +} + +func nodeType(leafNodeType types.NodeType) string { + var typ string + switch leafNodeType { + case types.NodeTypeInvalid: + typ = "NodeTypeInvalid" + case types.NodeTypeContainer: + typ = "NodeTypeContainer" + case types.NodeTypeIt: + typ = "NodeTypeIt" + case types.NodeTypeBeforeEach: + typ = "NodeTypeBeforeEach" + case types.NodeTypeJustBeforeEach: + typ = "NodeTypeJustBeforeEach" + case types.NodeTypeAfterEach: + typ = "NodeTypeAfterEach" + case types.NodeTypeJustAfterEach: + typ = "NodeTypeJustAfterEach" + case types.NodeTypeBeforeAll: + typ = "NodeTypeBeforeAll" + case types.NodeTypeAfterAll: + typ = "NodeTypeAfterAll" + case types.NodeTypeBeforeSuite: + typ = "NodeTypeBeforeSuite" + case types.NodeTypeSynchronizedBeforeSuite: + typ = "NodeTypeSynchronizedBeforeSuite" + case types.NodeTypeAfterSuite: + typ = "NodeTypeAfterSuite" + case types.NodeTypeSynchronizedAfterSuite: + typ = "NodeTypeSynchronizedAfterSuite" + case types.NodeTypeReportBeforeEach: + typ = "NodeTypeReportBeforeEach" + case types.NodeTypeReportAfterEach: + typ = "NodeTypeReportAfterEach" + case types.NodeTypeReportBeforeSuite: + typ = "NodeTypeReportBeforeSuite" + case types.NodeTypeReportAfterSuite: + typ = "NodeTypeReportAfterSuite" + case types.NodeTypeCleanupInvalid: + typ = "NodeTypeCleanupInvalid" + case types.NodeTypeCleanupAfterEach: + typ = "NodeTypeCleanupAfterEach" + case types.NodeTypeCleanupAfterAll: + typ = "NodeTypeCleanupAfterAll" + case types.NodeTypeCleanupAfterSuite: + typ = "NodeTypeCleanupAfterSuite" + } + return typ +} diff --git a/test/helper/observability/grafana.png b/test/helper/observability/grafana.png new file mode 100644 index 0000000000000000000000000000000000000000..2c6dc105ab3572b6c0d16948ac47cfe851d67563 GIT binary patch literal 241215 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

RAuTu=P2QQn-J4#K!-iNVe8%t$t7->4w& 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

e#zl>~(~qrT4aDH1MXW@B_mKa*2QYKBPIc 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

  • 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 F{|^iAWu^cC literal 0 HcmV?d00001 diff --git a/test/helper/observability/install/assets/grafana-config.yaml b/test/helper/observability/install/assets/grafana-config.yaml new file mode 100644 index 0000000000..bdf7a02e23 --- /dev/null +++ b/test/helper/observability/install/assets/grafana-config.yaml @@ -0,0 +1,527 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + grafana_datasource: "1" + name: grafana-datasource-loki + namespace: monitoring +data: + datasource.yaml: |- + apiVersion: 1 + datasources: + - name: Loki + type: loki + uid: loki + url: http://loki-gateway.loki.svc.cluster.local + jsonData: + maxLines: 5000 +--- +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + grafana_dashboard: "1" + name: grafana-dashboard-ginkgo + namespace: monitoring +data: + ginkgo.json: | + { + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": 1, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "fillOpacity": 70, + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": 120000, + "lineWidth": 0, + "spanNulls": false + }, + "mappings": [ + { + "options": { + "0": { + "color": "yellow", + "index": 0, + "text": "SpecStateInvalid" + }, + "1": { + "color": "#cecece", + "index": 1, + "text": "SpecStatePending" + }, + "8": { + "color": "green", + "index": 2, + "text": "SpecStatePassed" + }, + "16": { + "color": "red", + "index": 3, + "text": "SpecStateFailed" + }, + "32": { + "color": "red", + "index": 4, + "text": "SpecStateAborted" + } + }, + "type": "value" + } + ], + "max": -3, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "transparent", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 1, + "options": { + "alignValue": "center", + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": false + }, + "mergeValues": true, + "rowHeight": 0.8, + "showValue": "never", + "tooltip": { + "maxHeight": 600, + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "sum (ginkgo_spec{type=\"NodeTypeIt\"} != 4) by (node,type)", + "format": "table", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "Ginkgo Node", + "transformations": [ + { + "id": "groupingToMatrix", + "options": { + "columnField": "node", + "rowField": "Time", + "valueField": "Value" + } + }, + { + "id": "convertFieldType", + "options": { + "conversions": [ + { + "destinationType": "time", + "targetField": "Time\\node" + } + ], + "fields": {} + } + } + ], + "type": "state-timeline" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "continuous-GrYlRd" + }, + "custom": { + "fillOpacity": 70, + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": 120000, + "lineWidth": 0, + "spanNulls": false + }, + "mappings": [ + { + "options": { + "False": { + "color": "red", + "index": 0 + }, + "True": { + "color": "green", + "index": 1 + } + }, + "type": "value" + }, + { + "options": { + "match": "empty", + "result": { + "color": "transparent", + "index": 2 + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "yellow", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 2, + "options": { + "alignValue": "left", + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "mergeValues": true, + "rowHeight": 0.8, + "showValue": "always", + "tooltip": { + "maxHeight": 600, + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "label_join(\n sum (\n kube_customresource_atlasproject_status{type=\"Ready\"}\n ) by (\n kind, name, namespace, status,\n ),\n \"name_namespace\", \"/\", \"namespace\", \"name\"\n)", + "format": "table", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "AtlasProject Ready Status", + "transformations": [ + { + "id": "groupingToMatrix", + "options": { + "columnField": "name_namespace", + "rowField": "Time", + "valueField": "status" + } + }, + { + "id": "convertFieldType", + "options": { + "conversions": [ + { + "destinationType": "time", + "targetField": "Time\\name_namespace" + } + ], + "fields": {} + } + } + ], + "type": "state-timeline" + }, + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "fillOpacity": 70, + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": 60000, + "lineWidth": 0, + "spanNulls": false + }, + "mappings": [ + { + "options": { + "0": { + "color": "red", + "index": 0, + "text": "Ready=False" + }, + "1": { + "color": "green", + "index": 1, + "text": "Ready=True" + } + }, + "type": "value" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "transparent", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 24, + "x": 0, + "y": 6 + }, + "id": 3, + "options": { + "alignValue": "left", + "legend": { + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "mergeValues": true, + "rowHeight": 0.8, + "showValue": "never", + "tooltip": { + "maxHeight": 600, + "mode": "single", + "sort": "none" + } + }, + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "editorMode": "code", + "expr": "label_join(\n sum (\n kube_customresource_atlasdeployment_status{type=\"Ready\"}\n ) by (\n kind, name, namespace,\n ),\n \"name_namespace\", \"/\", \"namespace\", \"name\"\n)", + "format": "table", + "legendFormat": "__auto", + "range": true, + "refId": "A" + } + ], + "title": "AtlasDeployment Ready Status", + "transformations": [ + { + "id": "groupingToMatrix", + "options": { + "columnField": "name_namespace", + "emptyValue": "null", + "rowField": "Time", + "valueField": "Value" + } + }, + { + "id": "convertFieldType", + "options": { + "conversions": [ + { + "destinationType": "time", + "targetField": "Time\\name_namespace" + } + ], + "fields": {} + } + } + ], + "type": "state-timeline" + }, + { + "datasource": { + "type": "loki", + "uid": "loki" + }, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 10 + }, + "id": 4, + "options": { + "dedupStrategy": "none", + "enableLogDetails": true, + "prettifyLogMessage": false, + "showCommonLabels": false, + "showLabels": false, + "showTime": false, + "sortOrder": "Descending", + "wrapLogMessage": true + }, + "targets": [ + { + "datasource": { + "type": "loki", + "uid": "loki" + }, + "editorMode": "code", + "expr": "{job=\"ako\"} | json | atlasdeployment=~\"$atlasdeployment\" | logger=~\"$logger\" | level=~\"$level\" | line_format \"{{ .ts }} \\033[1;37m{{ .level }}\\033[0m \\033[1;32m{{ .logger }}\\033[0m {{ .msg }}\"", + "queryType": "range", + "refId": "A" + } + ], + "title": "Ginkgo Logs", + "type": "logs" + } + ], + "refresh": "5s", + "schemaVersion": 39, + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": "", + "value": "" + }, + "description": "", + "hide": 0, + "name": "logger", + "options": [ + { + "selected": true, + "text": "", + "value": "" + } + ], + "query": "", + "skipUrlSync": false, + "type": "textbox" + }, + { + "current": { + "selected": false, + "text": "", + "value": "" + }, + "hide": 0, + "name": "level", + "options": [ + { + "selected": true, + "text": "", + "value": "" + } + ], + "query": "", + "skipUrlSync": false, + "type": "textbox" + }, + { + "current": { + "selected": false, + "text": "", + "value": "" + }, + "hide": 0, + "name": "atlasdeployment", + "options": [ + { + "selected": true, + "text": "", + "value": "" + } + ], + "query": "", + "skipUrlSync": false, + "type": "textbox" + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timeRangeUpdatedDuringEditOrView": false, + "timepicker": {}, + "timezone": "", + "title": "ginkgo Status", + "uid": "12345678-1234-1234-1234-123456789000", + "version": 1, + "weekStart": "" + } diff --git a/test/helper/observability/install/assets/kind-config.yaml b/test/helper/observability/install/assets/kind-config.yaml new file mode 100644 index 0000000000..5118858052 --- /dev/null +++ b/test/helper/observability/install/assets/kind-config.yaml @@ -0,0 +1,20 @@ +kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +nodes: + - role: control-plane + extraPortMappings: + # prometheus + - containerPort: 30000 + hostPort: 30000 + listenAddress: "0.0.0.0" + protocol: tcp + # grafana + - containerPort: 30001 + hostPort: 30001 + listenAddress: "0.0.0.0" + protocol: tcp + # loki + - containerPort: 30002 + hostPort: 30002 + listenAddress: "0.0.0.0" + protocol: tcp diff --git a/test/helper/observability/install/assets/ksm-cluster-role-binding.yaml b/test/helper/observability/install/assets/ksm-cluster-role-binding.yaml new file mode 100644 index 0000000000..8ecd5070dd --- /dev/null +++ b/test/helper/observability/install/assets/ksm-cluster-role-binding.yaml @@ -0,0 +1,12 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: kube-state-metrics +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-admin +subjects: + - kind: ServiceAccount + name: kube-prometheus-kube-state-metrics + namespace: monitoring diff --git a/test/helper/observability/install/assets/ksm-config.yaml b/test/helper/observability/install/assets/ksm-config.yaml new file mode 100644 index 0000000000..229ab6bb51 --- /dev/null +++ b/test/helper/observability/install/assets/ksm-config.yaml @@ -0,0 +1,41 @@ +kind: CustomResourceStateMetrics +spec: + resources: + - groupVersionKind: + version: "*" + group: atlas.mongodb.com + kind: AtlasProject + labelsFromPath: + name: [metadata, name] + namespace: [metadata, namespace] + kind: [kind] + version: [version] + metrics: + - name: "atlasproject_status" + each: + type: Gauge + gauge: + path: [status, conditions] + labelsFromPath: + type: ["type"] + status: ["status"] + valueFrom: ["status"] + - groupVersionKind: + version: "*" + group: atlas.mongodb.com + kind: AtlasDeployment + labelsFromPath: + name: [metadata, name] + namespace: [metadata, namespace] + kind: [kind] + version: [version] + metrics: + - name: "atlasdeployment_status" + each: + type: Gauge + gauge: + path: [status, conditions] + labelsFromPath: + type: ["type"] + status: ["status"] + valueFrom: ["status"] diff --git a/test/helper/observability/install/assets/ksm-deployment.yaml b/test/helper/observability/install/assets/ksm-deployment.yaml new file mode 100644 index 0000000000..a19afb2ab0 --- /dev/null +++ b/test/helper/observability/install/assets/ksm-deployment.yaml @@ -0,0 +1,25 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: kube-prometheus-kube-state-metrics + namespace: monitoring +spec: + template: + spec: + containers: + - name: kube-state-metrics + args: + - --port=8080 + - --resources=certificatesigningrequests,configmaps,cronjobs,daemonsets,deployments,endpoints,horizontalpodautoscalers,ingresses,jobs,leases,limitranges,mutatingwebhookconfigurations,namespaces,networkpolicies,nodes,persistentvolumeclaims,persistentvolumes,poddisruptionbudgets,pods,replicasets,replicationcontrollers,resourcequotas,secrets,services,statefulsets,storageclasses,validatingwebhookconfigurations,volumeattachments + - --custom-resource-state-config-file=/etc/kube-state-metrics/ksm-config.yaml + volumeMounts: + - mountPath: /etc/kube-state-metrics + name: ako + volumes: + - name: ako + configMap: + defaultMode: 420 + items: + - key: ksm-config.yaml + path: ksm-config.yaml + name: kube-state-metrics-config diff --git a/test/helper/observability/install/assets/kube-prometheus-helm.yaml b/test/helper/observability/install/assets/kube-prometheus-helm.yaml new file mode 100644 index 0000000000..414f6067d9 --- /dev/null +++ b/test/helper/observability/install/assets/kube-prometheus-helm.yaml @@ -0,0 +1,8 @@ +alertmanager: + enabled: false + +kube-state-metrics: + rbac: + create: false + monitor: + interval: 2s diff --git a/test/helper/observability/install/assets/loki-helm.yaml b/test/helper/observability/install/assets/loki-helm.yaml new file mode 100644 index 0000000000..724bb43a00 --- /dev/null +++ b/test/helper/observability/install/assets/loki-helm.yaml @@ -0,0 +1,30 @@ +deploymentMode: SingleBinary +loki: + auth_enabled: false + commonConfig: + replication_factor: 1 + storage: + type: 'filesystem' + compactor: + retention_enabled: false + limits_config: + retention_period: 9999d + reject_old_samples: false + reject_old_samples_max_age: 9999d + schemaConfig: + configs: + - from: "2024-01-01" + store: tsdb + index: + prefix: loki_index_ + period: 24h + object_store: filesystem # we're storing on filesystem so there's no real persistence here. + schema: v13 +singleBinary: + replicas: 1 +read: + replicas: 0 +backend: + replicas: 0 +write: + replicas: 0 diff --git a/test/helper/observability/install/assets/loki-snapshot-file.yaml b/test/helper/observability/install/assets/loki-snapshot-file.yaml new file mode 100644 index 0000000000..63d2df2259 --- /dev/null +++ b/test/helper/observability/install/assets/loki-snapshot-file.yaml @@ -0,0 +1,27 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: loki + namespace: loki +spec: + template: + spec: + initContainers: + - command: + - sh + - -c + - tar xvzf /loki.tar.gz + image: busybox:1.28 + imagePullPolicy: IfNotPresent + name: init + workingDir: /var/loki + volumeMounts: + - mountPath: /var/loki + name: storage + - mountPath: /loki.tar.gz + name: snapshot-file + volumes: + - name: snapshot-file + hostPath: + path: /home/loki.tar.gz + type: File diff --git a/test/helper/observability/install/assets/loki-snapshot-url.yaml b/test/helper/observability/install/assets/loki-snapshot-url.yaml new file mode 100644 index 0000000000..57627bc853 --- /dev/null +++ b/test/helper/observability/install/assets/loki-snapshot-url.yaml @@ -0,0 +1,23 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: loki + namespace: loki +spec: + template: + spec: + initContainers: + - command: + - sh + - -c + - rm -rf *; wget -O - $(LOKI_SNAPSHOT_URL) | tar xvzf - + image: busybox:1.28 + imagePullPolicy: IfNotPresent + name: init + workingDir: /var/loki + volumeMounts: + - mountPath: /var/loki + name: storage + envFrom: + - configMapRef: + name: artifact-urls diff --git a/test/helper/observability/install/assets/nodeports.yaml b/test/helper/observability/install/assets/nodeports.yaml new file mode 100644 index 0000000000..2eba8dcf69 --- /dev/null +++ b/test/helper/observability/install/assets/nodeports.yaml @@ -0,0 +1,45 @@ +apiVersion: v1 +kind: Service +metadata: + name: prometheus-nodeport + namespace: monitoring +spec: + type: NodePort + ports: + - port: 9090 + nodePort: 30000 + name: http-web + targetPort: http-web + selector: + app.kubernetes.io/name: prometheus +--- +apiVersion: v1 +kind: Service +metadata: + name: grafana-nodeport + namespace: monitoring +spec: + type: NodePort + ports: + - port: 80 + nodePort: 30001 + name: http-web + targetPort: 3000 + selector: + app.kubernetes.io/name: grafana +--- +apiVersion: v1 +kind: Service +metadata: + name: loki-nodeport + namespace: loki +spec: + type: NodePort + ports: + - port: 80 + nodePort: 30002 + name: http-metrics + targetPort: http-metrics + selector: + app.kubernetes.io/component: gateway + app.kubernetes.io/name: loki diff --git a/test/helper/observability/install/assets/prometheus-host-scrape-config.yaml b/test/helper/observability/install/assets/prometheus-host-scrape-config.yaml new file mode 100644 index 0000000000..e447011433 --- /dev/null +++ b/test/helper/observability/install/assets/prometheus-host-scrape-config.yaml @@ -0,0 +1,3 @@ +- job_name: "ako" + static_configs: + - targets: ["host.docker.internal:8080"] diff --git a/test/helper/observability/install/assets/prometheus-snapshot-file.yaml b/test/helper/observability/install/assets/prometheus-snapshot-file.yaml new file mode 100644 index 0000000000..dc1ba8cdff --- /dev/null +++ b/test/helper/observability/install/assets/prometheus-snapshot-file.yaml @@ -0,0 +1,28 @@ +apiVersion: monitoring.coreos.com/v1 +kind: Prometheus +metadata: + name: kube-prometheus-kube-prome-prometheus + namespace: monitoring +spec: + retention: 9999d + initContainers: + - command: + - sh + - -c + - | + rm -rf *; \ + tar xvzf /prometheus.tar.gz + image: busybox:1.28 + imagePullPolicy: IfNotPresent + name: init-db + workingDir: /prometheus + volumeMounts: + - mountPath: /prometheus + name: prometheus-kube-prometheus-kube-prome-prometheus-db + - mountPath: /prometheus.tar.gz + name: snapshot-file + volumes: + - name: snapshot-file + hostPath: + path: /home/prometheus.tar.gz + type: File diff --git a/test/helper/observability/install/assets/prometheus-snapshot-url.yaml b/test/helper/observability/install/assets/prometheus-snapshot-url.yaml new file mode 100644 index 0000000000..571fadb835 --- /dev/null +++ b/test/helper/observability/install/assets/prometheus-snapshot-url.yaml @@ -0,0 +1,24 @@ +apiVersion: monitoring.coreos.com/v1 +kind: Prometheus +metadata: + name: kube-prometheus-kube-prome-prometheus + namespace: monitoring +spec: + retention: 9999d + initContainers: + - command: + - sh + - -c + - | + rm -rf *; \ + wget -O - $(PROMETHEUS_SNAPSHOT_URL) | tar xvzf - + image: busybox:1.28 + imagePullPolicy: IfNotPresent + name: init-db + workingDir: /prometheus + volumeMounts: + - mountPath: /prometheus + name: prometheus-kube-prometheus-kube-prome-prometheus-db + envFrom: + - configMapRef: + name: artifact-urls diff --git a/test/helper/observability/install/assets/prometheus.yaml b/test/helper/observability/install/assets/prometheus.yaml new file mode 100644 index 0000000000..6d9f64265f --- /dev/null +++ b/test/helper/observability/install/assets/prometheus.yaml @@ -0,0 +1,17 @@ +apiVersion: monitoring.coreos.com/v1 +kind: Prometheus +metadata: + name: kube-prometheus-kube-prome-prometheus + namespace: monitoring +spec: + replicas: 1 + evaluationInterval: 2s + scrapeInterval: 2s + enableRemoteWriteReceiver: true + enableAdminAPI: true + scrapeConfigSelector: + matchLabels: + prometheus: ako + additionalScrapeConfigs: + name: host-scrape-config + key: prometheus-host-scrape-config.yaml diff --git a/test/helper/observability/install/assets/promtail-helm.yaml b/test/helper/observability/install/assets/promtail-helm.yaml new file mode 100644 index 0000000000..632381246e --- /dev/null +++ b/test/helper/observability/install/assets/promtail-helm.yaml @@ -0,0 +1,6 @@ +deployment: + enabled: true + +config: + clients: + - url: http://loki-gateway.loki.svc.cluster.local/loki/api/v1/push diff --git a/test/helper/observability/install/install.go b/test/helper/observability/install/install.go new file mode 100644 index 0000000000..cb82130e66 --- /dev/null +++ b/test/helper/observability/install/install.go @@ -0,0 +1,232 @@ +package install + +import ( + "context" + "flag" + "fmt" + "io" + url "net/url" + "os" + "path/filepath" + "time" + + "k8s.io/apimachinery/pkg/util/wait" + clientgoretry "k8s.io/client-go/util/retry" + + "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/observability" +) + +var defaultBackOff = wait.Backoff{ + Duration: 2 * time.Second, + Factor: 1.0, + Steps: 30 * 5, +} + +func InstallSnapshot(logger io.Writer) error { + var ( + snapshotURL string + lokiSnapshotPath string + promSnapshotPath string + ) + + flag.StringVar(&snapshotURL, "snapshot-url", "", "The snapshot URL to download the snapshots from. If set, it has precedence over -loki-snapshot and -prom-snapshot.") + flag.StringVar(&lokiSnapshotPath, "loki-snapshot", "", "The path to the loki snapshot .tar.gz file to use. If set, -prom-snapshot must be provided.") + flag.StringVar(&promSnapshotPath, "prom-snapshot", "", "The path to the prometheus snapshot .tar.gz file to use. If set, -loki-snapshot must be provided.") + err := flag.CommandLine.Parse(os.Args[2:]) + if err != nil { + return fmt.Errorf("error parsing flags: %w", err) + } + + switch { + case snapshotURL != "": + u, err := url.Parse(snapshotURL) + if err != nil { + return fmt.Errorf("failed to parse snapshot url: %w", err) + } + snapshotURL = u.String() + case lokiSnapshotPath != "" && promSnapshotPath != "": + var err error + lokiSnapshotPath, err = filepath.Abs(lokiSnapshotPath) + if err != nil { + return fmt.Errorf("error getting absolute path for loki snapshot: %w", err) + } + promSnapshotPath, err = filepath.Abs(promSnapshotPath) + if err != nil { + return fmt.Errorf("error getting absolute path for prometheus snapshot: %w", err) + } + default: + return fmt.Errorf("either -snapshot-url or both -loki-snapshot and -prom-snapshot must be provided") + } + + assetsDir, err := Unpack() + if err != nil { + return fmt.Errorf("error unpacking assets: %w", err) + } + defer os.RemoveAll(assetsDir) + + crdDir := filepath.Join(assetsDir, "config", "crd") + assetsDir = filepath.Join(assetsDir, "test", "helper", "observability", "install", "assets") + for _, cmdArgs := range [][]string{ + {"kind", "create", "cluster", `--name=dos`, fmt.Sprintf(`--config=%v/kind-config.yaml`, assetsDir)}, + {"kubectl", "apply", "-k", crdDir}, + } { + if err := observability.ExecCommand(logger, cmdArgs...); err != nil { + return err + } + } + + for _, cmdArgs := range [][]string{ + {"helm", "repo", "add", "prometheus-community", "https://prometheus-community.github.io/helm-charts"}, + {"helm", "repo", "add", "grafana", "https://grafana.github.io/helm-charts"}, + {"helm", "repo", "update"}, + {"helm", "upgrade", "--values", fmt.Sprintf("%v/kube-prometheus-helm.yaml", assetsDir), "--install", "kube-prometheus", "prometheus-community/kube-prometheus-stack", "-n", "monitoring", "--create-namespace"}, + {"helm", "upgrade", "--values", fmt.Sprintf("%v/loki-helm.yaml", assetsDir), "--install", "loki", "grafana/loki", "-n", "loki", "--create-namespace"}, + {"kubectl", "apply", "-f", fmt.Sprintf("%v/nodeports.yaml", assetsDir)}, + {"kubectl", "apply", "-f", fmt.Sprintf("%v/grafana-config.yaml", assetsDir)}, + {"kubectl", "-n", "loki", "scale", "--replicas=0", "sts/loki"}, + } { + if err := observability.ExecCommand(logger, cmdArgs...); err != nil { + return err + } + } + + if snapshotURL != "" { + for _, cmdArgs := range [][]string{ + {"kubectl", "-n", "monitoring", "delete", "--ignore-not-found", "configmap", "artifact-urls"}, + {"kubectl", "-n", "monitoring", "create", "configmap", "artifact-urls", + fmt.Sprintf(`--from-literal=PROMETHEUS_SNAPSHOT_URL='%v/prometheus.tar.gz'`, snapshotURL), + }, + {"kubectl", "apply", "--server-side", "--force-conflicts", "-f", fmt.Sprintf("%v/prometheus-snapshot-url.yaml", assetsDir)}, + + {"kubectl", "-n", "loki", "delete", "--ignore-not-found", "configmap", "artifact-urls"}, + {"kubectl", "-n", "loki", "create", "configmap", "artifact-urls", + fmt.Sprintf(`--from-literal=LOKI_SNAPSHOT_URL='%v/loki.tar.gz'`, snapshotURL), + }, + {"kubectl", "apply", "--server-side", "--force-conflicts", "-f", fmt.Sprintf("%v/loki-snapshot-url.yaml", assetsDir)}, + } { + if err := observability.ExecCommand(logger, cmdArgs...); err != nil { + return err + } + } + } else { + for _, cmdArgs := range [][]string{ + {"docker", "cp", lokiSnapshotPath, "dos-control-plane:/home/loki.tar.gz"}, + {"kubectl", "apply", "--server-side", "--force-conflicts", "-f", fmt.Sprintf("%v/loki-snapshot-file.yaml", assetsDir)}, + + {"docker", "cp", promSnapshotPath, "dos-control-plane:/home/prometheus.tar.gz"}, + {"kubectl", "apply", "--server-side", "--force-conflicts", "-f", fmt.Sprintf("%v/prometheus-snapshot-file.yaml", assetsDir)}, + } { + if err := observability.ExecCommand(logger, cmdArgs...); err != nil { + return err + } + } + } + + for _, cmdArgs := range [][]string{ + {"kubectl", "-n", "loki", "scale", "--replicas=1", "sts/loki"}, + {"kubectl", "-n", "loki", "wait", "pods", "-l", `app.kubernetes.io/name=loki`, "--for", "condition=Ready", "--timeout=600s"}, + {"kubectl", "-n", "monitoring", "wait", "pods", "-l", `app.kubernetes.io/instance=kube-prometheus-kube-prome-prometheus`, "--for", "condition=Ready", "--timeout=600s"}, + // flush loki, as it was disconnected. + {"curl", "-XPOST", "-v", `http://localhost:30002/flush`}, + } { + if err := observability.ExecCommand(logger, cmdArgs...); err != nil { + return err + } + } + + return nil +} + +func Teardown(logger io.Writer) error { + if err := os.Chdir("test/helper/observability/install"); err != nil { + return fmt.Errorf("error changing directory: %w", err) + } + + for _, cmdArgs := range [][]string{ + {"kind", "delete", "cluster", `--name=dos`}, + } { + if err := observability.ExecCommand(logger, cmdArgs...); err != nil { + return err + } + } + return nil +} + +func Install(logger io.Writer) error { + assetsDir, err := Unpack() + if err != nil { + return fmt.Errorf("error unpacking assets: %w", err) + } + defer os.RemoveAll(assetsDir) + + crdDir := filepath.Join(assetsDir, "config", "crd") + assetsDir = filepath.Join(assetsDir, "test", "helper", "observability", "install", "assets") + + for _, cmdArgs := range [][]string{ + {"kind", "create", "cluster", `--name=dos`, fmt.Sprintf(`--config=%v/kind-config.yaml`, assetsDir)}, + {"kubectl", "apply", "-k", crdDir}, + } { + if err := observability.ExecCommand(logger, cmdArgs...); err != nil { + return err + } + } + + ctx := context.Background() + for _, cmdArgs := range [][]string{ + {"helm", "repo", "add", "prometheus-community", "https://prometheus-community.github.io/helm-charts"}, + {"helm", "repo", "add", "grafana", "https://grafana.github.io/helm-charts"}, + {"helm", "repo", "update"}, + {"helm", "upgrade", "--values", fmt.Sprintf("%v/kube-prometheus-helm.yaml", assetsDir), "--install", "kube-prometheus", "prometheus-community/kube-prometheus-stack", "-n", "monitoring", "--create-namespace"}, + {"helm", "upgrade", "--values", fmt.Sprintf("%v/loki-helm.yaml", assetsDir), "--install", "loki", "grafana/loki", "-n", "loki", "--create-namespace"}, + {"helm", "upgrade", "--values", fmt.Sprintf("%v/promtail-helm.yaml", assetsDir), "--install", "promtail", "grafana/promtail", "-n", "promtail", "--create-namespace"}, + {"kubectl", "apply", "-f", fmt.Sprintf("%v/nodeports.yaml", assetsDir)}, + {"kubectl", "apply", "-f", fmt.Sprintf("%v/grafana-config.yaml", assetsDir)}, + {"kubectl", "-n", "monitoring", "create", "secret", "generic", "host-scrape-config", fmt.Sprintf("--from-file=%v/prometheus-host-scrape-config.yaml", assetsDir)}, + {"kubectl", "apply", "--server-side", "--force-conflicts", "-f", fmt.Sprintf("%v/prometheus.yaml", assetsDir)}, + } { + if err := observability.ExecCommand(logger, cmdArgs...); err != nil { + return err + } + } + + err = retry(ctx, func() error { + return observability.ExecCommand(logger, "kubectl", "-n", "monitoring", "scale", "--replicas=0", "deployment/kube-prometheus-kube-state-metrics") + }) + if err != nil { + return fmt.Errorf("error executing command: %w", err) + } + + for _, cmdArgs := range [][]string{ + {"kubectl", "-n", "monitoring", "create", "configmap", "kube-state-metrics-config", fmt.Sprintf("--from-file=%v/ksm-config.yaml", assetsDir)}, + {"kubectl", "apply", "--server-side", `--field-manager="dos"`, "--force-conflicts", "-f", fmt.Sprintf("%v/ksm-deployment.yaml", assetsDir)}, + {"kubectl", "apply", "--server-side", "-f", fmt.Sprintf("%v/ksm-cluster-role-binding.yaml", assetsDir)}, + {"kubectl", "-n", "monitoring", "scale", "--replicas=1", "deployment/kube-prometheus-kube-state-metrics"}, + {"kubectl", "-n", "loki", "rollout", "status", "--watch", "statefulset/loki"}, + {"kubectl", "-n", "promtail", "rollout", "status", "--watch", "deployment/promtail"}, + {"kubectl", "-n", "monitoring", "rollout", "status", "--watch", "deployment/kube-prometheus-kube-state-metrics"}, + {"kubectl", "-n", "monitoring", "rollout", "status", "--watch", "statefulset/prometheus-kube-prometheus-kube-prome-prometheus"}, + } { + if err := observability.ExecCommand(logger, cmdArgs...); err != nil { + return err + } + } + return nil +} + +func retry(ctx context.Context, f func() error) error { + return clientgoretry.OnError( + defaultBackOff, func(err error) bool { return true }, + func() error { + select { + case <-ctx.Done(): + return ctx.Err() + default: + } + err := f() + if err != nil { + fmt.Println(err) + } + return err + }, + ) +} diff --git a/test/helper/observability/install/unpack.go b/test/helper/observability/install/unpack.go new file mode 100644 index 0000000000..70aab49e8f --- /dev/null +++ b/test/helper/observability/install/unpack.go @@ -0,0 +1,52 @@ +package install + +import ( + "fmt" + "io/fs" + "os" + "path/filepath" + + root "github.com/mongodb/mongodb-atlas-kubernetes/v2" +) + +// Unpack unpacks assets to a temporary directory and returns the path to that directory or an error if it fails. +// use `defer os.RemoveAll(...)` to clean up the temporary directory after use. +func Unpack() (string, error) { + tempDir, err := os.MkdirTemp("", "unpacked-*") + if err != nil { + return "", fmt.Errorf("failed to create temp dir: %w", err) + } + + err = fs.WalkDir(root.Assets, ".", func(path string, d fs.DirEntry, err error) error { + if err != nil { + return err + } + + targetPath := filepath.Join(tempDir, path) + + if d.IsDir() { + return os.MkdirAll(targetPath, 0755) + } + + // Read the file content + data, err := root.Assets.ReadFile(path) + if err != nil { + return fmt.Errorf("failed to read embedded file %s: %w", path, err) + } + + // Write to the temp directory + err = os.WriteFile(targetPath, data, 0644) + if err != nil { + return fmt.Errorf("failed to write file %s: %w", targetPath, err) + } + + return nil + }) + + if err != nil { + os.RemoveAll(tempDir) + return "", fmt.Errorf("failed to unpack files: %w", err) + } + + return tempDir, nil +} diff --git a/test/helper/observability/jsonwriter/jsonwriter.go b/test/helper/observability/jsonwriter/jsonwriter.go new file mode 100644 index 0000000000..bee38d6043 --- /dev/null +++ b/test/helper/observability/jsonwriter/jsonwriter.go @@ -0,0 +1,47 @@ +package jsonwriter + +import ( + "encoding/json" + "io" + "time" +) + +type JSONWriter struct { + delegate io.Writer + level string + logger string +} + +func NewJSONWriter(delegate io.Writer, level, logger string) *JSONWriter { + return &JSONWriter{ + delegate: delegate, + level: level, + logger: logger, + } +} + +func (j *JSONWriter) Write(b []byte) (int, error) { + var js json.RawMessage + if json.Unmarshal(b, &js) == nil { + return j.delegate.Write(b) + } + + entry := struct { + Msg string `json:"msg,omitempty"` + Time string `json:"time,omitempty"` + Level string `json:"level,omitempty"` + Logger string `json:"logger,omitempty"` + }{ + Time: time.Now().UTC().Format(time.RFC3339), + Level: j.level, + Msg: string(b), + Logger: j.logger, + } + + enc := json.NewEncoder(j.delegate) + if err := enc.Encode(&entry); err != nil { + return 0, err + } + + return len(b), nil +} diff --git a/test/helper/observability/loki.png b/test/helper/observability/loki.png new file mode 100644 index 0000000000000000000000000000000000000000..89bf99c11000a9c457135c99f4791b472f2381e1 GIT binary patch literal 195694 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%0AoxJw_XE*F&U|lMN|UW?D^ZnUW*7%zog?X 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 z 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

    f+5`f{J2K8O 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ͼS&3n-j({&m~VdgDE8!m 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.tar.gz`}, + {"sh", "-c", `kubectl exec -n loki -c loki loki-0 -- tar cvzf - -C /var/loki . >loki.tar.gz`}, + } { + if err := observability.ExecCommand(logger, cmdArgs...); err != nil { + return err + } + } + return nil +} diff --git a/test/int/integration_suite_test.go b/test/int/integration_suite_test.go index 90e4b93f45..84184c4c34 100644 --- a/test/int/integration_suite_test.go +++ b/test/int/integration_suite_test.go @@ -30,6 +30,7 @@ import ( "go.mongodb.org/atlas-sdk/v20231115008/admin" adminv20241113001 "go.mongodb.org/atlas-sdk/v20241113001/admin" "go.uber.org/zap" + "go.uber.org/zap/zapcore" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" utilruntime "k8s.io/apimachinery/pkg/util/runtime" @@ -44,6 +45,7 @@ import ( "github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/controller/atlas" "github.com/mongodb/mongodb-atlas-kubernetes/v2/internal/operator" "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/control" + akoginkgo "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/observability/ginkgo" ) // These tests use Ginkgo (BDD-style Go testing framework). Refer to @@ -81,6 +83,7 @@ func TestAPIs(t *testing.T) { utilruntime.Must(scheme.AddToScheme(scheme.Scheme)) utilruntime.Must(akov2.AddToScheme(scheme.Scheme)) + akoginkgo.RegisterCallbacks() RegisterFailHandler(Fail) RunSpecs(t, "Atlas Operator Namespaced Integration Test Suite") } @@ -189,8 +192,16 @@ func prepareControllers(deletionProtection bool) (*corev1.Namespace, context.Can Expect(namespace.Name).ToNot(BeEmpty()) GinkgoWriter.Printf("Generated namespace %q\n", namespace.Name) - logger := ctrzap.NewRaw(ctrzap.UseDevMode(true), ctrzap.WriteTo(GinkgoWriter), ctrzap.StacktraceLevel(zap.ErrorLevel)) - ctrl.SetLogger(zapr.NewLogger(logger)) + rawLogger := ctrzap.NewRaw( + ctrzap.WriteTo(GinkgoWriter), + func(options *ctrzap.Options) { + options.TimeEncoder = func(t time.Time, e zapcore.PrimitiveArrayEncoder) { + zapcore.TimeEncoderOfLayout(time.RFC3339)(t.UTC(), e) + } + }, + ) + + ctrl.SetLogger(zapr.NewLogger(rawLogger)) // shallow copy global config managerCfg := *cfg @@ -198,7 +209,7 @@ func prepareControllers(deletionProtection bool) (*corev1.Namespace, context.Can mgr, err := operator.NewBuilder(operator.ManagerProviderFunc(ctrl.NewManager), scheme.Scheme, 5*time.Minute). WithConfig(&managerCfg). WithNamespaces(namespace.Name). - WithLogger(logger). + WithLogger(rawLogger). WithAtlasDomain(atlasDomain). WithSyncPeriod(30 * time.Minute). WithAPISecret(client.ObjectKey{Name: "atlas-operator-api-key", Namespace: namespace.Name}). From fef42300161036fc9655753bc0c795899f326659 Mon Sep 17 00:00:00 2001 From: Sergiusz Urbaniak Date: Fri, 6 Jun 2025 07:24:00 +0200 Subject: [PATCH 2/8] add parca --- .../install/assets/grafana-config.yaml | 4 ++ .../install/assets/kind-config.yaml | 5 +++ .../install/assets/nodeports.yaml | 17 +++++++ .../install/assets/parca-config.yaml | 11 +++++ .../install/assets/parca-deployment.yaml | 21 +++++++++ .../install/assets/parca-helm.yaml | 7 +++ .../install/assets/parca-snapshot-file.yaml | 42 +++++++++++++++++ test/helper/observability/install/install.go | 32 ++++++++++--- .../helper/observability/snapshot/snapshot.go | 45 +++++++++++++++++++ 9 files changed, 179 insertions(+), 5 deletions(-) create mode 100644 test/helper/observability/install/assets/parca-config.yaml create mode 100644 test/helper/observability/install/assets/parca-deployment.yaml create mode 100644 test/helper/observability/install/assets/parca-helm.yaml create mode 100644 test/helper/observability/install/assets/parca-snapshot-file.yaml diff --git a/test/helper/observability/install/assets/grafana-config.yaml b/test/helper/observability/install/assets/grafana-config.yaml index bdf7a02e23..d52e98d1db 100644 --- a/test/helper/observability/install/assets/grafana-config.yaml +++ b/test/helper/observability/install/assets/grafana-config.yaml @@ -15,6 +15,10 @@ data: url: http://loki-gateway.loki.svc.cluster.local jsonData: maxLines: 5000 + - name: Parca + type: parca + uid: parca + url: http://parca.parca.svc.cluster.local:7070 --- apiVersion: v1 kind: ConfigMap diff --git a/test/helper/observability/install/assets/kind-config.yaml b/test/helper/observability/install/assets/kind-config.yaml index 5118858052..006e442603 100644 --- a/test/helper/observability/install/assets/kind-config.yaml +++ b/test/helper/observability/install/assets/kind-config.yaml @@ -18,3 +18,8 @@ nodes: hostPort: 30002 listenAddress: "0.0.0.0" protocol: tcp + # parca + - containerPort: 30003 + hostPort: 30003 + listenAddress: "0.0.0.0" + protocol: tcp diff --git a/test/helper/observability/install/assets/nodeports.yaml b/test/helper/observability/install/assets/nodeports.yaml index 2eba8dcf69..cb1b7459ca 100644 --- a/test/helper/observability/install/assets/nodeports.yaml +++ b/test/helper/observability/install/assets/nodeports.yaml @@ -43,3 +43,20 @@ spec: selector: app.kubernetes.io/component: gateway app.kubernetes.io/name: loki +--- +apiVersion: v1 +kind: Service +metadata: + name: parca-nodeport + namespace: parca +spec: + type: NodePort + ports: + - port: 7070 + nodePort: 30003 + name: http + targetPort: http + selector: + app.kubernetes.io/component: observability + app.kubernetes.io/instance: parca + app.kubernetes.io/name: parca diff --git a/test/helper/observability/install/assets/parca-config.yaml b/test/helper/observability/install/assets/parca-config.yaml new file mode 100644 index 0000000000..ba7e00a26d --- /dev/null +++ b/test/helper/observability/install/assets/parca-config.yaml @@ -0,0 +1,11 @@ +"object_storage": + "bucket": + "config": + "directory": "/var/lib/parca" + "type": "FILESYSTEM" + +scrape_configs: + - job_name: "ako" + scrape_interval: "1s" + static_configs: + - targets: [ 'host.docker.internal:7070' ] diff --git a/test/helper/observability/install/assets/parca-deployment.yaml b/test/helper/observability/install/assets/parca-deployment.yaml new file mode 100644 index 0000000000..f7abe8ad0e --- /dev/null +++ b/test/helper/observability/install/assets/parca-deployment.yaml @@ -0,0 +1,21 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: parca + namespace: parca +spec: + template: + spec: + containers: + - args: + - /parca + - --http-address=:7070 + - --config-path=/etc/parca/parca.yaml + - --log-level=info + - --cors-allowed-origins=* + - --debuginfod-upstream-servers=debuginfod.systemtap.org + - --debuginfod-http-request-timeout=5m + - --enable-persistence + - --storage-enable-wal + - --storage-path=/var/lib/parca + name: parca diff --git a/test/helper/observability/install/assets/parca-helm.yaml b/test/helper/observability/install/assets/parca-helm.yaml new file mode 100644 index 0000000000..b64a186de6 --- /dev/null +++ b/test/helper/observability/install/assets/parca-helm.yaml @@ -0,0 +1,7 @@ +server: + image: + tag: v0.23.1 + +agent: + image: + tag: v0.39.0 diff --git a/test/helper/observability/install/assets/parca-snapshot-file.yaml b/test/helper/observability/install/assets/parca-snapshot-file.yaml new file mode 100644 index 0000000000..3c49ff87a3 --- /dev/null +++ b/test/helper/observability/install/assets/parca-snapshot-file.yaml @@ -0,0 +1,42 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: parca + namespace: parca +spec: + template: + spec: + initContainers: + - command: + - sh + - -c + - | + rm -rf *; \ + tar xvzf /parca.tar.gz + image: busybox:1.28 + imagePullPolicy: IfNotPresent + name: init-db + workingDir: /var/lib/parca + volumeMounts: + - mountPath: /var/lib/parca + name: data + - mountPath: /parca.tar.gz + name: snapshot-file + volumes: + - name: snapshot-file + hostPath: + path: /home/parca.tar.gz + type: File + containers: + - args: + - /parca + - --http-address=:7070 + - --config-path=/etc/parca/parca.yaml + - --log-level=info + - --cors-allowed-origins=* + - --debuginfod-upstream-servers=debuginfod.systemtap.org + - --debuginfod-http-request-timeout=5m + - --enable-persistence + - --storage-enable-wal + - --storage-path=/var/lib/parca + name: parca diff --git a/test/helper/observability/install/install.go b/test/helper/observability/install/install.go index cb82130e66..13ffd1e455 100644 --- a/test/helper/observability/install/install.go +++ b/test/helper/observability/install/install.go @@ -24,14 +24,16 @@ var defaultBackOff = wait.Backoff{ func InstallSnapshot(logger io.Writer) error { var ( - snapshotURL string - lokiSnapshotPath string - promSnapshotPath string + snapshotURL string + lokiSnapshotPath string + promSnapshotPath string + parcaSnapshotPath string ) flag.StringVar(&snapshotURL, "snapshot-url", "", "The snapshot URL to download the snapshots from. If set, it has precedence over -loki-snapshot and -prom-snapshot.") - flag.StringVar(&lokiSnapshotPath, "loki-snapshot", "", "The path to the loki snapshot .tar.gz file to use. If set, -prom-snapshot must be provided.") - flag.StringVar(&promSnapshotPath, "prom-snapshot", "", "The path to the prometheus snapshot .tar.gz file to use. If set, -loki-snapshot must be provided.") + flag.StringVar(&lokiSnapshotPath, "loki-snapshot", "", "The path to the loki snapshot .tar.gz file to use. If set, -prom-snapshot and -parca-snapshot must be provided.") + flag.StringVar(&promSnapshotPath, "prom-snapshot", "", "The path to the prometheus snapshot .tar.gz file to use. If set, -loki-snapshot and -parca-snapshot must be provided.") + flag.StringVar(&parcaSnapshotPath, "parca-snapshot", "", "The path to the parca snapshot .tar.gz file to use. If set, -loki-snapshot and -prom-snapshot must be provided.") err := flag.CommandLine.Parse(os.Args[2:]) if err != nil { return fmt.Errorf("error parsing flags: %w", err) @@ -54,6 +56,10 @@ func InstallSnapshot(logger io.Writer) error { if err != nil { return fmt.Errorf("error getting absolute path for prometheus snapshot: %w", err) } + parcaSnapshotPath, err = filepath.Abs(parcaSnapshotPath) + if err != nil { + return fmt.Errorf("error getting absolute path for parca snapshot: %w", err) + } default: return fmt.Errorf("either -snapshot-url or both -loki-snapshot and -prom-snapshot must be provided") } @@ -76,6 +82,10 @@ func InstallSnapshot(logger io.Writer) error { } for _, cmdArgs := range [][]string{ + {"kubectl", "create", "ns", "parca"}, + {"kubectl", "apply", "--server-side", "-f", "https://github.com/parca-dev/parca/releases/download/v0.23.1/kubernetes-manifest.yaml"}, + {"kubectl", "apply", "--server-side", "-f", "https://github.com/parca-dev/parca-agent/releases/download/v0.39.0/kubernetes-manifest.yaml"}, + {"kubectl", "-n", "parca", "scale", "--replicas=0", "deployment/parca"}, {"helm", "repo", "add", "prometheus-community", "https://prometheus-community.github.io/helm-charts"}, {"helm", "repo", "add", "grafana", "https://grafana.github.io/helm-charts"}, {"helm", "repo", "update"}, @@ -115,6 +125,9 @@ func InstallSnapshot(logger io.Writer) error { {"docker", "cp", promSnapshotPath, "dos-control-plane:/home/prometheus.tar.gz"}, {"kubectl", "apply", "--server-side", "--force-conflicts", "-f", fmt.Sprintf("%v/prometheus-snapshot-file.yaml", assetsDir)}, + + {"docker", "cp", parcaSnapshotPath, "dos-control-plane:/home/parca.tar.gz"}, + {"kubectl", "-n", "parca", "patch", "deployment/parca", "--patch-file", fmt.Sprintf("%v/parca-snapshot-file.yaml", assetsDir)}, } { if err := observability.ExecCommand(logger, cmdArgs...); err != nil { return err @@ -123,6 +136,7 @@ func InstallSnapshot(logger io.Writer) error { } for _, cmdArgs := range [][]string{ + {"kubectl", "-n", "parca", "scale", "--replicas=1", "deployment/parca"}, {"kubectl", "-n", "loki", "scale", "--replicas=1", "sts/loki"}, {"kubectl", "-n", "loki", "wait", "pods", "-l", `app.kubernetes.io/name=loki`, "--for", "condition=Ready", "--timeout=600s"}, {"kubectl", "-n", "monitoring", "wait", "pods", "-l", `app.kubernetes.io/instance=kube-prometheus-kube-prome-prometheus`, "--for", "condition=Ready", "--timeout=600s"}, @@ -173,6 +187,14 @@ func Install(logger io.Writer) error { ctx := context.Background() for _, cmdArgs := range [][]string{ + {"kubectl", "create", "ns", "parca"}, + {"kubectl", "apply", "--server-side", "-f", "https://github.com/parca-dev/parca/releases/download/v0.23.1/kubernetes-manifest.yaml"}, + {"kubectl", "apply", "--server-side", "-f", "https://github.com/parca-dev/parca-agent/releases/download/v0.39.0/kubernetes-manifest.yaml"}, + {"kubectl", "-n", "parca", "scale", "--replicas=0", "deployment/parca"}, + {"kubectl", "-n", "parca", "delete", "configmap", "parca"}, + {"kubectl", "-n", "parca", "create", "configmap", "parca", fmt.Sprintf("--from-file=parca.yaml=%v/parca-config.yaml", assetsDir)}, + {"kubectl", "-n", "parca", "patch", "deployment/parca", "--patch-file", fmt.Sprintf("%v/parca-deployment.yaml", assetsDir)}, + {"kubectl", "-n", "parca", "scale", "--replicas=1", "deployment/parca"}, {"helm", "repo", "add", "prometheus-community", "https://prometheus-community.github.io/helm-charts"}, {"helm", "repo", "add", "grafana", "https://grafana.github.io/helm-charts"}, {"helm", "repo", "update"}, diff --git a/test/helper/observability/snapshot/snapshot.go b/test/helper/observability/snapshot/snapshot.go index ae579ebd8c..ce67828561 100644 --- a/test/helper/observability/snapshot/snapshot.go +++ b/test/helper/observability/snapshot/snapshot.go @@ -1,17 +1,62 @@ package snapshot import ( + "context" + "fmt" "io" + "net/url" + "os" + "strings" + "time" + corev1 "k8s.io/api/core/v1" + "sigs.k8s.io/controller-runtime/pkg/client" + + kubecli "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/e2e/k8s" "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/observability" ) func Snapshot(logger io.Writer) error { + kubeClient, err := kubecli.CreateNewClient() + if err != nil { + return fmt.Errorf("Failed to create client: %v", err) + } + + n := &corev1.Node{} + err = kubeClient.Get(context.Background(), client.ObjectKey{Name: "dos-control-plane"}, n) + if err != nil { + return fmt.Errorf("Failed to get dos-control-plane node: %v", err) + } + start := n.GetObjectMeta().GetCreationTimestamp() + now := time.Now() + + promLayout := "2006-01-02+15:04:05" + endString := strings.ReplaceAll(url.QueryEscape(now.UTC().Format(promLayout)), "%2B", "+") + durationString := fmt.Sprintf("%dm", int(now.Sub(start.Time).Minutes())) + promQuery := `http://localhost:30000/query?g0.expr=%7Bjob%3D%22ako%22%7D&g0.show_tree=0&g0.tab=graph&g0.end_input=` + endString + `&g0.range_input=` + durationString + `&g0.res_type=auto&g0.res_density=medium&g0.display_mode=lines&g0.show_exemplars=0` + parcaQuery := `http://localhost:30003/?step_count=113&query_browser_mode=advanced&expression_a=goroutine%3Agoroutine%3Acount%3Agoroutine%3Acount%7Bjob%3D%22ako%22%7D&time_selection_a=absolute:` + fmt.Sprintf("%d", start.UnixMilli()) + `-` + fmt.Sprintf("%d", now.UnixMilli()) + `&sum_by_a=__none__` + lokiQuery := `http://localhost:30001/explore?schemaVersion=1&panes=%7B%22ooz%22%3A%7B%22datasource%22%3A%22loki%22%2C%22queries%22%3A%5B%7B%22refId%22%3A%22A%22%2C%22expr%22%3A%22%7Bjob%3D%5C%22ako%5C%22%7D+%7C+json+%7C+line_format+%5C%22%7B%7B+.ts+%7D%7D+%5C%5C033%5B1%3B37m%7B%7B+.level+%7D%7D%5C%5C033%5B0m+%5C%5C033%5B1%3B32m%7B%7B+.logger+%7D%7D%5C%5C033%5B0m+%7B%7B+.msg+%7D%7D%5C%22%22%2C%22queryType%22%3A%22range%22%2C%22datasource%22%3A%7B%22type%22%3A%22loki%22%2C%22uid%22%3A%22loki%22%7D%2C%22editorMode%22%3A%22code%22%2C%22direction%22%3A%22backward%22%7D%5D%2C%22range%22%3A%7B%22from%22%3A%22` + fmt.Sprintf("%d", start.UnixMilli()) + `%22%2C%22to%22%3A%22` + fmt.Sprintf("%d", now.UnixMilli()) + `%22%7D%7D%7D&orgId=1` + + out := fmt.Sprintf(`Prometheus query: +%s + +Loki query: +%s + +Parca query: +%s +`, promQuery, lokiQuery, parcaQuery) + err = os.WriteFile("urls.txt", []byte(out), 0644) + if err != nil { + return fmt.Errorf("failed to write to file: %v", err) + } + for _, cmdArgs := range [][]string{ // tell prometheus to take snapshot so WAL is flushed {"curl", "-XPOST", "-v", `http://localhost:30000/api/v1/admin/tsdb/snapshot`}, {"sh", "-c", `kubectl exec -n monitoring prometheus-kube-prometheus-kube-prome-prometheus-0 -- tar cvzf - -C /prometheus . >prometheus.tar.gz`}, {"sh", "-c", `kubectl exec -n loki -c loki loki-0 -- tar cvzf - -C /var/loki . >loki.tar.gz`}, + {"sh", "-c", `kubectl exec -n parca deployment/parca -- tar cvzf - -C /var/lib/parca . >parca.tar.gz`}, } { if err := observability.ExecCommand(logger, cmdArgs...); err != nil { return err From 7b4a96a5783259f0904d48199bd149c0c3bb3979 Mon Sep 17 00:00:00 2001 From: Sergiusz Urbaniak Date: Fri, 6 Jun 2025 09:11:33 +0200 Subject: [PATCH 3/8] wire pprof endpoint --- cmd/main.go | 2 ++ internal/operator/builder.go | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/cmd/main.go b/cmd/main.go index db2807e25d..23263d232f 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -118,6 +118,7 @@ type Config struct { IndependentSyncPeriod int FeatureFlags *featureflags.FeatureFlags DryRun bool + PprofAddress string } // ParseConfiguration fills the 'OperatorConfig' from the flags passed to the program @@ -126,6 +127,7 @@ func parseConfiguration() Config { config := Config{} flag.StringVar(&config.AtlasDomain, "atlas-domain", operator.DefaultAtlasDomain, "the Atlas URL domain name (with slash in the end).") flag.StringVar(&config.MetricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.") + flag.StringVar(&config.PprofAddress, "pprof-bind-address", ":7070", "The address the pprof endpoint binds to.") flag.StringVar(&config.ProbeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.") flag.StringVar(&globalAPISecretName, "global-api-secret-name", "", "The name of the Secret that contains Atlas API keys. "+ "It is used by the Operator if AtlasProject configuration doesn't contain API key reference. Defaults to -api-key.") diff --git a/internal/operator/builder.go b/internal/operator/builder.go index e80a88ee2c..8e24798a98 100644 --- a/internal/operator/builder.go +++ b/internal/operator/builder.go @@ -89,6 +89,7 @@ type Builder struct { deletionProtection bool skipNameValidation bool dryRun bool + pprofBindAddress string } func (b *Builder) WithConfig(config *rest.Config) *Builder { @@ -116,6 +117,11 @@ func (b *Builder) WithMetricAddress(address string) *Builder { return b } +func (b *Builder) WithPprofBindAddress(address string) *Builder { + b.pprofBindAddress = address + return b +} + func (b *Builder) WithProbeAddress(address string) *Builder { b.probeAddress = address return b @@ -269,6 +275,7 @@ func (b *Builder) Build(ctx context.Context) (cluster.Cluster, error) { HealthProbeBindAddress: b.probeAddress, LeaderElection: b.leaderElection, LeaderElectionID: b.leaderElectionID, + PprofBindAddress: b.pprofBindAddress, }, ) From d6acca042e658f3e343601a620d8c7c4f2ee267e Mon Sep 17 00:00:00 2001 From: Sergiusz Urbaniak Date: Fri, 6 Jun 2025 11:52:18 +0200 Subject: [PATCH 4/8] make linter happy --- test/helper/observability/exec.go | 1 + test/helper/observability/ginkgo/duration.go | 1 + test/helper/observability/ginkgo/metrics.go | 6 ++++++ test/helper/observability/install/unpack.go | 2 ++ test/helper/observability/observe/observe.go | 1 + test/helper/observability/snapshot/snapshot.go | 7 ++++--- 6 files changed, 15 insertions(+), 3 deletions(-) diff --git a/test/helper/observability/exec.go b/test/helper/observability/exec.go index 6a4c89a57a..5b1b4ebd25 100644 --- a/test/helper/observability/exec.go +++ b/test/helper/observability/exec.go @@ -9,6 +9,7 @@ import ( func ExecCommand(logger io.Writer, cmdArgs ...string) error { fmt.Fprintln(logger, cmdArgs) + //nolint:gosec out, err := exec.Command(cmdArgs[0], cmdArgs[1:]...).Output() fmt.Fprintln(logger, string(out)) diff --git a/test/helper/observability/ginkgo/duration.go b/test/helper/observability/ginkgo/duration.go index 9015009f3c..c33d914a33 100644 --- a/test/helper/observability/ginkgo/duration.go +++ b/test/helper/observability/ginkgo/duration.go @@ -57,6 +57,7 @@ func ReportDuration(ctx ginkgo.SpecContext, report ginkgotypes.Report) { } reportPath := filepath.Join(strings.TrimSpace(string(out)), "urls.json") + //nolint:gosec file, _ := os.OpenFile(reportPath, os.O_CREATE|os.O_RDWR|os.O_TRUNC, os.ModePerm) defer file.Close() encoder := json.NewEncoder(file) diff --git a/test/helper/observability/ginkgo/metrics.go b/test/helper/observability/ginkgo/metrics.go index df2328f807..0846e8baa6 100644 --- a/test/helper/observability/ginkgo/metrics.go +++ b/test/helper/observability/ginkgo/metrics.go @@ -81,9 +81,15 @@ func sendMetrics(report types.Report) error { } data, err := proto.Marshal(req) + if err != nil { + return fmt.Errorf("error marshaling WriteRequest: %w", err) + } compressed := snappy.Encode(nil, data) httpReq, err := http.NewRequest("POST", "http://localhost:30000/api/v1/write", bytes.NewReader(compressed)) + if err != nil { + return fmt.Errorf("error creating http request: %w", err) + } httpReq.Header.Add("Content-Encoding", "snappy") httpReq.Header.Set("Content-Type", "application/x-protobuf") httpReq.Header.Set("X-Prometheus-Remote-Write-Version", "0.1.0") diff --git a/test/helper/observability/install/unpack.go b/test/helper/observability/install/unpack.go index 70aab49e8f..55035f0972 100644 --- a/test/helper/observability/install/unpack.go +++ b/test/helper/observability/install/unpack.go @@ -25,6 +25,7 @@ func Unpack() (string, error) { targetPath := filepath.Join(tempDir, path) if d.IsDir() { + //nolint:gosec return os.MkdirAll(targetPath, 0755) } @@ -35,6 +36,7 @@ func Unpack() (string, error) { } // Write to the temp directory + //nolint:gosec err = os.WriteFile(targetPath, data, 0644) if err != nil { return fmt.Errorf("failed to write file %s: %w", targetPath, err) diff --git a/test/helper/observability/observe/observe.go b/test/helper/observability/observe/observe.go index 815b6aef64..2a07f2db4d 100644 --- a/test/helper/observability/observe/observe.go +++ b/test/helper/observability/observe/observe.go @@ -33,6 +33,7 @@ func Observe(cmdArgs ...string) error { } func forwardTo(target io.Writer, cmdArgs ...string) error { + //nolint:gosec cmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) cmdStdout, err := cmd.StdoutPipe() diff --git a/test/helper/observability/snapshot/snapshot.go b/test/helper/observability/snapshot/snapshot.go index ce67828561..2dd314c20b 100644 --- a/test/helper/observability/snapshot/snapshot.go +++ b/test/helper/observability/snapshot/snapshot.go @@ -19,13 +19,13 @@ import ( func Snapshot(logger io.Writer) error { kubeClient, err := kubecli.CreateNewClient() if err != nil { - return fmt.Errorf("Failed to create client: %v", err) + return fmt.Errorf("Failed to create client: %w", err) } n := &corev1.Node{} err = kubeClient.Get(context.Background(), client.ObjectKey{Name: "dos-control-plane"}, n) if err != nil { - return fmt.Errorf("Failed to get dos-control-plane node: %v", err) + return fmt.Errorf("Failed to get dos-control-plane node: %w", err) } start := n.GetObjectMeta().GetCreationTimestamp() now := time.Now() @@ -46,9 +46,10 @@ Loki query: Parca query: %s `, promQuery, lokiQuery, parcaQuery) + //nolint:gosec err = os.WriteFile("urls.txt", []byte(out), 0644) if err != nil { - return fmt.Errorf("failed to write to file: %v", err) + return fmt.Errorf("failed to write to file: %w", err) } for _, cmdArgs := range [][]string{ From 80b4e3cdcdd04a0c03235a9fd9a3ec98294516e6 Mon Sep 17 00:00:00 2001 From: Roo Thorp Date: Mon, 9 Jun 2025 15:16:12 +0100 Subject: [PATCH 5/8] bind pprof address --- cmd/main.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cmd/main.go b/cmd/main.go index 23263d232f..5e2f6bdf80 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -84,6 +84,7 @@ func main() { WithLogger(logger). WithMetricAddress(config.MetricsAddr). WithProbeAddress(config.ProbeAddr). + WithPprofBindAddress(config.PprofAddress). WithLeaderElection(config.EnableLeaderElection). WithAtlasDomain(config.AtlasDomain). WithAPISecret(config.GlobalAPISecret). From 3f532de271dac54f694b124fceae50a2b32d1572 Mon Sep 17 00:00:00 2001 From: Roo Thorp Date: Mon, 9 Jun 2025 15:16:33 +0100 Subject: [PATCH 6/8] gitigore dos artifacts --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 8ee92ddddb..997b895a0a 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,7 @@ ako.pem # e2e artifacts *.tar.gz urls.json + +# DOS artifacts +dos +urls.txt From d02591741681f6abdd3dff1a3b859ba15ed8ec4b Mon Sep 17 00:00:00 2001 From: Roo Thorp Date: Thu, 12 Jun 2025 11:04:19 +0100 Subject: [PATCH 7/8] fix licenses --- .licenses-gomod.sha256 | 2 +- licenses.csv | 120 +++++++++++++++++++++++++++++++++++++---- 2 files changed, 112 insertions(+), 10 deletions(-) diff --git a/.licenses-gomod.sha256 b/.licenses-gomod.sha256 index d4b94024b5..b882027858 100644 --- a/.licenses-gomod.sha256 +++ b/.licenses-gomod.sha256 @@ -1 +1 @@ -100644 cc82b2933dc41b1ba0560cbc6b1709c13678dcf7 go.mod +100644 ab4107d3c86f6e3f05aea4afe80802e594572ac8 go.mod diff --git a/licenses.csv b/licenses.csv index b7df06cb60..eebbdf0165 100644 --- a/licenses.csv +++ b/licenses.csv @@ -7,6 +7,7 @@ cloud.google.com/go/compute/metadata,https://github.com/googleapis/google-cloud- cloud.google.com/go/iam,https://github.com/googleapis/google-cloud-go/blob/iam/v1.5.2/iam/LICENSE,Apache-2.0 cloud.google.com/go/kms,https://github.com/googleapis/google-cloud-go/blob/kms/v1.22.0/kms/LICENSE,Apache-2.0 cloud.google.com/go/longrunning,https://github.com/googleapis/google-cloud-go/blob/longrunning/v0.6.7/longrunning/LICENSE,Apache-2.0 +dario.cat/mergo,https://github.com/imdario/mergo/blob/v1.0.1/LICENSE,BSD-3-Clause github.com/Azure/azure-sdk-for-go,https://github.com/Azure/azure-sdk-for-go/blob/v68.0.0/LICENSE.txt,MIT github.com/Azure/azure-sdk-for-go/sdk/azcore,https://github.com/Azure/azure-sdk-for-go/blob/sdk/azcore/v1.18.0/sdk/azcore/LICENSE.txt,MIT github.com/Azure/azure-sdk-for-go/sdk/azidentity,https://github.com/Azure/azure-sdk-for-go/blob/sdk/azidentity/v1.10.0/sdk/azidentity/LICENSE.txt,MIT @@ -14,7 +15,7 @@ github.com/Azure/azure-sdk-for-go/sdk/internal,https://github.com/Azure/azure-sd github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault,https://github.com/Azure/azure-sdk-for-go/blob/sdk/resourcemanager/keyvault/armkeyvault/v1.5.0/sdk/resourcemanager/keyvault/armkeyvault/LICENSE.txt,MIT github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2,https://github.com/Azure/azure-sdk-for-go/blob/sdk/resourcemanager/network/armnetwork/v2.2.1/sdk/resourcemanager/network/armnetwork/LICENSE.txt,MIT github.com/Azure/go-autorest/autorest,https://github.com/Azure/go-autorest/blob/autorest/v0.11.30/autorest/LICENSE,Apache-2.0 -github.com/Azure/go-autorest/autorest/adal,https://github.com/Azure/go-autorest/blob/autorest/adal/v0.9.22/autorest/adal/LICENSE,Apache-2.0 +github.com/Azure/go-autorest/autorest/adal,https://github.com/Azure/go-autorest/blob/autorest/adal/v0.9.24/autorest/adal/LICENSE,Apache-2.0 github.com/Azure/go-autorest/autorest/azure/auth,https://github.com/Azure/go-autorest/blob/autorest/azure/auth/v0.5.13/autorest/azure/auth/LICENSE,Apache-2.0 github.com/Azure/go-autorest/autorest/azure/cli,https://github.com/Azure/go-autorest/blob/autorest/azure/cli/v0.4.6/autorest/azure/cli/LICENSE,Apache-2.0 github.com/Azure/go-autorest/autorest/date,https://github.com/Azure/go-autorest/blob/autorest/date/v0.3.0/autorest/date/LICENSE,Apache-2.0 @@ -23,31 +24,60 @@ github.com/Azure/go-autorest/autorest/validation,https://github.com/Azure/go-aut github.com/Azure/go-autorest/logger,https://github.com/Azure/go-autorest/blob/logger/v0.2.1/logger/LICENSE,Apache-2.0 github.com/Azure/go-autorest/tracing,https://github.com/Azure/go-autorest/blob/tracing/v0.6.0/tracing/LICENSE,Apache-2.0 github.com/AzureAD/microsoft-authentication-library-for-go/apps,https://github.com/AzureAD/microsoft-authentication-library-for-go/blob/v1.4.2/LICENSE,MIT +github.com/Masterminds/goutils,https://github.com/Masterminds/goutils/blob/v1.1.1/LICENSE.txt,Apache-2.0 github.com/Masterminds/semver,https://github.com/Masterminds/semver/blob/v1.5.0/LICENSE.txt,MIT +github.com/Masterminds/semver/v3,https://github.com/Masterminds/semver/blob/v3.3.1/LICENSE.txt,MIT +github.com/Masterminds/sprig/v3,https://github.com/Masterminds/sprig/blob/v3.3.0/LICENSE.txt,MIT +github.com/alecthomas/units,https://github.com/alecthomas/units/blob/0f3dac36c52b/COPYING,MIT github.com/antlr4-go/antlr/v4,https://github.com/antlr4-go/antlr/blob/v4.13.0/LICENSE,BSD-3-Clause +github.com/armon/go-metrics,https://github.com/armon/go-metrics/blob/v0.4.1/LICENSE,MIT +github.com/asaskevich/govalidator,https://github.com/asaskevich/govalidator/blob/a9d515a09cc2/LICENSE,MIT github.com/aws/aws-sdk-go,https://github.com/aws/aws-sdk-go/blob/v1.55.7/LICENSE.txt,Apache-2.0 github.com/aws/aws-sdk-go/internal/sync/singleflight,https://github.com/aws/aws-sdk-go/blob/v1.55.7/internal/sync/singleflight/LICENSE,BSD-3-Clause +github.com/bboreham/go-loser,https://github.com/bboreham/go-loser/blob/fcc2c21820a3/LICENSE,Apache-2.0 github.com/beorn7/perks/quantile,https://github.com/beorn7/perks/blob/v1.0.1/LICENSE,MIT github.com/blang/semver/v4,https://github.com/blang/semver/blob/v4.0.0/v4/LICENSE,MIT +github.com/c2h5oh/datasize,https://github.com/c2h5oh/datasize/blob/aa82cc1e6500/LICENSE,MIT github.com/cespare/xxhash/v2,https://github.com/cespare/xxhash/blob/v2.3.0/LICENSE.txt,MIT +github.com/coreos/go-semver/semver,https://github.com/coreos/go-semver/blob/v0.3.1/LICENSE,Apache-2.0 +github.com/coreos/go-systemd/v22,https://github.com/coreos/go-systemd/blob/v22.5.0/LICENSE,Apache-2.0 github.com/davecgh/go-spew/spew,https://github.com/davecgh/go-spew/blob/d8f796af33cc/LICENSE,ISC +github.com/dennwc/varint,https://github.com/dennwc/varint/blob/v1.0.0/LICENSE,MIT +github.com/dgryski/go-rendezvous,https://github.com/dgryski/go-rendezvous/blob/9f7001d12a5f/LICENSE,MIT github.com/dimchansky/utfbom,https://github.com/dimchansky/utfbom/blob/v1.1.1/LICENSE,Apache-2.0 +github.com/dustin/go-humanize,https://github.com/dustin/go-humanize/blob/v1.0.1/LICENSE,MIT +github.com/edsrzf/mmap-go,https://github.com/edsrzf/mmap-go/blob/v1.2.0/LICENSE,BSD-3-Clause github.com/emicklei/go-restful/v3,https://github.com/emicklei/go-restful/blob/v3.11.0/LICENSE,MIT github.com/evanphx/json-patch/v5,https://github.com/evanphx/json-patch/blob/v5.9.11/v5/LICENSE,BSD-3-Clause +github.com/facette/natsort,https://github.com/facette/natsort/blob/2cd4dd1e2dcb/LICENSE,BSD-3-Clause +github.com/fatih/color,https://github.com/fatih/color/blob/v1.18.0/LICENSE.md,MIT github.com/felixge/httpsnoop,https://github.com/felixge/httpsnoop/blob/v1.0.4/LICENSE.txt,MIT -github.com/fsnotify/fsnotify,https://github.com/fsnotify/fsnotify/blob/v1.7.0/LICENSE,BSD-3-Clause +github.com/fsnotify/fsnotify,https://github.com/fsnotify/fsnotify/blob/v1.8.0/LICENSE,BSD-3-Clause github.com/fxamacker/cbor/v2,https://github.com/fxamacker/cbor/blob/v2.7.0/LICENSE,MIT +github.com/go-kit/kit/log,https://github.com/go-kit/kit/blob/v0.12.0/LICENSE,MIT +github.com/go-kit/log,https://github.com/go-kit/log/blob/v0.2.1/LICENSE,MIT +github.com/go-logfmt/logfmt,https://github.com/go-logfmt/logfmt/blob/v0.6.0/LICENSE,MIT github.com/go-logr/logr,https://github.com/go-logr/logr/blob/v1.4.3/LICENSE,Apache-2.0 github.com/go-logr/stdr,https://github.com/go-logr/stdr/blob/v1.2.2/LICENSE,Apache-2.0 github.com/go-logr/zapr,https://github.com/go-logr/zapr/blob/v1.3.0/LICENSE,Apache-2.0 +github.com/go-openapi/analysis,https://github.com/go-openapi/analysis/blob/v0.23.0/LICENSE,Apache-2.0 +github.com/go-openapi/errors,https://github.com/go-openapi/errors/blob/v0.22.0/LICENSE,Apache-2.0 github.com/go-openapi/jsonpointer,https://github.com/go-openapi/jsonpointer/blob/v0.21.0/LICENSE,Apache-2.0 -github.com/go-openapi/jsonreference,https://github.com/go-openapi/jsonreference/blob/v0.20.2/LICENSE,Apache-2.0 +github.com/go-openapi/jsonreference,https://github.com/go-openapi/jsonreference/blob/v0.21.0/LICENSE,Apache-2.0 +github.com/go-openapi/loads,https://github.com/go-openapi/loads/blob/v0.22.0/LICENSE,Apache-2.0 +github.com/go-openapi/spec,https://github.com/go-openapi/spec/blob/v0.21.0/LICENSE,Apache-2.0 +github.com/go-openapi/strfmt,https://github.com/go-openapi/strfmt/blob/v0.23.0/LICENSE,Apache-2.0 github.com/go-openapi/swag,https://github.com/go-openapi/swag/blob/v0.23.0/LICENSE,Apache-2.0 +github.com/go-openapi/validate,https://github.com/go-openapi/validate/blob/v0.24.0/LICENSE,Apache-2.0 +github.com/go-redsync/redsync/v4,https://github.com/go-redsync/redsync/blob/v4.13.0/LICENSE,BSD-3-Clause github.com/go-test/deep,https://github.com/go-test/deep/blob/v1.1.1/LICENSE,MIT +github.com/gogo/googleapis/google/rpc,https://github.com/gogo/googleapis/blob/v1.4.1/LICENSE,Apache-2.0 github.com/gogo/protobuf,https://github.com/gogo/protobuf/blob/v1.3.2/LICENSE,BSD-3-Clause +github.com/gogo/status,https://github.com/gogo/status/blob/v1.1.1/LICENSE,Apache-2.0 github.com/golang-jwt/jwt/v4,https://github.com/golang-jwt/jwt/blob/v4.5.2/LICENSE,MIT github.com/golang-jwt/jwt/v5,https://github.com/golang-jwt/jwt/blob/v5.2.2/LICENSE,MIT -github.com/golang/snappy,https://github.com/golang/snappy/blob/v0.0.4/LICENSE,BSD-3-Clause +github.com/golang/protobuf,https://github.com/golang/protobuf/blob/v1.5.4/LICENSE,BSD-3-Clause +github.com/golang/snappy,https://github.com/golang/snappy/blob/v1.0.0/LICENSE,BSD-3-Clause github.com/google/btree,https://github.com/google/btree/blob/v1.1.3/LICENSE,Apache-2.0 github.com/google/cel-go,https://github.com/google/cel-go/blob/v0.23.2/LICENSE,Apache-2.0 github.com/google/gnostic-models,https://github.com/google/gnostic-models/blob/v0.6.9/LICENSE,Apache-2.0 @@ -58,58 +88,130 @@ github.com/google/s2a-go,https://github.com/google/s2a-go/blob/v0.1.9/LICENSE.md github.com/google/uuid,https://github.com/google/uuid/blob/v1.6.0/LICENSE,BSD-3-Clause github.com/googleapis/enterprise-certificate-proxy/client,https://github.com/googleapis/enterprise-certificate-proxy/blob/v0.3.6/LICENSE,Apache-2.0 github.com/googleapis/gax-go/v2,https://github.com/googleapis/gax-go/blob/v2.14.2/v2/LICENSE,BSD-3-Clause +github.com/gorilla/mux,https://github.com/gorilla/mux/blob/v1.8.1/LICENSE,BSD-3-Clause +github.com/grafana/dskit,https://github.com/grafana/dskit/blob/9cdd36a91f10/LICENSE,Apache-2.0 +github.com/grafana/gomemcache/memcache,https://github.com/grafana/gomemcache/blob/da7b95fd2ac1/LICENSE,Apache-2.0 +github.com/grafana/jsonparser,https://github.com/grafana/jsonparser/blob/023329977675/LICENSE,MIT +github.com/grafana/loki/pkg/push,https://github.com/grafana/loki/blob/758364c7775f/pkg/push/LICENSE,Apache-2.0 +github.com/grafana/loki/v3/clients/pkg/promtail,https://github.com/grafana/loki/blob/v3.5.1/clients/LICENSE_APACHE2,Apache-2.0 +github.com/grafana/loki/v3/pkg,https://github.com/grafana/loki/blob/v3.5.1/LICENSE,AGPL-3.0 +github.com/grafana/loki/v3/pkg/ingester/wal,https://github.com/grafana/loki/blob/v3.5.1/pkg/ingester/wal/LICENSE_APACHE2,Apache-2.0 +github.com/grafana/loki/v3/pkg/logproto,https://github.com/grafana/loki/blob/v3.5.1/pkg/logproto/LICENSE_APACHE2,Apache-2.0 +github.com/grafana/loki/v3/pkg/logqlmodel,https://github.com/grafana/loki/blob/v3.5.1/pkg/logqlmodel/LICENSE_APACHE2,Apache-2.0 +github.com/grafana/loki/v3/pkg/util,https://github.com/grafana/loki/blob/v3.5.1/pkg/util/LICENSE_APACHE2,Apache-2.0 +github.com/grafana/pyroscope-go/godeltaprof,https://github.com/grafana/pyroscope-go/blob/godeltaprof/v0.1.8/godeltaprof/LICENSE,Apache-2.0 +github.com/grafana/regexp,https://github.com/grafana/regexp/blob/a468a5bfb3bc/LICENSE,BSD-3-Clause +github.com/hashicorp/consul/api,https://github.com/hashicorp/consul/blob/api/v1.31.2/api/LICENSE,MPL-2.0 +github.com/hashicorp/errwrap,https://github.com/hashicorp/errwrap/blob/v1.1.0/LICENSE,MPL-2.0 +github.com/hashicorp/go-cleanhttp,https://github.com/hashicorp/go-cleanhttp/blob/v0.5.2/LICENSE,MPL-2.0 +github.com/hashicorp/go-hclog,https://github.com/hashicorp/go-hclog/blob/v1.6.3/LICENSE,MIT +github.com/hashicorp/go-immutable-radix,https://github.com/hashicorp/go-immutable-radix/blob/v1.3.1/LICENSE,MPL-2.0 +github.com/hashicorp/go-metrics/compat,https://github.com/hashicorp/go-metrics/blob/v0.5.4/LICENSE,MIT +github.com/hashicorp/go-msgpack/v2/codec,https://github.com/hashicorp/go-msgpack/blob/v2.1.1/LICENSE,MIT +github.com/hashicorp/go-multierror,https://github.com/hashicorp/go-multierror/blob/v1.1.1/LICENSE,MPL-2.0 +github.com/hashicorp/go-rootcerts,https://github.com/hashicorp/go-rootcerts/blob/v1.0.2/LICENSE,MPL-2.0 +github.com/hashicorp/go-sockaddr,https://github.com/hashicorp/go-sockaddr/blob/v1.0.7/LICENSE,MPL-2.0 +github.com/hashicorp/golang-lru/simplelru,https://github.com/hashicorp/golang-lru/blob/v1.0.2/LICENSE,MPL-2.0 +github.com/hashicorp/memberlist,https://github.com/hashicorp/memberlist/blob/v0.5.3/LICENSE,MPL-2.0 +github.com/hashicorp/serf/coordinate,https://github.com/hashicorp/serf/blob/v0.10.1/LICENSE,MPL-2.0 +github.com/huandu/xstrings,https://github.com/huandu/xstrings/blob/v1.5.0/LICENSE,MIT github.com/jmespath/go-jmespath,https://github.com/jmespath/go-jmespath/blob/v0.4.0/LICENSE,Apache-2.0 github.com/josharian/intern,https://github.com/josharian/intern/blob/v1.0.0/license.md,MIT +github.com/jpillora/backoff,https://github.com/jpillora/backoff/blob/v1.0.0/LICENSE,MIT github.com/json-iterator/go,https://github.com/json-iterator/go/blob/v1.1.12/LICENSE,MIT +github.com/julienschmidt/httprouter,https://github.com/julienschmidt/httprouter/blob/v1.3.0/LICENSE,BSD-3-Clause github.com/klauspost/compress,https://github.com/klauspost/compress/blob/v1.18.0/LICENSE,Apache-2.0 github.com/klauspost/compress/internal/snapref,https://github.com/klauspost/compress/blob/v1.18.0/internal/snapref/LICENSE,BSD-3-Clause github.com/klauspost/compress/zstd/internal/xxhash,https://github.com/klauspost/compress/blob/v1.18.0/zstd/internal/xxhash/LICENSE.txt,MIT github.com/kylelemons/godebug,https://github.com/kylelemons/godebug/blob/v1.1.0/LICENSE,Apache-2.0 -github.com/mailru/easyjson,https://github.com/mailru/easyjson/blob/v0.7.7/LICENSE,MIT +github.com/mailru/easyjson,https://github.com/mailru/easyjson/blob/v0.9.0/LICENSE,MIT +github.com/mattn/go-colorable,https://github.com/mattn/go-colorable/blob/v0.1.14/LICENSE,MIT +github.com/mattn/go-isatty,https://github.com/mattn/go-isatty/blob/v0.0.20/LICENSE,MIT +github.com/mdlayher/vsock,https://github.com/mdlayher/vsock/blob/v1.2.1/LICENSE.md,MIT +github.com/miekg/dns,https://github.com/miekg/dns/blob/v1.1.63/LICENSE,BSD-3-Clause +github.com/mitchellh/copystructure,https://github.com/mitchellh/copystructure/blob/v1.2.0/LICENSE,MIT github.com/mitchellh/go-homedir,https://github.com/mitchellh/go-homedir/blob/v1.1.0/LICENSE,MIT +github.com/mitchellh/mapstructure,https://github.com/mitchellh/mapstructure/blob/bf980b35cac4/LICENSE,MIT +github.com/mitchellh/reflectwalk,https://github.com/mitchellh/reflectwalk/blob/v1.0.2/LICENSE,MIT github.com/modern-go/concurrent,https://github.com/modern-go/concurrent/blob/bacd9c7ef1dd/LICENSE,Apache-2.0 github.com/modern-go/reflect2,https://github.com/modern-go/reflect2/blob/v1.0.2/LICENSE,Apache-2.0 github.com/mongodb-forks/digest,https://github.com/mongodb-forks/digest/blob/v1.1.0/COPYING,Apache-2.0 github.com/mongodb/mongodb-atlas-kubernetes/v2,https://github.com/mongodb/mongodb-atlas-kubernetes/blob/HEAD/LICENSE,Apache-2.0 github.com/montanaflynn/stats,https://github.com/montanaflynn/stats/blob/v0.7.1/LICENSE,MIT github.com/munnerz/goautoneg,https://github.com/munnerz/goautoneg/blob/a7dc8b61c822/LICENSE,BSD-3-Clause +github.com/mwitkow/go-conntrack,https://github.com/mwitkow/go-conntrack/blob/2f068394615f/LICENSE,Apache-2.0 github.com/nsf/jsondiff,https://github.com/nsf/jsondiff/blob/43f6cf3098c1/LICENSE,MIT +github.com/oklog/ulid,https://github.com/oklog/ulid/blob/v1.3.1/LICENSE,Apache-2.0 github.com/onsi/ginkgo/v2,https://github.com/onsi/ginkgo/blob/v2.23.4/LICENSE,MIT github.com/onsi/gomega,https://github.com/onsi/gomega/blob/v1.37.0/LICENSE,MIT +github.com/open-telemetry/opentelemetry-collector-contrib/internal/exp/metrics,https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/internal/exp/metrics/v0.116.0/internal/exp/metrics/LICENSE,Apache-2.0 +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil,https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/pkg/pdatautil/v0.116.0/pkg/pdatautil/LICENSE,Apache-2.0 +github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor,https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/processor/deltatocumulativeprocessor/v0.116.0/processor/deltatocumulativeprocessor/LICENSE,Apache-2.0 +github.com/opentracing-contrib/go-grpc,https://github.com/opentracing-contrib/go-grpc/blob/v0.1.1/LICENSE,Apache-2.0 +github.com/opentracing-contrib/go-stdlib/nethttp,https://github.com/opentracing-contrib/go-stdlib/blob/v1.1.0/LICENSE,Apache-2.0 +github.com/opentracing/opentracing-go,https://github.com/opentracing/opentracing-go/blob/10b1cf09e00b/LICENSE,Apache-2.0 +github.com/pires/go-proxyproto,https://github.com/pires/go-proxyproto/blob/v0.7.0/LICENSE,Apache-2.0 github.com/pkg/browser,https://github.com/pkg/browser/blob/5ac0b6a4141c/LICENSE,BSD-2-Clause github.com/pkg/errors,https://github.com/pkg/errors/blob/v0.9.1/LICENSE,BSD-2-Clause github.com/pmezard/go-difflib/difflib,https://github.com/pmezard/go-difflib/blob/5d4384ee4fb2/LICENSE,BSD-3-Clause +github.com/prometheus/alertmanager/api/v2/models,https://github.com/prometheus/alertmanager/blob/v0.28.1/LICENSE,Apache-2.0 github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil,https://github.com/prometheus/client_golang/blob/v1.22.0/internal/github.com/golang/gddo/LICENSE,BSD-3-Clause github.com/prometheus/client_golang/prometheus,https://github.com/prometheus/client_golang/blob/v1.22.0/LICENSE,Apache-2.0 github.com/prometheus/client_model/go,https://github.com/prometheus/client_model/blob/v0.6.1/LICENSE,Apache-2.0 github.com/prometheus/common,https://github.com/prometheus/common/blob/v0.62.0/LICENSE,Apache-2.0 +github.com/prometheus/exporter-toolkit/web,https://github.com/prometheus/exporter-toolkit/blob/v0.13.2/LICENSE,Apache-2.0 github.com/prometheus/procfs,https://github.com/prometheus/procfs/blob/v0.15.1/LICENSE,Apache-2.0 +github.com/prometheus/prometheus,https://github.com/prometheus/prometheus/blob/v0.302.1/LICENSE,Apache-2.0 +github.com/prometheus/sigv4,https://github.com/prometheus/sigv4/blob/v0.1.2/LICENSE,Apache-2.0 +github.com/redis/go-redis/v9,https://github.com/redis/go-redis/blob/v9.8.0/LICENSE,BSD-2-Clause +github.com/sean-/seed,https://github.com/sean-/seed/blob/e2103e2c3529/LICENSE,MIT +github.com/sercand/kuberesolver/v5,https://github.com/sercand/kuberesolver/blob/v5.1.1/LICENSE,Apache-2.0 github.com/sethvargo/go-password/password,https://github.com/sethvargo/go-password/blob/v0.3.1/LICENSE,MIT +github.com/shopspring/decimal,https://github.com/shopspring/decimal/blob/v1.4.0/LICENSE,MIT +github.com/sony/gobreaker/v2,https://github.com/sony/gobreaker/blob/v2.1.0/v2/LICENSE,MIT +github.com/spf13/cast,https://github.com/spf13/cast/blob/v1.7.1/LICENSE,MIT github.com/spf13/cobra,https://github.com/spf13/cobra/blob/v1.8.1/LICENSE.txt,Apache-2.0 -github.com/spf13/pflag,https://github.com/spf13/pflag/blob/v1.0.5/LICENSE,BSD-3-Clause +github.com/spf13/pflag,https://github.com/spf13/pflag/blob/v1.0.6/LICENSE,BSD-3-Clause github.com/stoewer/go-strcase,https://github.com/stoewer/go-strcase/blob/v1.3.0/LICENSE,MIT github.com/stretchr/objx,https://github.com/stretchr/objx/blob/v0.5.2/LICENSE,MIT github.com/stretchr/testify,https://github.com/stretchr/testify/blob/v1.10.0/LICENSE,MIT +github.com/tjhop/slog-gokit,https://github.com/tjhop/slog-gokit/blob/v0.1.4/LICENSE,Apache-2.0 +github.com/uber/jaeger-client-go,https://github.com/uber/jaeger-client-go/blob/v2.30.0/LICENSE,Apache-2.0 +github.com/uber/jaeger-lib/metrics,https://github.com/uber/jaeger-lib/blob/v2.4.1/LICENSE,Apache-2.0 github.com/x448/float16,https://github.com/x448/float16/blob/v0.8.4/LICENSE,MIT github.com/xdg-go/pbkdf2,https://github.com/xdg-go/pbkdf2/blob/v1.0.0/LICENSE,Apache-2.0 github.com/xdg-go/scram,https://github.com/xdg-go/scram/blob/v1.1.2/LICENSE,Apache-2.0 github.com/xdg-go/stringprep,https://github.com/xdg-go/stringprep/blob/v1.0.4/LICENSE,Apache-2.0 github.com/youmark/pkcs8,https://github.com/youmark/pkcs8/blob/a2c0da244d78/LICENSE,MIT +go.etcd.io/etcd/api/v3,https://github.com/etcd-io/etcd/blob/api/v3.5.21/api/LICENSE,Apache-2.0 +go.etcd.io/etcd/client/pkg/v3,https://github.com/etcd-io/etcd/blob/client/pkg/v3.5.21/client/pkg/LICENSE,Apache-2.0 +go.etcd.io/etcd/client/v3,https://github.com/etcd-io/etcd/blob/client/v3.5.21/client/v3/LICENSE,Apache-2.0 go.mongodb.org/atlas-sdk/v20231115004,https://github.com/mongodb/atlas-sdk-go/blob/v20231115004.1.0/LICENSE,Apache-2.0 go.mongodb.org/atlas-sdk/v20231115008,https://github.com/mongodb/atlas-sdk-go/blob/v20231115008.5.0/LICENSE,Apache-2.0 go.mongodb.org/atlas-sdk/v20241113001,https://github.com/mongodb/atlas-sdk-go/blob/v20241113001.0.0/LICENSE,Apache-2.0 go.mongodb.org/atlas/mongodbatlas,https://github.com/mongodb/go-client-mongodb-atlas/blob/v0.38.0/LICENSE,Apache-2.0 go.mongodb.org/mongo-driver,https://github.com/mongodb/mongo-go-driver/blob/v1.17.3/LICENSE,Apache-2.0 go.opentelemetry.io/auto/sdk,https://github.com/open-telemetry/opentelemetry-go-instrumentation/blob/sdk/v1.1.0/sdk/LICENSE,Apache-2.0 +go.opentelemetry.io/collector/component,https://github.com/open-telemetry/opentelemetry-collector/blob/component/v0.118.0/component/LICENSE,Apache-2.0 +go.opentelemetry.io/collector/config/configtelemetry,https://github.com/open-telemetry/opentelemetry-collector/blob/config/configtelemetry/v0.118.0/config/configtelemetry/LICENSE,Apache-2.0 +go.opentelemetry.io/collector/consumer,https://github.com/open-telemetry/opentelemetry-collector/blob/consumer/v1.24.0/consumer/LICENSE,Apache-2.0 +go.opentelemetry.io/collector/pdata,https://github.com/open-telemetry/opentelemetry-collector/blob/pdata/v1.28.1/pdata/LICENSE,Apache-2.0 +go.opentelemetry.io/collector/pipeline,https://github.com/open-telemetry/opentelemetry-collector/blob/pipeline/v0.118.0/pipeline/LICENSE,Apache-2.0 +go.opentelemetry.io/collector/processor,https://github.com/open-telemetry/opentelemetry-collector/blob/processor/v0.118.0/processor/LICENSE,Apache-2.0 +go.opentelemetry.io/collector/semconv/v1.6.1,https://github.com/open-telemetry/opentelemetry-collector/blob/semconv/v0.118.0/semconv/LICENSE,Apache-2.0 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc,https://github.com/open-telemetry/opentelemetry-go-contrib/blob/instrumentation/google.golang.org/grpc/otelgrpc/v0.60.0/instrumentation/google.golang.org/grpc/otelgrpc/LICENSE,Apache-2.0 +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace,https://github.com/open-telemetry/opentelemetry-go-contrib/blob/instrumentation/net/http/httptrace/otelhttptrace/v0.59.0/instrumentation/net/http/httptrace/otelhttptrace/LICENSE,Apache-2.0 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp,https://github.com/open-telemetry/opentelemetry-go-contrib/blob/instrumentation/net/http/otelhttp/v0.60.0/instrumentation/net/http/otelhttp/LICENSE,Apache-2.0 go.opentelemetry.io/otel,https://github.com/open-telemetry/opentelemetry-go/blob/v1.35.0/LICENSE,Apache-2.0 go.opentelemetry.io/otel/metric,https://github.com/open-telemetry/opentelemetry-go/blob/metric/v1.35.0/metric/LICENSE,Apache-2.0 go.opentelemetry.io/otel/trace,https://github.com/open-telemetry/opentelemetry-go/blob/trace/v1.35.0/trace/LICENSE,Apache-2.0 +go.uber.org/atomic,https://github.com/uber-go/atomic/blob/v1.11.0/LICENSE.txt,MIT +go.uber.org/goleak,https://github.com/uber-go/goleak/blob/v1.3.0/LICENSE,MIT go.uber.org/multierr,https://github.com/uber-go/multierr/blob/v1.11.0/LICENSE.txt,MIT go.uber.org/zap,https://github.com/uber-go/zap/blob/v1.27.0/LICENSE,MIT +go4.org/netipx,https://github.com/go4org/netipx/blob/8449b0a6169f/LICENSE,BSD-3-Clause golang.org/x/crypto,https://cs.opensource.google/go/x/crypto/+/v0.38.0:LICENSE,BSD-3-Clause -golang.org/x/exp,https://cs.opensource.google/go/x/exp/+/8a7402ab:LICENSE,BSD-3-Clause +golang.org/x/exp,https://cs.opensource.google/go/x/exp/+/7588d65b:LICENSE,BSD-3-Clause golang.org/x/net,https://cs.opensource.google/go/x/net/+/v0.40.0:LICENSE,BSD-3-Clause golang.org/x/oauth2,https://cs.opensource.google/go/x/oauth2/+/v0.30.0:LICENSE,BSD-3-Clause golang.org/x/sync,https://cs.opensource.google/go/x/sync/+/v0.14.0:LICENSE,BSD-3-Clause @@ -143,8 +245,8 @@ k8s.io/kube-openapi/pkg/internal/third_party/govalidator,https://github.com/kube k8s.io/kube-openapi/pkg/validation/errors,https://github.com/kubernetes/kube-openapi/blob/c8a335a9a2ff/pkg/validation/errors/LICENSE,Apache-2.0 k8s.io/kube-openapi/pkg/validation/spec,https://github.com/kubernetes/kube-openapi/blob/c8a335a9a2ff/pkg/validation/spec/LICENSE,Apache-2.0 k8s.io/kube-openapi/pkg/validation/strfmt,https://github.com/kubernetes/kube-openapi/blob/c8a335a9a2ff/pkg/validation/strfmt/LICENSE,Apache-2.0 -k8s.io/utils,https://github.com/kubernetes/utils/blob/3ea5e8cea738/LICENSE,Apache-2.0 -k8s.io/utils/internal/third_party/forked/golang,https://github.com/kubernetes/utils/blob/3ea5e8cea738/internal/third_party/forked/golang/LICENSE,BSD-3-Clause +k8s.io/utils,https://github.com/kubernetes/utils/blob/24370beab758/LICENSE,Apache-2.0 +k8s.io/utils/internal/third_party/forked/golang,https://github.com/kubernetes/utils/blob/24370beab758/internal/third_party/forked/golang/LICENSE,BSD-3-Clause sigs.k8s.io/controller-runtime,https://github.com/kubernetes-sigs/controller-runtime/blob/v0.21.0/LICENSE,Apache-2.0 sigs.k8s.io/json,https://github.com/kubernetes-sigs/json/blob/9aa6b5e7a4b3/LICENSE,Apache-2.0 sigs.k8s.io/randfill,https://github.com/kubernetes-sigs/randfill/blob/v1.0.0/LICENSE,Apache-2.0 From 7f017f40267dec18af9242e898fefa3661727a7b Mon Sep 17 00:00:00 2001 From: Roo Thorp Date: Thu, 12 Jun 2025 14:03:55 +0100 Subject: [PATCH 8/8] add add licenses --- Makefile | 10 ++++ assets.go | 14 ++++++ devbox.json | 3 +- devbox.lock | 48 +++++++++++++++++++ test/helper/observability/cmd/dos/main.go | 14 ++++++ test/helper/observability/exec.go | 14 ++++++ .../observability/exec/test/gingo_test.go | 14 ++++++ .../observability/exec/test/some_test.go | 14 ++++++ test/helper/observability/ginkgo/callbacks.go | 14 ++++++ test/helper/observability/ginkgo/duration.go | 14 ++++++ test/helper/observability/ginkgo/metrics.go | 17 ++++++- test/helper/observability/install/install.go | 14 ++++++ test/helper/observability/install/unpack.go | 14 ++++++ .../observability/jsonwriter/jsonwriter.go | 14 ++++++ .../loki_reporter/loki_reporter.go | 14 ++++++ test/helper/observability/observe/observe.go | 14 ++++++ .../helper/observability/snapshot/snapshot.go | 14 ++++++ 17 files changed, 258 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 61cd88aa06..a060265c5f 100644 --- a/Makefile +++ b/Makefile @@ -630,3 +630,13 @@ install-ako-helm: --set subobjectDeletionProtection=false \ --namespace=$(HELM_AKO_NAMESPACE) --create-namespace kubectl get crds + +.PHONY: license-headers +license-headers: + addlicense \ + -l apache \ + -c "MongoDB Inc" \ + -ignore "**/*.md" \ + -ignore "**/*.yaml" \ + -ignore "**/*.yml" \ + -ignore "**/*Dockerfile" . diff --git a/assets.go b/assets.go index a03d082212..40cf753d97 100644 --- a/assets.go +++ b/assets.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package root import "embed" diff --git a/devbox.json b/devbox.json index 3e753df75e..4acd68ba68 100644 --- a/devbox.json +++ b/devbox.json @@ -25,6 +25,7 @@ "awscli2@latest", "go-mockery@latest", "docker-sbom@latest", - "openshift@latest" + "openshift@latest", + "addlicense@latest" ] } diff --git a/devbox.lock b/devbox.lock index 28692a7c52..c5cb4a4052 100644 --- a/devbox.lock +++ b/devbox.lock @@ -49,6 +49,54 @@ } } }, + "addlicense@latest": { + "last_modified": "2025-05-16T20:19:48Z", + "resolved": "github:NixOS/nixpkgs/12a55407652e04dcf2309436eb06fef0d3713ef3#addlicense", + "source": "devbox-search", + "version": "1.1.1", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/866yzzrrgksaa052vbpxfrqkqsgw0khf-addlicense-1.1.1", + "default": true + } + ], + "store_path": "/nix/store/866yzzrrgksaa052vbpxfrqkqsgw0khf-addlicense-1.1.1" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/lg4psq4bzdnl7jv4jhm7r20d5b0m3rks-addlicense-1.1.1", + "default": true + } + ], + "store_path": "/nix/store/lg4psq4bzdnl7jv4jhm7r20d5b0m3rks-addlicense-1.1.1" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/zaqc4vhc8n9n09pyqxpx18hh1qxli5i6-addlicense-1.1.1", + "default": true + } + ], + "store_path": "/nix/store/zaqc4vhc8n9n09pyqxpx18hh1qxli5i6-addlicense-1.1.1" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/jxxsajb6qsk39jgrgn64mam4ir7nr66g-addlicense-1.1.1", + "default": true + } + ], + "store_path": "/nix/store/jxxsajb6qsk39jgrgn64mam4ir7nr66g-addlicense-1.1.1" + } + } + }, "awscli2@latest": { "last_modified": "2025-05-19T23:16:24Z", "resolved": "github:NixOS/nixpkgs/359c442b7d1f6229c1dc978116d32d6c07fe8440#awscli2", diff --git a/test/helper/observability/cmd/dos/main.go b/test/helper/observability/cmd/dos/main.go index 20fe4efaaa..5ab41aa86a 100644 --- a/test/helper/observability/cmd/dos/main.go +++ b/test/helper/observability/cmd/dos/main.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package main import ( diff --git a/test/helper/observability/exec.go b/test/helper/observability/exec.go index 5b1b4ebd25..e450c03dce 100644 --- a/test/helper/observability/exec.go +++ b/test/helper/observability/exec.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package observability import ( diff --git a/test/helper/observability/exec/test/gingo_test.go b/test/helper/observability/exec/test/gingo_test.go index b89ea5c95c..e693d82d21 100644 --- a/test/helper/observability/exec/test/gingo_test.go +++ b/test/helper/observability/exec/test/gingo_test.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package test import ( diff --git a/test/helper/observability/exec/test/some_test.go b/test/helper/observability/exec/test/some_test.go index b7ecc2d478..943f37b3a5 100644 --- a/test/helper/observability/exec/test/some_test.go +++ b/test/helper/observability/exec/test/some_test.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package test import ( diff --git a/test/helper/observability/ginkgo/callbacks.go b/test/helper/observability/ginkgo/callbacks.go index 533f8b08af..fbeafabe35 100644 --- a/test/helper/observability/ginkgo/callbacks.go +++ b/test/helper/observability/ginkgo/callbacks.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package ginkgo import ( diff --git a/test/helper/observability/ginkgo/duration.go b/test/helper/observability/ginkgo/duration.go index c33d914a33..104bdc640e 100644 --- a/test/helper/observability/ginkgo/duration.go +++ b/test/helper/observability/ginkgo/duration.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package ginkgo import ( diff --git a/test/helper/observability/ginkgo/metrics.go b/test/helper/observability/ginkgo/metrics.go index 0846e8baa6..83ac7e225c 100644 --- a/test/helper/observability/ginkgo/metrics.go +++ b/test/helper/observability/ginkgo/metrics.go @@ -1,7 +1,22 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package ginkgo import ( "bytes" + "context" "fmt" "net/http" "strconv" @@ -86,7 +101,7 @@ func sendMetrics(report types.Report) error { } compressed := snappy.Encode(nil, data) - httpReq, err := http.NewRequest("POST", "http://localhost:30000/api/v1/write", bytes.NewReader(compressed)) + httpReq, err := http.NewRequestWithContext(context.Background(), "POST", "http://localhost:30000/api/v1/write", bytes.NewReader(compressed)) if err != nil { return fmt.Errorf("error creating http request: %w", err) } diff --git a/test/helper/observability/install/install.go b/test/helper/observability/install/install.go index 13ffd1e455..e5ddf668dc 100644 --- a/test/helper/observability/install/install.go +++ b/test/helper/observability/install/install.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package install import ( diff --git a/test/helper/observability/install/unpack.go b/test/helper/observability/install/unpack.go index 55035f0972..4deeac1a26 100644 --- a/test/helper/observability/install/unpack.go +++ b/test/helper/observability/install/unpack.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package install import ( diff --git a/test/helper/observability/jsonwriter/jsonwriter.go b/test/helper/observability/jsonwriter/jsonwriter.go index bee38d6043..111bbf3fba 100644 --- a/test/helper/observability/jsonwriter/jsonwriter.go +++ b/test/helper/observability/jsonwriter/jsonwriter.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package jsonwriter import ( diff --git a/test/helper/observability/loki_reporter/loki_reporter.go b/test/helper/observability/loki_reporter/loki_reporter.go index 4d9afc957b..28ced8eb98 100644 --- a/test/helper/observability/loki_reporter/loki_reporter.go +++ b/test/helper/observability/loki_reporter/loki_reporter.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package loki_reporter import ( diff --git a/test/helper/observability/observe/observe.go b/test/helper/observability/observe/observe.go index 2a07f2db4d..faa84bbe68 100644 --- a/test/helper/observability/observe/observe.go +++ b/test/helper/observability/observe/observe.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package observe import ( diff --git a/test/helper/observability/snapshot/snapshot.go b/test/helper/observability/snapshot/snapshot.go index 2dd314c20b..6d096488c7 100644 --- a/test/helper/observability/snapshot/snapshot.go +++ b/test/helper/observability/snapshot/snapshot.go @@ -1,3 +1,17 @@ +// Copyright 2025 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package snapshot import (

    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 literal 0 HcmV?d00001 diff --git a/test/helper/observability/loki_reporter/loki_reporter.go b/test/helper/observability/loki_reporter/loki_reporter.go new file mode 100644 index 0000000000..4d9afc957b --- /dev/null +++ b/test/helper/observability/loki_reporter/loki_reporter.go @@ -0,0 +1,69 @@ +package loki_reporter + +import ( + "fmt" + "io" + "net/url" + "time" + + "github.com/go-kit/kit/log" + "github.com/grafana/dskit/flagext" + "github.com/grafana/loki/v3/clients/pkg/promtail/api" + "github.com/grafana/loki/v3/clients/pkg/promtail/client" + "github.com/grafana/loki/v3/pkg/logproto" + lokiflag "github.com/grafana/loki/v3/pkg/util/flagext" + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/common/model" +) + +type LokiReporter struct { + lokiClient client.Client +} + +func (l *LokiReporter) Write(p []byte) (n int, err error) { + l.lokiClient.Chan() <- api.Entry{ + Entry: logproto.Entry{ + Timestamp: time.Now(), + Line: string(p), + }, + } + + return len(p), nil +} + +func (l *LokiReporter) Stop() { + l.lokiClient.Stop() +} + +func New(lokiURL, job string, loggerWriter io.Writer) (*LokiReporter, error) { + u, err := url.Parse(lokiURL) + if err != nil { + return nil, fmt.Errorf("error parsing loki URL: %w", err) + } + u.Path = "/loki/api/v1/push" + + logger := log.NewLogfmtLogger(log.NewSyncWriter(loggerWriter)) + + lokiClient, err := client.New( + client.NewMetrics(prometheus.DefaultRegisterer), + client.Config{ + URL: flagext.URLValue{URL: u}, + BatchWait: client.BatchWait, + BatchSize: client.BatchSize, + ExternalLabels: lokiflag.LabelSet{ + LabelSet: map[model.LabelName]model.LabelValue{ + "job": model.LabelValue(job), + }, + }, + Timeout: client.Timeout, + }, + 0, // disable max streams cap + 0, // disable max line size + false, // disable line truncation + logger, + ) + if err != nil { + return nil, fmt.Errorf("error creating loki client: %w", err) + } + return &LokiReporter{lokiClient: lokiClient}, nil +} diff --git a/test/helper/observability/observe/observe.go b/test/helper/observability/observe/observe.go new file mode 100644 index 0000000000..815b6aef64 --- /dev/null +++ b/test/helper/observability/observe/observe.go @@ -0,0 +1,82 @@ +package observe + +import ( + "bufio" + "flag" + "fmt" + "io" + "os" + "os/exec" + "sync" + + "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/observability/jsonwriter" + "github.com/mongodb/mongodb-atlas-kubernetes/v2/test/helper/observability/loki_reporter" +) + +func Observe(cmdArgs ...string) error { + var ( + lokiURL string + jobName string + ) + + flag.StringVar(&jobName, "job-name", "ako", "The \"job\" label value to report to Loki") + flag.StringVar(&lokiURL, "loki-url", "http://localhost:30002", "The URL of the Loki instance to report to") + flag.Parse() + + target, err := loki_reporter.New(lokiURL, jobName, os.Stderr) + if err != nil { + return fmt.Errorf("error setting up loki: %w", err) + } + defer target.Stop() + + return forwardTo(target, cmdArgs...) +} + +func forwardTo(target io.Writer, cmdArgs ...string) error { + cmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) + + cmdStdout, err := cmd.StdoutPipe() + if err != nil { + return fmt.Errorf("failed to get cmdStdout pipe: %w", err) + } + + cmdStderr, err := cmd.StderrPipe() + if err != nil { + return fmt.Errorf("failed to get cmdStdout pipe: %w", err) + } + + if err := cmd.Start(); err != nil { + return fmt.Errorf("failed to start command: %w", err) + } + + var wg sync.WaitGroup + wg.Add(2) + for _, dest := range []struct { + writer io.Writer + reader io.Reader + }{ + { + writer: io.MultiWriter(os.Stdout, jsonwriter.NewJSONWriter(target, "INFO", "stdout")), + reader: cmdStdout, + }, + { + writer: io.MultiWriter(os.Stderr, jsonwriter.NewJSONWriter(target, "ERROR", "stderr")), + reader: cmdStderr, + }, + } { + go func() { + defer wg.Done() + scanner := bufio.NewScanner(dest.reader) + for scanner.Scan() { + _, err := dest.writer.Write(append(scanner.Bytes(), '\n')) + if err != nil { + fmt.Fprintln(os.Stderr, err) + return + } + } + }() + } + wg.Wait() + + return nil +} diff --git a/test/helper/observability/prometheus.png b/test/helper/observability/prometheus.png new file mode 100644 index 0000000000000000000000000000000000000000..459fd198ef3542fd632012799a851c169908933f GIT binary patch literal 197533 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 z�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ðUD}(0>s^WSlDV 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