mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-23 12:31:07 +01:00
5fd3aef549
### Describe Your Changes These changes support using Azure Managed Identity for the `vmbackup` utility. It adds two new environment variables: * `AZURE_USE_DEFAULT_CREDENTIAL`: Instructs the `vmbackup` utility to build a connection using the [Azure Default Credential](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity@v1.5.2#NewDefaultAzureCredential) mode. This causes the Azure SDK to check for a variety of environment variables to try and make a connection. By default, it tries to use managed identity if that is set up. This will close https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5984 ### Checklist The following checks are **mandatory**: - [x] My change adheres [VictoriaMetrics contributing guidelines](https://docs.victoriametrics.com/contributing/). ### Testing However you normally test the `vmbackup` utility using Azure Blob should continue to work without any changes. The set up for that is environment specific and not listed out here. Once regression testing has been done you can set up [Azure Managed Identity](https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview) so your resource (AKS, VM, etc), can use that credential method. Once it is set up, update your environment variables according to the updated documentation. I added unit tests to the `FS.Init` function, then made my changes, then updated the unit tests to capture the new branches. I tested this in our environment, but with SAS token auth and managed identity and it works as expected. --------- Signed-off-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> Co-authored-by: Justin Rush <jarush@epic.com> Co-authored-by: Zakhar Bessarab <z.bessarab@victoriametrics.com> Co-authored-by: hagen1778 <roman@victoriametrics.com>
137 lines
6.6 KiB
Modula-2
137 lines
6.6 KiB
Modula-2
module github.com/VictoriaMetrics/VictoriaMetrics
|
|
|
|
go 1.22.5
|
|
|
|
require (
|
|
cloud.google.com/go/storage v1.42.0
|
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0
|
|
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0
|
|
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.3.2
|
|
github.com/VictoriaMetrics/easyproto v0.1.4
|
|
github.com/VictoriaMetrics/fastcache v1.12.2
|
|
github.com/VictoriaMetrics/metrics v1.34.0
|
|
github.com/VictoriaMetrics/metricsql v0.76.0
|
|
github.com/aws/aws-sdk-go-v2 v1.30.1
|
|
github.com/aws/aws-sdk-go-v2/config v1.27.23
|
|
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.4
|
|
github.com/aws/aws-sdk-go-v2/service/s3 v1.58.0
|
|
github.com/bmatcuk/doublestar/v4 v4.6.1
|
|
github.com/cespare/xxhash/v2 v2.3.0
|
|
github.com/cheggaaa/pb/v3 v3.1.5
|
|
github.com/gogo/protobuf v1.3.2
|
|
github.com/golang/snappy v0.0.4
|
|
github.com/googleapis/gax-go/v2 v2.12.5
|
|
github.com/influxdata/influxdb v1.11.5
|
|
github.com/klauspost/compress v1.17.9
|
|
github.com/prometheus/prometheus v0.53.0
|
|
github.com/urfave/cli/v2 v2.27.2
|
|
github.com/valyala/fastjson v1.6.4
|
|
github.com/valyala/fastrand v1.1.0
|
|
github.com/valyala/fasttemplate v1.2.2
|
|
github.com/valyala/gozstd v1.21.1
|
|
github.com/valyala/histogram v1.2.0
|
|
github.com/valyala/quicktemplate v1.8.0
|
|
golang.org/x/oauth2 v0.21.0
|
|
golang.org/x/sys v0.21.0
|
|
google.golang.org/api v0.187.0
|
|
gopkg.in/yaml.v2 v2.4.0
|
|
)
|
|
|
|
require (
|
|
cloud.google.com/go v0.115.0 // indirect
|
|
cloud.google.com/go/auth v0.6.1 // indirect
|
|
cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect
|
|
cloud.google.com/go/compute/metadata v0.4.0 // indirect
|
|
cloud.google.com/go/iam v1.1.10 // indirect
|
|
github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.1 // indirect
|
|
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect
|
|
github.com/VividCortex/ewma v1.2.0 // indirect
|
|
github.com/alecthomas/units v0.0.0-20240626203959-61d1e3462e30 // indirect
|
|
github.com/aws/aws-sdk-go v1.54.13 // indirect
|
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 // indirect
|
|
github.com/aws/aws-sdk-go-v2/credentials v1.17.23 // indirect
|
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.9 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.13 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.13 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.13 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.15 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.15 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.13 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sso v1.22.1 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.1 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/sts v1.30.1 // indirect
|
|
github.com/aws/smithy-go v1.20.3 // indirect
|
|
github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
|
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
|
github.com/dennwc/varint v1.0.0 // indirect
|
|
github.com/fatih/color v1.17.0 // indirect
|
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
|
github.com/go-kit/log v0.2.1 // indirect
|
|
github.com/go-logfmt/logfmt v0.6.0 // indirect
|
|
github.com/go-logr/logr v1.4.2 // indirect
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
|
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
|
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
|
github.com/golang/protobuf v1.5.4 // indirect
|
|
github.com/google/go-cmp v0.6.0 // indirect
|
|
github.com/google/s2a-go v0.1.7 // indirect
|
|
github.com/google/uuid v1.6.0 // indirect
|
|
github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect
|
|
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect
|
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
github.com/jpillora/backoff v1.0.0 // indirect
|
|
github.com/json-iterator/go v1.1.12 // indirect
|
|
github.com/kylelemons/godebug v1.1.0 // indirect
|
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/mattn/go-runewidth v0.0.15 // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect
|
|
github.com/oklog/ulid v1.3.1 // indirect
|
|
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
|
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
|
github.com/prometheus/client_golang v1.19.1 // indirect
|
|
github.com/prometheus/client_model v0.6.1 // indirect
|
|
github.com/prometheus/common v0.55.0 // indirect
|
|
github.com/prometheus/common/sigv4 v0.1.0 // indirect
|
|
github.com/prometheus/procfs v0.15.1 // indirect
|
|
github.com/rivo/uniseg v0.4.7 // indirect
|
|
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
|
github.com/stretchr/testify v1.9.0 // indirect
|
|
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
|
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
|
|
go.opencensus.io v0.24.0 // indirect
|
|
go.opentelemetry.io/collector/pdata v1.11.0 // indirect
|
|
go.opentelemetry.io/collector/semconv v0.104.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 // indirect
|
|
go.opentelemetry.io/otel v1.28.0 // indirect
|
|
go.opentelemetry.io/otel/metric v1.28.0 // indirect
|
|
go.opentelemetry.io/otel/trace v1.28.0 // indirect
|
|
go.uber.org/atomic v1.11.0 // indirect
|
|
go.uber.org/goleak v1.3.0 // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
golang.org/x/crypto v0.24.0 // indirect
|
|
golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect
|
|
golang.org/x/net v0.26.0 // indirect
|
|
golang.org/x/sync v0.7.0 // indirect
|
|
golang.org/x/text v0.16.0 // indirect
|
|
golang.org/x/time v0.5.0 // indirect
|
|
google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094 // indirect
|
|
google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094 // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
|
|
google.golang.org/grpc v1.65.0 // indirect
|
|
google.golang.org/protobuf v1.34.2 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
k8s.io/apimachinery v0.30.2 // indirect
|
|
k8s.io/client-go v0.30.2 // indirect
|
|
k8s.io/klog/v2 v2.130.1 // indirect
|
|
k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 // indirect
|
|
)
|