diff options
Diffstat (limited to 'internal/config')
| -rw-r--r-- | internal/config/config.go | 2 | ||||
| -rw-r--r-- | internal/config/defaults.go | 2 | ||||
| -rw-r--r-- | internal/config/flags.go | 2 | ||||
| -rw-r--r-- | internal/config/helpers.gen.go | 25 | ||||
| -rw-r--r-- | internal/config/testdata/test.yaml | 11 | ||||
| -rw-r--r-- | internal/config/validate.go | 2 | 
6 files changed, 42 insertions, 2 deletions
| diff --git a/internal/config/config.go b/internal/config/config.go index 516fb11d6..1dea90788 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -147,6 +147,8 @@ type Configuration struct {  	AdminAccountPassword  string `name:"password" usage:"the password to set for this account"`  	AdminTransPath        string `name:"path" usage:"the path of the file to import from/export to"`  	AdminMediaPruneDryRun bool   `name:"dry-run" usage:"perform a dry run and only log number of items eligible for pruning"` + +	RequestIDHeader string `name:"request-id-header" usage:"Header to extract the Request ID from. Eg.,'X-Request-Id'"`  }  type CacheConfiguration struct { diff --git a/internal/config/defaults.go b/internal/config/defaults.go index 709f063ca..528419e97 100644 --- a/internal/config/defaults.go +++ b/internal/config/defaults.go @@ -163,4 +163,6 @@ var Defaults = Configuration{  	},  	AdminMediaPruneDryRun: true, + +	RequestIDHeader: "X-Request-Id",  } diff --git a/internal/config/flags.go b/internal/config/flags.go index d8c31368b..3ef44bf62 100644 --- a/internal/config/flags.go +++ b/internal/config/flags.go @@ -140,6 +140,8 @@ func (s *ConfigState) AddServerFlags(cmd *cobra.Command) {  		cmd.Flags().Int(AdvancedRateLimitRequestsFlag(), cfg.AdvancedRateLimitRequests, fieldtag("AdvancedRateLimitRequests", "usage"))  		cmd.Flags().Int(AdvancedThrottlingMultiplierFlag(), cfg.AdvancedThrottlingMultiplier, fieldtag("AdvancedThrottlingMultiplier", "usage"))  		cmd.Flags().Duration(AdvancedThrottlingRetryAfterFlag(), cfg.AdvancedThrottlingRetryAfter, fieldtag("AdvancedThrottlingRetryAfter", "usage")) + +		cmd.Flags().String(RequestIDHeaderFlag(), cfg.RequestIDHeader, fieldtag("RequestIDHeader", "usage"))  	})  } diff --git a/internal/config/helpers.gen.go b/internal/config/helpers.gen.go index 64e7d02f7..1a4c14a82 100644 --- a/internal/config/helpers.gen.go +++ b/internal/config/helpers.gen.go @@ -2977,3 +2977,28 @@ func GetAdminMediaPruneDryRun() bool { return global.GetAdminMediaPruneDryRun()  // SetAdminMediaPruneDryRun safely sets the value for global configuration 'AdminMediaPruneDryRun' field  func SetAdminMediaPruneDryRun(v bool) { global.SetAdminMediaPruneDryRun(v) } + +// GetRequestIDHeader safely fetches the Configuration value for state's 'RequestIDHeader' field +func (st *ConfigState) GetRequestIDHeader() (v string) { +	st.mutex.Lock() +	v = st.config.RequestIDHeader +	st.mutex.Unlock() +	return +} + +// SetRequestIDHeader safely sets the Configuration value for state's 'RequestIDHeader' field +func (st *ConfigState) SetRequestIDHeader(v string) { +	st.mutex.Lock() +	defer st.mutex.Unlock() +	st.config.RequestIDHeader = v +	st.reloadToViper() +} + +// RequestIDHeaderFlag returns the flag name for the 'RequestIDHeader' field +func RequestIDHeaderFlag() string { return "request-id-header" } + +// GetRequestIDHeader safely fetches the value for global configuration 'RequestIDHeader' field +func GetRequestIDHeader() string { return global.GetRequestIDHeader() } + +// SetRequestIDHeader safely sets the value for global configuration 'RequestIDHeader' field +func SetRequestIDHeader(v string) { global.SetRequestIDHeader(v) } diff --git a/internal/config/testdata/test.yaml b/internal/config/testdata/test.yaml index 87fe105d2..c2d902944 100644 --- a/internal/config/testdata/test.yaml +++ b/internal/config/testdata/test.yaml @@ -415,4 +415,13 @@ cache:    gts:      account-max-size: 99      account-ttl: "3h" -    account-sweep-freq: "1s"
\ No newline at end of file +    account-sweep-freq: "1s" + +################################## +##### OBSERVABILITY SETTINGS ##### +################################## + +# String. Header name to use to extract a request or trace ID from. Typically set by a +# loadbalancer or proxy. +# Default: "X-Request-Id" +request-id-header: "X-Trace-Id" diff --git a/internal/config/validate.go b/internal/config/validate.go index 765739d6c..866ec1be1 100644 --- a/internal/config/validate.go +++ b/internal/config/validate.go @@ -55,7 +55,7 @@ func Validate() error {  		// no problem  		break  	case "http": -		log.Warnf("%s was set to 'http'; this should *only* be used for debugging and tests!", ProtocolFlag()) +		log.Warnf(nil, "%s was set to 'http'; this should *only* be used for debugging and tests!", ProtocolFlag())  	case "":  		errs = append(errs, fmt.Errorf("%s must be set", ProtocolFlag()))  	default: | 
