mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-10-29 17:52:32 +00:00
Move Request Limiter to enterprise (#25615)
This commit is contained in:
@@ -55,8 +55,6 @@ type SharedConfig struct {
|
||||
ClusterName string `hcl:"cluster_name"`
|
||||
|
||||
AdministrativeNamespacePath string `hcl:"administrative_namespace_path"`
|
||||
|
||||
RequestLimiter *RequestLimiter `hcl:"request_limiter"`
|
||||
}
|
||||
|
||||
func ParseConfig(d string) (*SharedConfig, error) {
|
||||
@@ -158,13 +156,6 @@ func ParseConfig(d string) (*SharedConfig, error) {
|
||||
}
|
||||
}
|
||||
|
||||
if o := list.Filter("request_limiter"); len(o.Items) > 0 {
|
||||
result.found("request_limiter", "RequestLimiter")
|
||||
if err := parseRequestLimiter(&result, o); err != nil {
|
||||
return nil, fmt.Errorf("error parsing 'request_limiter': %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
entConfig := &(result.EntSharedConfig)
|
||||
if err := entConfig.ParseConfig(list); err != nil {
|
||||
return nil, fmt.Errorf("error parsing enterprise config: %w", err)
|
||||
@@ -293,13 +284,6 @@ func (c *SharedConfig) Sanitized() map[string]interface{} {
|
||||
result["telemetry"] = sanitizedTelemetry
|
||||
}
|
||||
|
||||
if c.RequestLimiter != nil {
|
||||
sanitizedRequestLimiter := map[string]interface{}{
|
||||
"disable": c.RequestLimiter.Disable,
|
||||
}
|
||||
result["request_limiter"] = sanitizedRequestLimiter
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
@@ -98,10 +98,5 @@ func (c *SharedConfig) Merge(c2 *SharedConfig) *SharedConfig {
|
||||
result.ClusterName = c2.ClusterName
|
||||
}
|
||||
|
||||
result.RequestLimiter = c.RequestLimiter
|
||||
if c2.RequestLimiter != nil {
|
||||
result.RequestLimiter = c2.RequestLimiter
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
// Copyright (c) HashiCorp, Inc.
|
||||
// SPDX-License-Identifier: BUSL-1.1
|
||||
|
||||
package configutil
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/hashicorp/go-multierror"
|
||||
"github.com/hashicorp/go-secure-stdlib/parseutil"
|
||||
"github.com/hashicorp/hcl"
|
||||
"github.com/hashicorp/hcl/hcl/ast"
|
||||
)
|
||||
|
||||
type RequestLimiter struct {
|
||||
UnusedKeys UnusedKeyMap `hcl:",unusedKeyPositions"`
|
||||
|
||||
Disable bool `hcl:"-"`
|
||||
DisableRaw interface{} `hcl:"disable"`
|
||||
}
|
||||
|
||||
func (r *RequestLimiter) Validate(source string) []ConfigError {
|
||||
return ValidateUnusedFields(r.UnusedKeys, source)
|
||||
}
|
||||
|
||||
func (r *RequestLimiter) GoString() string {
|
||||
return fmt.Sprintf("*%#v", *r)
|
||||
}
|
||||
|
||||
var DefaultRequestLimiter = &RequestLimiter{
|
||||
Disable: true,
|
||||
}
|
||||
|
||||
func parseRequestLimiter(result *SharedConfig, list *ast.ObjectList) error {
|
||||
if len(list.Items) > 1 {
|
||||
return fmt.Errorf("only one 'request_limiter' block is permitted")
|
||||
}
|
||||
|
||||
result.RequestLimiter = DefaultRequestLimiter
|
||||
|
||||
// Get our one item
|
||||
item := list.Items[0]
|
||||
|
||||
if err := hcl.DecodeObject(&result.RequestLimiter, item.Val); err != nil {
|
||||
return multierror.Prefix(err, "request_limiter:")
|
||||
}
|
||||
|
||||
result.RequestLimiter.Disable = true
|
||||
if result.RequestLimiter.DisableRaw != nil {
|
||||
var err error
|
||||
if result.RequestLimiter.Disable, err = parseutil.ParseBool(result.RequestLimiter.DisableRaw); err != nil {
|
||||
return err
|
||||
}
|
||||
result.RequestLimiter.DisableRaw = nil
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user