mirror of
https://github.com/hanzoai/metrics.git
synced 2026-10-30 20:03:39 +00:00
Updates: - unpin AWS dependencies and run `make vendor-update` - add config options to enable checksums only if required by storage in order to preserve backwards compatibility Related issues: - https://github.com/VictoriaMetrics/VictoriaMetrics/issues/9748 - https://github.com/VictoriaMetrics/VictoriaMetrics/issues/8622 Tested with: AWS S3, self-hosted MinIO, Linode object storage as it was failing previously with multi-part uploads (reported here - https://github.com/VictoriaMetrics/VictoriaMetrics/pull/8630#issuecomment-2772185033). An updated library allows (PR with the fix - https://github.com/aws/aws-sdk-go-v2/pull/3151) overriding multi-part upload configurations so that compatibility can be preserved. Signed-off-by: Zakhar Bessarab <[email protected]>
25 lines
545 B
Go
25 lines
545 B
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package confmap // import "go.opentelemetry.io/collector/confmap"
|
|
|
|
type moduleFactory[T any, S any] interface {
|
|
Create(s S) T
|
|
}
|
|
|
|
type createConfmapFunc[T any, S any] func(s S) T
|
|
|
|
type confmapModuleFactory[T any, S any] struct {
|
|
f createConfmapFunc[T, S]
|
|
}
|
|
|
|
func (c confmapModuleFactory[T, S]) Create(s S) T {
|
|
return c.f(s)
|
|
}
|
|
|
|
func newConfmapModuleFactory[T, S any](f createConfmapFunc[T, S]) moduleFactory[T, S] {
|
|
return confmapModuleFactory[T, S]{
|
|
f: f,
|
|
}
|
|
}
|