[#680] Move policy engine converter to s3-gw

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
This commit is contained in:
Denis Kirillov 2025-04-04 18:04:58 +03:00 committed by Alexey Vanin
parent e788bb6ec9
commit 0ba6989197
21 changed files with 4325 additions and 50 deletions

View file

@ -19,6 +19,7 @@ import (
"git.frostfs.info/TrueCloudLab/frostfs-s3-gw/internal/logs"
internalnet "git.frostfs.info/TrueCloudLab/frostfs-s3-gw/internal/net"
"git.frostfs.info/TrueCloudLab/frostfs-s3-gw/internal/version"
policyengine "git.frostfs.info/TrueCloudLab/frostfs-s3-gw/pkg/policy-engine"
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/netmap"
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/pool"
"github.com/spf13/pflag"
@ -81,6 +82,8 @@ const (
defaultRemoveOnReplaceTimeout = 30 * time.Second
defaultRemoveOnReplaceQueue = 10000
defaultFeaturesAPEConvertersVersion = policyengine.V1
)
var (
@ -291,6 +294,9 @@ const (
cfgRemoveOnReplaceTimeout = "features.remove_on_replace.timeout"
cfgRemoveOnReplaceQueue = "features.remove_on_replace.queue"
// APE.
cfgFeaturesAPEConvertersVersion = "features.ape.converters_version"
// FrostfsID.
cfgFrostfsIDContract = "frostfsid.contract"
cfgFrostfsIDValidationEnabled = "frostfsid.validation.enabled"
@ -660,6 +666,19 @@ func fetchCopiesNumbers(l *zap.Logger, v *viper.Viper, param string) []uint32 {
return result
}
func fetchAPEConvertersVersion(l *zap.Logger, v *viper.Viper) policyengine.ConverterVersion {
val := v.GetString(cfgFeaturesAPEConvertersVersion)
switch ver := policyengine.ConverterVersion(val); ver {
case policyengine.V1, policyengine.V2:
return ver
default:
l.Warn(logs.InvalidAPEConvertersVersion, zap.String("version", val),
zap.String("default", string(defaultFeaturesAPEConvertersVersion)),
logs.TagField(logs.TagApp))
return defaultFeaturesAPEConvertersVersion
}
}
type KludgeParams struct {
UseDefaultXMLNS bool
BypassContentEncodingCheckInChunks bool