param

package
v0.0.0-...-c345e67 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Cache_DataLocation                 = StringParam{"Cache.DataLocation"}
	Cache_ExportLocation               = StringParam{"Cache.ExportLocation"}
	Cache_HighWaterMark                = StringParam{"Cache.HighWaterMark"}
	Cache_LocalRoot                    = StringParam{"Cache.LocalRoot"}
	Cache_LowWatermark                 = StringParam{"Cache.LowWatermark"}
	Cache_NamespaceLocation            = StringParam{"Cache.NamespaceLocation"}
	Cache_RunLocation                  = StringParam{"Cache.RunLocation"}
	Cache_SentinelLocation             = StringParam{"Cache.SentinelLocation"}
	Cache_StorageLocation              = StringParam{"Cache.StorageLocation"}
	Cache_Url                          = StringParam{"Cache.Url"}
	Cache_XRootDPrefix                 = StringParam{"Cache.XRootDPrefix"}
	Director_CacheSortMethod           = StringParam{"Director.CacheSortMethod"}
	Director_DbLocation                = StringParam{"Director.DbLocation"}
	Director_DefaultResponse           = StringParam{"Director.DefaultResponse"}
	Director_GeoIPLocation             = StringParam{"Director.GeoIPLocation"}
	Director_MaxMindKeyFile            = StringParam{"Director.MaxMindKeyFile"}
	Director_SupportContactEmail       = StringParam{"Director.SupportContactEmail"}
	Director_SupportContactUrl         = StringParam{"Director.SupportContactUrl"}
	Federation_DiscoveryUrl            = StringParam{"Federation.DiscoveryUrl"}
	Federation_TopologyDowntimeUrl     = StringParam{"Federation.TopologyDowntimeUrl"}
	Federation_TopologyNamespaceUrl    = StringParam{"Federation.TopologyNamespaceUrl"}
	Federation_TopologyUrl             = StringParam{"Federation.TopologyUrl"}
	IssuerKey                          = StringParam{"IssuerKey"}
	Issuer_AuthenticationSource        = StringParam{"Issuer.AuthenticationSource"}
	Issuer_GroupFile                   = StringParam{"Issuer.GroupFile"}
	Issuer_GroupSource                 = StringParam{"Issuer.GroupSource"}
	Issuer_IssuerClaimValue            = StringParam{"Issuer.IssuerClaimValue"}
	Issuer_OIDCAuthenticationUserClaim = StringParam{"Issuer.OIDCAuthenticationUserClaim"}
	Issuer_OIDCGroupClaim              = StringParam{"Issuer.OIDCGroupClaim"}
	Issuer_QDLLocation                 = StringParam{"Issuer.QDLLocation"}
	Issuer_ScitokensServerLocation     = StringParam{"Issuer.ScitokensServerLocation"}
	Issuer_TomcatLocation              = StringParam{"Issuer.TomcatLocation"}
	LocalCache_DataLocation            = StringParam{"LocalCache.DataLocation"}
	LocalCache_RunLocation             = StringParam{"LocalCache.RunLocation"}
	LocalCache_Size                    = StringParam{"LocalCache.Size"}
	LocalCache_Socket                  = StringParam{"LocalCache.Socket"}
	Logging_Cache_Http                 = StringParam{"Logging.Cache.Http"}
	Logging_Cache_Ofs                  = StringParam{"Logging.Cache.Ofs"}
	Logging_Cache_Pfc                  = StringParam{"Logging.Cache.Pfc"}
	Logging_Cache_Pss                  = StringParam{"Logging.Cache.Pss"}
	Logging_Cache_Scitokens            = StringParam{"Logging.Cache.Scitokens"}
	Logging_Cache_Xrd                  = StringParam{"Logging.Cache.Xrd"}
	Logging_Cache_Xrootd               = StringParam{"Logging.Cache.Xrootd"}
	Logging_Level                      = StringParam{"Logging.Level"}
	Logging_LogLocation                = StringParam{"Logging.LogLocation"}
	Logging_Origin_Cms                 = StringParam{"Logging.Origin.Cms"}
	Logging_Origin_Http                = StringParam{"Logging.Origin.Http"}
	Logging_Origin_Ofs                 = StringParam{"Logging.Origin.Ofs"}
	Logging_Origin_Oss                 = StringParam{"Logging.Origin.Oss"}
	Logging_Origin_Scitokens           = StringParam{"Logging.Origin.Scitokens"}
	Logging_Origin_Xrd                 = StringParam{"Logging.Origin.Xrd"}
	Logging_Origin_Xrootd              = StringParam{"Logging.Origin.Xrootd"}
	Lotman_DbLocation                  = StringParam{"Lotman.DbLocation"}
	Lotman_LibLocation                 = StringParam{"Lotman.LibLocation"}
	Monitoring_DataLocation            = StringParam{"Monitoring.DataLocation"}
	OIDC_AuthorizationEndpoint         = StringParam{"OIDC.AuthorizationEndpoint"}
	OIDC_ClientID                      = StringParam{"OIDC.ClientID"}
	OIDC_ClientIDFile                  = StringParam{"OIDC.ClientIDFile"}
	OIDC_ClientRedirectHostname        = StringParam{"OIDC.ClientRedirectHostname"}
	OIDC_ClientSecretFile              = StringParam{"OIDC.ClientSecretFile"}
	OIDC_DeviceAuthEndpoint            = StringParam{"OIDC.DeviceAuthEndpoint"}
	OIDC_Issuer                        = StringParam{"OIDC.Issuer"}
	OIDC_TokenEndpoint                 = StringParam{"OIDC.TokenEndpoint"}
	OIDC_UserInfoEndpoint              = StringParam{"OIDC.UserInfoEndpoint"}
	Origin_DbLocation                  = StringParam{"Origin.DbLocation"}
	Origin_ExportVolume                = StringParam{"Origin.ExportVolume"}
	Origin_FederationPrefix            = StringParam{"Origin.FederationPrefix"}
	Origin_GlobusClientIDFile          = StringParam{"Origin.GlobusClientIDFile"}
	Origin_GlobusClientSecretFile      = StringParam{"Origin.GlobusClientSecretFile"}
	Origin_GlobusCollectionID          = StringParam{"Origin.GlobusCollectionID"}
	Origin_GlobusCollectionName        = StringParam{"Origin.GlobusCollectionName"}
	Origin_GlobusConfigLocation        = StringParam{"Origin.GlobusConfigLocation"}
	Origin_HttpAuthTokenFile           = StringParam{"Origin.HttpAuthTokenFile"}
	Origin_HttpServiceUrl              = StringParam{"Origin.HttpServiceUrl"}
	Origin_Mode                        = StringParam{"Origin.Mode"}
	Origin_NamespacePrefix             = StringParam{"Origin.NamespacePrefix"}
	Origin_RunLocation                 = StringParam{"Origin.RunLocation"}
	Origin_S3AccessKeyfile             = StringParam{"Origin.S3AccessKeyfile"}
	Origin_S3Bucket                    = StringParam{"Origin.S3Bucket"}
	Origin_S3Region                    = StringParam{"Origin.S3Region"}
	Origin_S3SecretKeyfile             = StringParam{"Origin.S3SecretKeyfile"}
	Origin_S3ServiceName               = StringParam{"Origin.S3ServiceName"}
	Origin_S3ServiceUrl                = StringParam{"Origin.S3ServiceUrl"}
	Origin_S3UrlStyle                  = StringParam{"Origin.S3UrlStyle"}
	Origin_ScitokensDefaultUser        = StringParam{"Origin.ScitokensDefaultUser"}
	Origin_ScitokensNameMapFile        = StringParam{"Origin.ScitokensNameMapFile"}
	Origin_ScitokensUsernameClaim      = StringParam{"Origin.ScitokensUsernameClaim"}
	Origin_StoragePrefix               = StringParam{"Origin.StoragePrefix"}
	Origin_StorageType                 = StringParam{"Origin.StorageType"}
	Origin_Url                         = StringParam{"Origin.Url"}
	Origin_XRootDPrefix                = StringParam{"Origin.XRootDPrefix"}
	Origin_XRootServiceUrl             = StringParam{"Origin.XRootServiceUrl"}
	Plugin_Token                       = StringParam{"Plugin.Token"}
	Registry_DbLocation                = StringParam{"Registry.DbLocation"}
	Registry_InstitutionsUrl           = StringParam{"Registry.InstitutionsUrl"}
	Server_ExternalWebUrl              = StringParam{"Server.ExternalWebUrl"}
	Server_Hostname                    = StringParam{"Server.Hostname"}
	Server_IssuerHostname              = StringParam{"Server.IssuerHostname"}
	Server_IssuerJwks                  = StringParam{"Server.IssuerJwks"}
	Server_IssuerUrl                   = StringParam{"Server.IssuerUrl"}
	Server_SessionSecretFile           = StringParam{"Server.SessionSecretFile"}
	Server_TLSCACertificateDirectory   = StringParam{"Server.TLSCACertificateDirectory"}
	Server_TLSCACertificateFile        = StringParam{"Server.TLSCACertificateFile"}
	Server_TLSCAKey                    = StringParam{"Server.TLSCAKey"}
	Server_TLSCertificate              = StringParam{"Server.TLSCertificate"}
	Server_TLSKey                      = StringParam{"Server.TLSKey"}
	Server_UIActivationCodeFile        = StringParam{"Server.UIActivationCodeFile"}
	Server_UIPasswordFile              = StringParam{"Server.UIPasswordFile"}
	Server_WebConfigFile               = StringParam{"Server.WebConfigFile"}
	Server_WebHost                     = StringParam{"Server.WebHost"}
	Shoveler_AMQPExchange              = StringParam{"Shoveler.AMQPExchange"}
	Shoveler_AMQPTokenLocation         = StringParam{"Shoveler.AMQPTokenLocation"}
	Shoveler_MessageQueueProtocol      = StringParam{"Shoveler.MessageQueueProtocol"}
	Shoveler_QueueDirectory            = StringParam{"Shoveler.QueueDirectory"}
	Shoveler_StompCert                 = StringParam{"Shoveler.StompCert"}
	Shoveler_StompCertKey              = StringParam{"Shoveler.StompCertKey"}
	Shoveler_StompPassword             = StringParam{"Shoveler.StompPassword"}
	Shoveler_StompUsername             = StringParam{"Shoveler.StompUsername"}
	Shoveler_Topic                     = StringParam{"Shoveler.Topic"}
	Shoveler_URL                       = StringParam{"Shoveler.URL"}
	StagePlugin_MountPrefix            = StringParam{"StagePlugin.MountPrefix"}
	StagePlugin_OriginPrefix           = StringParam{"StagePlugin.OriginPrefix"}
	StagePlugin_ShadowOriginPrefix     = StringParam{"StagePlugin.ShadowOriginPrefix"}
	Xrootd_Authfile                    = StringParam{"Xrootd.Authfile"}
	Xrootd_ConfigFile                  = StringParam{"Xrootd.ConfigFile"}
	Xrootd_DetailedMonitoringHost      = StringParam{"Xrootd.DetailedMonitoringHost"}
	Xrootd_LocalMonitoringHost         = StringParam{"Xrootd.LocalMonitoringHost"}
	Xrootd_MacaroonsKeyFile            = StringParam{"Xrootd.MacaroonsKeyFile"}
	Xrootd_ManagerHost                 = StringParam{"Xrootd.ManagerHost"}
	Xrootd_Mount                       = StringParam{"Xrootd.Mount"}
	Xrootd_RobotsTxtFile               = StringParam{"Xrootd.RobotsTxtFile"}
	Xrootd_RunLocation                 = StringParam{"Xrootd.RunLocation"}
	Xrootd_ScitokensConfig             = StringParam{"Xrootd.ScitokensConfig"}
	Xrootd_Sitename                    = StringParam{"Xrootd.Sitename"}
	Xrootd_SummaryMonitoringHost       = StringParam{"Xrootd.SummaryMonitoringHost"}
)
View Source
var (
	Cache_DataLocations                       = StringSliceParam{"Cache.DataLocations"}
	Cache_MetaLocations                       = StringSliceParam{"Cache.MetaLocations"}
	Cache_PermittedNamespaces                 = StringSliceParam{"Cache.PermittedNamespaces"}
	ConfigLocations                           = StringSliceParam{"ConfigLocations"}
	Director_CacheResponseHostnames           = StringSliceParam{"Director.CacheResponseHostnames"}
	Director_FilteredServers                  = StringSliceParam{"Director.FilteredServers"}
	Director_OriginResponseHostnames          = StringSliceParam{"Director.OriginResponseHostnames"}
	Director_X509ClientAuthenticationPrefixes = StringSliceParam{"Director.X509ClientAuthenticationPrefixes"}
	Issuer_GroupRequirements                  = StringSliceParam{"Issuer.GroupRequirements"}
	Monitoring_AggregatePrefixes              = StringSliceParam{"Monitoring.AggregatePrefixes"}
	Origin_ExportVolumes                      = StringSliceParam{"Origin.ExportVolumes"}
	Origin_ScitokensRestrictedPaths           = StringSliceParam{"Origin.ScitokensRestrictedPaths"}
	Registry_AdminUsers                       = StringSliceParam{"Registry.AdminUsers"}
	Server_Modules                            = StringSliceParam{"Server.Modules"}
	Server_UIAdminUsers                       = StringSliceParam{"Server.UIAdminUsers"}
	Shoveler_OutputDestinations               = StringSliceParam{"Shoveler.OutputDestinations"}
)
View Source
var (
	Cache_BlocksToPrefetch             = IntParam{"Cache.BlocksToPrefetch"}
	Cache_Concurrency                  = IntParam{"Cache.Concurrency"}
	Cache_Port                         = IntParam{"Cache.Port"}
	Client_MaximumDownloadSpeed        = IntParam{"Client.MaximumDownloadSpeed"}
	Client_MinimumDownloadSpeed        = IntParam{"Client.MinimumDownloadSpeed"}
	Client_WorkerCount                 = IntParam{"Client.WorkerCount"}
	Director_CachePresenceCapacity     = IntParam{"Director.CachePresenceCapacity"}
	Director_MaxStatResponse           = IntParam{"Director.MaxStatResponse"}
	Director_MinStatResponse           = IntParam{"Director.MinStatResponse"}
	Director_StatConcurrencyLimit      = IntParam{"Director.StatConcurrencyLimit"}
	LocalCache_HighWaterMarkPercentage = IntParam{"LocalCache.HighWaterMarkPercentage"}
	LocalCache_LowWaterMarkPercentage  = IntParam{"LocalCache.LowWaterMarkPercentage"}
	MinimumDownloadSpeed               = IntParam{"MinimumDownloadSpeed"}
	Monitoring_PortHigher              = IntParam{"Monitoring.PortHigher"}
	Monitoring_PortLower               = IntParam{"Monitoring.PortLower"}
	Origin_Port                        = IntParam{"Origin.Port"}
	Server_IssuerPort                  = IntParam{"Server.IssuerPort"}
	Server_UILoginRateLimit            = IntParam{"Server.UILoginRateLimit"}
	Server_WebPort                     = IntParam{"Server.WebPort"}
	Shoveler_PortHigher                = IntParam{"Shoveler.PortHigher"}
	Shoveler_PortLower                 = IntParam{"Shoveler.PortLower"}
	Transport_MaxIdleConns             = IntParam{"Transport.MaxIdleConns"}
	Xrootd_DetailedMonitoringPort      = IntParam{"Xrootd.DetailedMonitoringPort"}
	Xrootd_ManagerPort                 = IntParam{"Xrootd.ManagerPort"}
	Xrootd_Port                        = IntParam{"Xrootd.Port"}
	Xrootd_SummaryMonitoringPort       = IntParam{"Xrootd.SummaryMonitoringPort"}
)
View Source
var (
	Cache_EnableLotman                    = BoolParam{"Cache.EnableLotman"}
	Cache_EnableOIDC                      = BoolParam{"Cache.EnableOIDC"}
	Cache_EnableVoms                      = BoolParam{"Cache.EnableVoms"}
	Cache_SelfTest                        = BoolParam{"Cache.SelfTest"}
	Client_DisableHttpProxy               = BoolParam{"Client.DisableHttpProxy"}
	Client_DisableProxyFallback           = BoolParam{"Client.DisableProxyFallback"}
	Debug                                 = BoolParam{"Debug"}
	Director_AssumePresenceAtSingleOrigin = BoolParam{"Director.AssumePresenceAtSingleOrigin"}
	Director_CachesPullFromCaches         = BoolParam{"Director.CachesPullFromCaches"}
	Director_CheckCachePresence           = BoolParam{"Director.CheckCachePresence"}
	Director_CheckOriginPresence          = BoolParam{"Director.CheckOriginPresence"}
	Director_EnableBroker                 = BoolParam{"Director.EnableBroker"}
	Director_EnableOIDC                   = BoolParam{"Director.EnableOIDC"}
	Director_EnableStat                   = BoolParam{"Director.EnableStat"}
	DisableHttpProxy                      = BoolParam{"DisableHttpProxy"}
	DisableProxyFallback                  = BoolParam{"DisableProxyFallback"}
	Issuer_UserStripDomain                = BoolParam{"Issuer.UserStripDomain"}
	Logging_DisableProgressBars           = BoolParam{"Logging.DisableProgressBars"}
	Lotman_EnableAPI                      = BoolParam{"Lotman.EnableAPI"}
	Monitoring_MetricAuthorization        = BoolParam{"Monitoring.MetricAuthorization"}
	Monitoring_PromQLAuthorization        = BoolParam{"Monitoring.PromQLAuthorization"}
	Origin_DirectorTest                   = BoolParam{"Origin.DirectorTest"}
	Origin_EnableBroker                   = BoolParam{"Origin.EnableBroker"}
	Origin_EnableCmsd                     = BoolParam{"Origin.EnableCmsd"}
	Origin_EnableDirListing               = BoolParam{"Origin.EnableDirListing"}
	Origin_EnableDirectReads              = BoolParam{"Origin.EnableDirectReads"}
	Origin_EnableFallbackRead             = BoolParam{"Origin.EnableFallbackRead"}
	Origin_EnableIssuer                   = BoolParam{"Origin.EnableIssuer"}
	Origin_EnableListings                 = BoolParam{"Origin.EnableListings"}
	Origin_EnableMacaroons                = BoolParam{"Origin.EnableMacaroons"}
	Origin_EnableOIDC                     = BoolParam{"Origin.EnableOIDC"}
	Origin_EnablePublicReads              = BoolParam{"Origin.EnablePublicReads"}
	Origin_EnableReads                    = BoolParam{"Origin.EnableReads"}
	Origin_EnableUI                       = BoolParam{"Origin.EnableUI"}
	Origin_EnableVoms                     = BoolParam{"Origin.EnableVoms"}
	Origin_EnableWrite                    = BoolParam{"Origin.EnableWrite"}
	Origin_EnableWrites                   = BoolParam{"Origin.EnableWrites"}
	Origin_Multiuser                      = BoolParam{"Origin.Multiuser"}
	Origin_ScitokensMapSubject            = BoolParam{"Origin.ScitokensMapSubject"}
	Origin_SelfTest                       = BoolParam{"Origin.SelfTest"}
	Registry_RequireCacheApproval         = BoolParam{"Registry.RequireCacheApproval"}
	Registry_RequireKeyChaining           = BoolParam{"Registry.RequireKeyChaining"}
	Registry_RequireOriginApproval        = BoolParam{"Registry.RequireOriginApproval"}
	Server_EnablePprof                    = BoolParam{"Server.EnablePprof"}
	Server_EnableUI                       = BoolParam{"Server.EnableUI"}
	Shoveler_Enable                       = BoolParam{"Shoveler.Enable"}
	Shoveler_VerifyHeader                 = BoolParam{"Shoveler.VerifyHeader"}
	StagePlugin_Hook                      = BoolParam{"StagePlugin.Hook"}
	TLSSkipVerify                         = BoolParam{"TLSSkipVerify"}
)
View Source
var (
	Cache_DefaultCacheTimeout              = DurationParam{"Cache.DefaultCacheTimeout"}
	Cache_SelfTestInterval                 = DurationParam{"Cache.SelfTestInterval"}
	Client_SlowTransferRampupTime          = DurationParam{"Client.SlowTransferRampupTime"}
	Client_SlowTransferWindow              = DurationParam{"Client.SlowTransferWindow"}
	Client_StoppedTransferTimeout          = DurationParam{"Client.StoppedTransferTimeout"}
	Director_AdvertisementTTL              = DurationParam{"Director.AdvertisementTTL"}
	Director_CachePresenceTTL              = DurationParam{"Director.CachePresenceTTL"}
	Director_OriginCacheHealthTestInterval = DurationParam{"Director.OriginCacheHealthTestInterval"}
	Director_StatTimeout                   = DurationParam{"Director.StatTimeout"}
	Federation_TopologyReloadInterval      = DurationParam{"Federation.TopologyReloadInterval"}
	Monitoring_DataRetention               = DurationParam{"Monitoring.DataRetention"}
	Monitoring_TokenExpiresIn              = DurationParam{"Monitoring.TokenExpiresIn"}
	Monitoring_TokenRefreshInterval        = DurationParam{"Monitoring.TokenRefreshInterval"}
	Origin_SelfTestInterval                = DurationParam{"Origin.SelfTestInterval"}
	Registry_InstitutionsUrlReloadMinutes  = DurationParam{"Registry.InstitutionsUrlReloadMinutes"}
	Server_RegistrationRetryInterval       = DurationParam{"Server.RegistrationRetryInterval"}
	Server_StartupTimeout                  = DurationParam{"Server.StartupTimeout"}
	Transport_DialerKeepAlive              = DurationParam{"Transport.DialerKeepAlive"}
	Transport_DialerTimeout                = DurationParam{"Transport.DialerTimeout"}
	Transport_ExpectContinueTimeout        = DurationParam{"Transport.ExpectContinueTimeout"}
	Transport_IdleConnTimeout              = DurationParam{"Transport.IdleConnTimeout"}
	Transport_ResponseHeaderTimeout        = DurationParam{"Transport.ResponseHeaderTimeout"}
	Transport_TLSHandshakeTimeout          = DurationParam{"Transport.TLSHandshakeTimeout"}
	Xrootd_AuthRefreshInterval             = DurationParam{"Xrootd.AuthRefreshInterval"}
	Xrootd_MaxStartupWait                  = DurationParam{"Xrootd.MaxStartupWait"}
)
View Source
var (
	GeoIPOverrides                        = ObjectParam{"GeoIPOverrides"}
	Issuer_AuthorizationTemplates         = ObjectParam{"Issuer.AuthorizationTemplates"}
	Issuer_OIDCAuthenticationRequirements = ObjectParam{"Issuer.OIDCAuthenticationRequirements"}
	Lotman_Lots                           = ObjectParam{"Lotman.Lots"}
	Origin_Exports                        = ObjectParam{"Origin.Exports"}
	Registry_CustomRegistrationFields     = ObjectParam{"Registry.CustomRegistrationFields"}
	Registry_Institutions                 = ObjectParam{"Registry.Institutions"}
	Shoveler_IPMapping                    = ObjectParam{"Shoveler.IPMapping"}
)

Functions

func ConvertToConfigWithType

func ConvertToConfigWithType(rawConfig *Config) *configWithType

Convert a config struct to configWithType struct

func GetDeprecated

func GetDeprecated() map[string][]string

Types

type BoolParam

type BoolParam struct {
	// contains filtered or unexported fields
}

func (BoolParam) GetBool

func (bP BoolParam) GetBool() bool

func (BoolParam) GetName

func (bP BoolParam) GetName() string

func (BoolParam) IsSet

func (bP BoolParam) IsSet() bool

type Config

type Config struct {
	Cache struct {
		BlocksToPrefetch    int           `mapstructure:"blockstoprefetch" yaml:"BlocksToPrefetch"`
		Concurrency         int           `mapstructure:"concurrency" yaml:"Concurrency"`
		DataLocation        string        `mapstructure:"datalocation" yaml:"DataLocation"`
		DataLocations       []string      `mapstructure:"datalocations" yaml:"DataLocations"`
		DefaultCacheTimeout time.Duration `mapstructure:"defaultcachetimeout" yaml:"DefaultCacheTimeout"`
		EnableLotman        bool          `mapstructure:"enablelotman" yaml:"EnableLotman"`
		EnableOIDC          bool          `mapstructure:"enableoidc" yaml:"EnableOIDC"`
		EnableVoms          bool          `mapstructure:"enablevoms" yaml:"EnableVoms"`
		ExportLocation      string        `mapstructure:"exportlocation" yaml:"ExportLocation"`
		HighWaterMark       string        `mapstructure:"highwatermark" yaml:"HighWaterMark"`
		LocalRoot           string        `mapstructure:"localroot" yaml:"LocalRoot"`
		LowWatermark        string        `mapstructure:"lowwatermark" yaml:"LowWatermark"`
		MetaLocations       []string      `mapstructure:"metalocations" yaml:"MetaLocations"`
		NamespaceLocation   string        `mapstructure:"namespacelocation" yaml:"NamespaceLocation"`
		PermittedNamespaces []string      `mapstructure:"permittednamespaces" yaml:"PermittedNamespaces"`
		Port                int           `mapstructure:"port" yaml:"Port"`
		RunLocation         string        `mapstructure:"runlocation" yaml:"RunLocation"`
		SelfTest            bool          `mapstructure:"selftest" yaml:"SelfTest"`
		SelfTestInterval    time.Duration `mapstructure:"selftestinterval" yaml:"SelfTestInterval"`
		SentinelLocation    string        `mapstructure:"sentinellocation" yaml:"SentinelLocation"`
		StorageLocation     string        `mapstructure:"storagelocation" yaml:"StorageLocation"`
		Url                 string        `mapstructure:"url" yaml:"Url"`
		XRootDPrefix        string        `mapstructure:"xrootdprefix" yaml:"XRootDPrefix"`
	} `mapstructure:"cache" yaml:"Cache"`
	Client struct {
		DisableHttpProxy       bool          `mapstructure:"disablehttpproxy" yaml:"DisableHttpProxy"`
		DisableProxyFallback   bool          `mapstructure:"disableproxyfallback" yaml:"DisableProxyFallback"`
		MaximumDownloadSpeed   int           `mapstructure:"maximumdownloadspeed" yaml:"MaximumDownloadSpeed"`
		MinimumDownloadSpeed   int           `mapstructure:"minimumdownloadspeed" yaml:"MinimumDownloadSpeed"`
		SlowTransferRampupTime time.Duration `mapstructure:"slowtransferrampuptime" yaml:"SlowTransferRampupTime"`
		SlowTransferWindow     time.Duration `mapstructure:"slowtransferwindow" yaml:"SlowTransferWindow"`
		StoppedTransferTimeout time.Duration `mapstructure:"stoppedtransfertimeout" yaml:"StoppedTransferTimeout"`
		WorkerCount            int           `mapstructure:"workercount" yaml:"WorkerCount"`
	} `mapstructure:"client" yaml:"Client"`
	ConfigDir       string   `mapstructure:"configdir" yaml:"ConfigDir"`
	ConfigLocations []string `mapstructure:"configlocations" yaml:"ConfigLocations"`
	Debug           bool     `mapstructure:"debug" yaml:"Debug"`
	Director        struct {
		AdvertisementTTL                 time.Duration `mapstructure:"advertisementttl" yaml:"AdvertisementTTL"`
		AssumePresenceAtSingleOrigin     bool          `mapstructure:"assumepresenceatsingleorigin" yaml:"AssumePresenceAtSingleOrigin"`
		CachePresenceCapacity            int           `mapstructure:"cachepresencecapacity" yaml:"CachePresenceCapacity"`
		CachePresenceTTL                 time.Duration `mapstructure:"cachepresencettl" yaml:"CachePresenceTTL"`
		CacheResponseHostnames           []string      `mapstructure:"cacheresponsehostnames" yaml:"CacheResponseHostnames"`
		CacheSortMethod                  string        `mapstructure:"cachesortmethod" yaml:"CacheSortMethod"`
		CachesPullFromCaches             bool          `mapstructure:"cachespullfromcaches" yaml:"CachesPullFromCaches"`
		CheckCachePresence               bool          `mapstructure:"checkcachepresence" yaml:"CheckCachePresence"`
		CheckOriginPresence              bool          `mapstructure:"checkoriginpresence" yaml:"CheckOriginPresence"`
		DbLocation                       string        `mapstructure:"dblocation" yaml:"DbLocation"`
		DefaultResponse                  string        `mapstructure:"defaultresponse" yaml:"DefaultResponse"`
		EnableBroker                     bool          `mapstructure:"enablebroker" yaml:"EnableBroker"`
		EnableOIDC                       bool          `mapstructure:"enableoidc" yaml:"EnableOIDC"`
		EnableStat                       bool          `mapstructure:"enablestat" yaml:"EnableStat"`
		FilteredServers                  []string      `mapstructure:"filteredservers" yaml:"FilteredServers"`
		GeoIPLocation                    string        `mapstructure:"geoiplocation" yaml:"GeoIPLocation"`
		MaxMindKeyFile                   string        `mapstructure:"maxmindkeyfile" yaml:"MaxMindKeyFile"`
		MaxStatResponse                  int           `mapstructure:"maxstatresponse" yaml:"MaxStatResponse"`
		MinStatResponse                  int           `mapstructure:"minstatresponse" yaml:"MinStatResponse"`
		OriginCacheHealthTestInterval    time.Duration `mapstructure:"origincachehealthtestinterval" yaml:"OriginCacheHealthTestInterval"`
		OriginResponseHostnames          []string      `mapstructure:"originresponsehostnames" yaml:"OriginResponseHostnames"`
		StatConcurrencyLimit             int           `mapstructure:"statconcurrencylimit" yaml:"StatConcurrencyLimit"`
		StatTimeout                      time.Duration `mapstructure:"stattimeout" yaml:"StatTimeout"`
		SupportContactEmail              string        `mapstructure:"supportcontactemail" yaml:"SupportContactEmail"`
		SupportContactUrl                string        `mapstructure:"supportcontacturl" yaml:"SupportContactUrl"`
		X509ClientAuthenticationPrefixes []string      `mapstructure:"x509clientauthenticationprefixes" yaml:"X509ClientAuthenticationPrefixes"`
	} `mapstructure:"director" yaml:"Director"`
	DisableHttpProxy     bool `mapstructure:"disablehttpproxy" yaml:"DisableHttpProxy"`
	DisableProxyFallback bool `mapstructure:"disableproxyfallback" yaml:"DisableProxyFallback"`
	Federation           struct {
		BrokerUrl              string        `mapstructure:"brokerurl" yaml:"BrokerUrl"`
		DirectorUrl            string        `mapstructure:"directorurl" yaml:"DirectorUrl"`
		DiscoveryUrl           string        `mapstructure:"discoveryurl" yaml:"DiscoveryUrl"`
		JwkUrl                 string        `mapstructure:"jwkurl" yaml:"JwkUrl"`
		RegistryUrl            string        `mapstructure:"registryurl" yaml:"RegistryUrl"`
		TopologyDowntimeUrl    string        `mapstructure:"topologydowntimeurl" yaml:"TopologyDowntimeUrl"`
		TopologyNamespaceUrl   string        `mapstructure:"topologynamespaceurl" yaml:"TopologyNamespaceUrl"`
		TopologyReloadInterval time.Duration `mapstructure:"topologyreloadinterval" yaml:"TopologyReloadInterval"`
		TopologyUrl            string        `mapstructure:"topologyurl" yaml:"TopologyUrl"`
	} `mapstructure:"federation" yaml:"Federation"`
	GeoIPOverrides interface{} `mapstructure:"geoipoverrides" yaml:"GeoIPOverrides"`
	Issuer         struct {
		AuthenticationSource           string      `mapstructure:"authenticationsource" yaml:"AuthenticationSource"`
		AuthorizationTemplates         interface{} `mapstructure:"authorizationtemplates" yaml:"AuthorizationTemplates"`
		GroupFile                      string      `mapstructure:"groupfile" yaml:"GroupFile"`
		GroupRequirements              []string    `mapstructure:"grouprequirements" yaml:"GroupRequirements"`
		GroupSource                    string      `mapstructure:"groupsource" yaml:"GroupSource"`
		IssuerClaimValue               string      `mapstructure:"issuerclaimvalue" yaml:"IssuerClaimValue"`
		OIDCAuthenticationRequirements interface{} `mapstructure:"oidcauthenticationrequirements" yaml:"OIDCAuthenticationRequirements"`
		OIDCAuthenticationUserClaim    string      `mapstructure:"oidcauthenticationuserclaim" yaml:"OIDCAuthenticationUserClaim"`
		OIDCGroupClaim                 string      `mapstructure:"oidcgroupclaim" yaml:"OIDCGroupClaim"`
		QDLLocation                    string      `mapstructure:"qdllocation" yaml:"QDLLocation"`
		ScitokensServerLocation        string      `mapstructure:"scitokensserverlocation" yaml:"ScitokensServerLocation"`
		TomcatLocation                 string      `mapstructure:"tomcatlocation" yaml:"TomcatLocation"`
		UserStripDomain                bool        `mapstructure:"userstripdomain" yaml:"UserStripDomain"`
	} `mapstructure:"issuer" yaml:"Issuer"`
	IssuerKey  string `mapstructure:"issuerkey" yaml:"IssuerKey"`
	LocalCache struct {
		DataLocation            string `mapstructure:"datalocation" yaml:"DataLocation"`
		HighWaterMarkPercentage int    `mapstructure:"highwatermarkpercentage" yaml:"HighWaterMarkPercentage"`
		LowWaterMarkPercentage  int    `mapstructure:"lowwatermarkpercentage" yaml:"LowWaterMarkPercentage"`
		RunLocation             string `mapstructure:"runlocation" yaml:"RunLocation"`
		Size                    string `mapstructure:"size" yaml:"Size"`
		Socket                  string `mapstructure:"socket" yaml:"Socket"`
	} `mapstructure:"localcache" yaml:"LocalCache"`
	Logging struct {
		Cache struct {
			Http      string `mapstructure:"http" yaml:"Http"`
			Ofs       string `mapstructure:"ofs" yaml:"Ofs"`
			Pfc       string `mapstructure:"pfc" yaml:"Pfc"`
			Pss       string `mapstructure:"pss" yaml:"Pss"`
			Scitokens string `mapstructure:"scitokens" yaml:"Scitokens"`
			Xrd       string `mapstructure:"xrd" yaml:"Xrd"`
			Xrootd    string `mapstructure:"xrootd" yaml:"Xrootd"`
		} `mapstructure:"cache" yaml:"Cache"`
		DisableProgressBars bool   `mapstructure:"disableprogressbars" yaml:"DisableProgressBars"`
		Level               string `mapstructure:"level" yaml:"Level"`
		LogLocation         string `mapstructure:"loglocation" yaml:"LogLocation"`
		Origin              struct {
			Cms       string `mapstructure:"cms" yaml:"Cms"`
			Http      string `mapstructure:"http" yaml:"Http"`
			Ofs       string `mapstructure:"ofs" yaml:"Ofs"`
			Oss       string `mapstructure:"oss" yaml:"Oss"`
			Scitokens string `mapstructure:"scitokens" yaml:"Scitokens"`
			Xrd       string `mapstructure:"xrd" yaml:"Xrd"`
			Xrootd    string `mapstructure:"xrootd" yaml:"Xrootd"`
		} `mapstructure:"origin" yaml:"Origin"`
	} `mapstructure:"logging" yaml:"Logging"`
	Lotman struct {
		DbLocation  string      `mapstructure:"dblocation" yaml:"DbLocation"`
		EnableAPI   bool        `mapstructure:"enableapi" yaml:"EnableAPI"`
		LibLocation string      `mapstructure:"liblocation" yaml:"LibLocation"`
		Lots        interface{} `mapstructure:"lots" yaml:"Lots"`
	} `mapstructure:"lotman" yaml:"Lotman"`
	MinimumDownloadSpeed int `mapstructure:"minimumdownloadspeed" yaml:"MinimumDownloadSpeed"`
	Monitoring           struct {
		AggregatePrefixes    []string      `mapstructure:"aggregateprefixes" yaml:"AggregatePrefixes"`
		DataLocation         string        `mapstructure:"datalocation" yaml:"DataLocation"`
		DataRetention        time.Duration `mapstructure:"dataretention" yaml:"DataRetention"`
		MetricAuthorization  bool          `mapstructure:"metricauthorization" yaml:"MetricAuthorization"`
		PortHigher           int           `mapstructure:"porthigher" yaml:"PortHigher"`
		PortLower            int           `mapstructure:"portlower" yaml:"PortLower"`
		PromQLAuthorization  bool          `mapstructure:"promqlauthorization" yaml:"PromQLAuthorization"`
		TokenExpiresIn       time.Duration `mapstructure:"tokenexpiresin" yaml:"TokenExpiresIn"`
		TokenRefreshInterval time.Duration `mapstructure:"tokenrefreshinterval" yaml:"TokenRefreshInterval"`
	} `mapstructure:"monitoring" yaml:"Monitoring"`
	OIDC struct {
		AuthorizationEndpoint  string `mapstructure:"authorizationendpoint" yaml:"AuthorizationEndpoint"`
		ClientID               string `mapstructure:"clientid" yaml:"ClientID"`
		ClientIDFile           string `mapstructure:"clientidfile" yaml:"ClientIDFile"`
		ClientRedirectHostname string `mapstructure:"clientredirecthostname" yaml:"ClientRedirectHostname"`
		ClientSecretFile       string `mapstructure:"clientsecretfile" yaml:"ClientSecretFile"`
		DeviceAuthEndpoint     string `mapstructure:"deviceauthendpoint" yaml:"DeviceAuthEndpoint"`
		Issuer                 string `mapstructure:"issuer" yaml:"Issuer"`
		TokenEndpoint          string `mapstructure:"tokenendpoint" yaml:"TokenEndpoint"`
		UserInfoEndpoint       string `mapstructure:"userinfoendpoint" yaml:"UserInfoEndpoint"`
	} `mapstructure:"oidc" yaml:"OIDC"`
	Origin struct {
		DbLocation               string        `mapstructure:"dblocation" yaml:"DbLocation"`
		DirectorTest             bool          `mapstructure:"directortest" yaml:"DirectorTest"`
		EnableBroker             bool          `mapstructure:"enablebroker" yaml:"EnableBroker"`
		EnableCmsd               bool          `mapstructure:"enablecmsd" yaml:"EnableCmsd"`
		EnableDirListing         bool          `mapstructure:"enabledirlisting" yaml:"EnableDirListing"`
		EnableDirectReads        bool          `mapstructure:"enabledirectreads" yaml:"EnableDirectReads"`
		EnableFallbackRead       bool          `mapstructure:"enablefallbackread" yaml:"EnableFallbackRead"`
		EnableIssuer             bool          `mapstructure:"enableissuer" yaml:"EnableIssuer"`
		EnableListings           bool          `mapstructure:"enablelistings" yaml:"EnableListings"`
		EnableMacaroons          bool          `mapstructure:"enablemacaroons" yaml:"EnableMacaroons"`
		EnableOIDC               bool          `mapstructure:"enableoidc" yaml:"EnableOIDC"`
		EnablePublicReads        bool          `mapstructure:"enablepublicreads" yaml:"EnablePublicReads"`
		EnableReads              bool          `mapstructure:"enablereads" yaml:"EnableReads"`
		EnableUI                 bool          `mapstructure:"enableui" yaml:"EnableUI"`
		EnableVoms               bool          `mapstructure:"enablevoms" yaml:"EnableVoms"`
		EnableWrite              bool          `mapstructure:"enablewrite" yaml:"EnableWrite"`
		EnableWrites             bool          `mapstructure:"enablewrites" yaml:"EnableWrites"`
		ExportVolume             string        `mapstructure:"exportvolume" yaml:"ExportVolume"`
		ExportVolumes            []string      `mapstructure:"exportvolumes" yaml:"ExportVolumes"`
		Exports                  interface{}   `mapstructure:"exports" yaml:"Exports"`
		FederationPrefix         string        `mapstructure:"federationprefix" yaml:"FederationPrefix"`
		GlobusClientIDFile       string        `mapstructure:"globusclientidfile" yaml:"GlobusClientIDFile"`
		GlobusClientSecretFile   string        `mapstructure:"globusclientsecretfile" yaml:"GlobusClientSecretFile"`
		GlobusCollectionID       string        `mapstructure:"globuscollectionid" yaml:"GlobusCollectionID"`
		GlobusCollectionName     string        `mapstructure:"globuscollectionname" yaml:"GlobusCollectionName"`
		GlobusConfigLocation     string        `mapstructure:"globusconfiglocation" yaml:"GlobusConfigLocation"`
		HttpAuthTokenFile        string        `mapstructure:"httpauthtokenfile" yaml:"HttpAuthTokenFile"`
		HttpServiceUrl           string        `mapstructure:"httpserviceurl" yaml:"HttpServiceUrl"`
		Mode                     string        `mapstructure:"mode" yaml:"Mode"`
		Multiuser                bool          `mapstructure:"multiuser" yaml:"Multiuser"`
		NamespacePrefix          string        `mapstructure:"namespaceprefix" yaml:"NamespacePrefix"`
		Port                     int           `mapstructure:"port" yaml:"Port"`
		RunLocation              string        `mapstructure:"runlocation" yaml:"RunLocation"`
		S3AccessKeyfile          string        `mapstructure:"s3accesskeyfile" yaml:"S3AccessKeyfile"`
		S3Bucket                 string        `mapstructure:"s3bucket" yaml:"S3Bucket"`
		S3Region                 string        `mapstructure:"s3region" yaml:"S3Region"`
		S3SecretKeyfile          string        `mapstructure:"s3secretkeyfile" yaml:"S3SecretKeyfile"`
		S3ServiceName            string        `mapstructure:"s3servicename" yaml:"S3ServiceName"`
		S3ServiceUrl             string        `mapstructure:"s3serviceurl" yaml:"S3ServiceUrl"`
		S3UrlStyle               string        `mapstructure:"s3urlstyle" yaml:"S3UrlStyle"`
		ScitokensDefaultUser     string        `mapstructure:"scitokensdefaultuser" yaml:"ScitokensDefaultUser"`
		ScitokensMapSubject      bool          `mapstructure:"scitokensmapsubject" yaml:"ScitokensMapSubject"`
		ScitokensNameMapFile     string        `mapstructure:"scitokensnamemapfile" yaml:"ScitokensNameMapFile"`
		ScitokensRestrictedPaths []string      `mapstructure:"scitokensrestrictedpaths" yaml:"ScitokensRestrictedPaths"`
		ScitokensUsernameClaim   string        `mapstructure:"scitokensusernameclaim" yaml:"ScitokensUsernameClaim"`
		SelfTest                 bool          `mapstructure:"selftest" yaml:"SelfTest"`
		SelfTestInterval         time.Duration `mapstructure:"selftestinterval" yaml:"SelfTestInterval"`
		StoragePrefix            string        `mapstructure:"storageprefix" yaml:"StoragePrefix"`
		StorageType              string        `mapstructure:"storagetype" yaml:"StorageType"`
		Url                      string        `mapstructure:"url" yaml:"Url"`
		XRootDPrefix             string        `mapstructure:"xrootdprefix" yaml:"XRootDPrefix"`
		XRootServiceUrl          string        `mapstructure:"xrootserviceurl" yaml:"XRootServiceUrl"`
	} `mapstructure:"origin" yaml:"Origin"`
	Plugin struct {
		Token string `mapstructure:"token" yaml:"Token"`
	} `mapstructure:"plugin" yaml:"Plugin"`
	Registry struct {
		AdminUsers                   []string      `mapstructure:"adminusers" yaml:"AdminUsers"`
		CustomRegistrationFields     interface{}   `mapstructure:"customregistrationfields" yaml:"CustomRegistrationFields"`
		DbLocation                   string        `mapstructure:"dblocation" yaml:"DbLocation"`
		Institutions                 interface{}   `mapstructure:"institutions" yaml:"Institutions"`
		InstitutionsUrl              string        `mapstructure:"institutionsurl" yaml:"InstitutionsUrl"`
		InstitutionsUrlReloadMinutes time.Duration `mapstructure:"institutionsurlreloadminutes" yaml:"InstitutionsUrlReloadMinutes"`
		RequireCacheApproval         bool          `mapstructure:"requirecacheapproval" yaml:"RequireCacheApproval"`
		RequireKeyChaining           bool          `mapstructure:"requirekeychaining" yaml:"RequireKeyChaining"`
		RequireOriginApproval        bool          `mapstructure:"requireoriginapproval" yaml:"RequireOriginApproval"`
	} `mapstructure:"registry" yaml:"Registry"`
	Server struct {
		EnablePprof               bool          `mapstructure:"enablepprof" yaml:"EnablePprof"`
		EnableUI                  bool          `mapstructure:"enableui" yaml:"EnableUI"`
		ExternalWebUrl            string        `mapstructure:"externalweburl" yaml:"ExternalWebUrl"`
		Hostname                  string        `mapstructure:"hostname" yaml:"Hostname"`
		IssuerHostname            string        `mapstructure:"issuerhostname" yaml:"IssuerHostname"`
		IssuerJwks                string        `mapstructure:"issuerjwks" yaml:"IssuerJwks"`
		IssuerPort                int           `mapstructure:"issuerport" yaml:"IssuerPort"`
		IssuerUrl                 string        `mapstructure:"issuerurl" yaml:"IssuerUrl"`
		Modules                   []string      `mapstructure:"modules" yaml:"Modules"`
		RegistrationRetryInterval time.Duration `mapstructure:"registrationretryinterval" yaml:"RegistrationRetryInterval"`
		SessionSecretFile         string        `mapstructure:"sessionsecretfile" yaml:"SessionSecretFile"`
		StartupTimeout            time.Duration `mapstructure:"startuptimeout" yaml:"StartupTimeout"`
		TLSCACertificateDirectory string        `mapstructure:"tlscacertificatedirectory" yaml:"TLSCACertificateDirectory"`
		TLSCACertificateFile      string        `mapstructure:"tlscacertificatefile" yaml:"TLSCACertificateFile"`
		TLSCAKey                  string        `mapstructure:"tlscakey" yaml:"TLSCAKey"`
		TLSCertificate            string        `mapstructure:"tlscertificate" yaml:"TLSCertificate"`
		TLSKey                    string        `mapstructure:"tlskey" yaml:"TLSKey"`
		UIActivationCodeFile      string        `mapstructure:"uiactivationcodefile" yaml:"UIActivationCodeFile"`
		UIAdminUsers              []string      `mapstructure:"uiadminusers" yaml:"UIAdminUsers"`
		UILoginRateLimit          int           `mapstructure:"uiloginratelimit" yaml:"UILoginRateLimit"`
		UIPasswordFile            string        `mapstructure:"uipasswordfile" yaml:"UIPasswordFile"`
		WebConfigFile             string        `mapstructure:"webconfigfile" yaml:"WebConfigFile"`
		WebHost                   string        `mapstructure:"webhost" yaml:"WebHost"`
		WebPort                   int           `mapstructure:"webport" yaml:"WebPort"`
	} `mapstructure:"server" yaml:"Server"`
	Shoveler struct {
		AMQPExchange         string      `mapstructure:"amqpexchange" yaml:"AMQPExchange"`
		AMQPTokenLocation    string      `mapstructure:"amqptokenlocation" yaml:"AMQPTokenLocation"`
		Enable               bool        `mapstructure:"enable" yaml:"Enable"`
		IPMapping            interface{} `mapstructure:"ipmapping" yaml:"IPMapping"`
		MessageQueueProtocol string      `mapstructure:"messagequeueprotocol" yaml:"MessageQueueProtocol"`
		OutputDestinations   []string    `mapstructure:"outputdestinations" yaml:"OutputDestinations"`
		PortHigher           int         `mapstructure:"porthigher" yaml:"PortHigher"`
		PortLower            int         `mapstructure:"portlower" yaml:"PortLower"`
		QueueDirectory       string      `mapstructure:"queuedirectory" yaml:"QueueDirectory"`
		StompCert            string      `mapstructure:"stompcert" yaml:"StompCert"`
		StompCertKey         string      `mapstructure:"stompcertkey" yaml:"StompCertKey"`
		StompPassword        string      `mapstructure:"stomppassword" yaml:"StompPassword"`
		StompUsername        string      `mapstructure:"stompusername" yaml:"StompUsername"`
		Topic                string      `mapstructure:"topic" yaml:"Topic"`
		URL                  string      `mapstructure:"url" yaml:"URL"`
		VerifyHeader         bool        `mapstructure:"verifyheader" yaml:"VerifyHeader"`
	} `mapstructure:"shoveler" yaml:"Shoveler"`
	StagePlugin struct {
		Hook               bool   `mapstructure:"hook" yaml:"Hook"`
		MountPrefix        string `mapstructure:"mountprefix" yaml:"MountPrefix"`
		OriginPrefix       string `mapstructure:"originprefix" yaml:"OriginPrefix"`
		ShadowOriginPrefix string `mapstructure:"shadoworiginprefix" yaml:"ShadowOriginPrefix"`
	} `mapstructure:"stageplugin" yaml:"StagePlugin"`
	TLSSkipVerify bool `mapstructure:"tlsskipverify" yaml:"TLSSkipVerify"`
	Transport     struct {
		DialerKeepAlive       time.Duration `mapstructure:"dialerkeepalive" yaml:"DialerKeepAlive"`
		DialerTimeout         time.Duration `mapstructure:"dialertimeout" yaml:"DialerTimeout"`
		ExpectContinueTimeout time.Duration `mapstructure:"expectcontinuetimeout" yaml:"ExpectContinueTimeout"`
		IdleConnTimeout       time.Duration `mapstructure:"idleconntimeout" yaml:"IdleConnTimeout"`
		MaxIdleConns          int           `mapstructure:"maxidleconns" yaml:"MaxIdleConns"`
		ResponseHeaderTimeout time.Duration `mapstructure:"responseheadertimeout" yaml:"ResponseHeaderTimeout"`
		TLSHandshakeTimeout   time.Duration `mapstructure:"tlshandshaketimeout" yaml:"TLSHandshakeTimeout"`
	} `mapstructure:"transport" yaml:"Transport"`
	Xrootd struct {
		AuthRefreshInterval    time.Duration `mapstructure:"authrefreshinterval" yaml:"AuthRefreshInterval"`
		Authfile               string        `mapstructure:"authfile" yaml:"Authfile"`
		ConfigFile             string        `mapstructure:"configfile" yaml:"ConfigFile"`
		DetailedMonitoringHost string        `mapstructure:"detailedmonitoringhost" yaml:"DetailedMonitoringHost"`
		DetailedMonitoringPort int           `mapstructure:"detailedmonitoringport" yaml:"DetailedMonitoringPort"`
		LocalMonitoringHost    string        `mapstructure:"localmonitoringhost" yaml:"LocalMonitoringHost"`
		MacaroonsKeyFile       string        `mapstructure:"macaroonskeyfile" yaml:"MacaroonsKeyFile"`
		ManagerHost            string        `mapstructure:"managerhost" yaml:"ManagerHost"`
		ManagerPort            int           `mapstructure:"managerport" yaml:"ManagerPort"`
		MaxStartupWait         time.Duration `mapstructure:"maxstartupwait" yaml:"MaxStartupWait"`
		Mount                  string        `mapstructure:"mount" yaml:"Mount"`
		Port                   int           `mapstructure:"port" yaml:"Port"`
		RobotsTxtFile          string        `mapstructure:"robotstxtfile" yaml:"RobotsTxtFile"`
		RunLocation            string        `mapstructure:"runlocation" yaml:"RunLocation"`
		ScitokensConfig        string        `mapstructure:"scitokensconfig" yaml:"ScitokensConfig"`
		Sitename               string        `mapstructure:"sitename" yaml:"Sitename"`
		SummaryMonitoringHost  string        `mapstructure:"summarymonitoringhost" yaml:"SummaryMonitoringHost"`
		SummaryMonitoringPort  int           `mapstructure:"summarymonitoringport" yaml:"SummaryMonitoringPort"`
	} `mapstructure:"xrootd" yaml:"Xrootd"`
}

func GetUnmarshaledConfig

func GetUnmarshaledConfig() (*Config, error)

Return the unmarshaled viper config struct as a pointer

func UnmarshalConfig

func UnmarshalConfig(v *viper.Viper) (*Config, error)

Unmarshal Viper config into a struct viperConfig and returns it

type DurationParam

type DurationParam struct {
	// contains filtered or unexported fields
}

func (DurationParam) GetDuration

func (dP DurationParam) GetDuration() time.Duration

func (DurationParam) GetName

func (dP DurationParam) GetName() string

func (DurationParam) IsSet

func (dP DurationParam) IsSet() bool

type IntParam

type IntParam struct {
	// contains filtered or unexported fields
}

func (IntParam) GetInt

func (iP IntParam) GetInt() int

func (IntParam) GetName

func (iP IntParam) GetName() string

func (IntParam) IsSet

func (iP IntParam) IsSet() bool

type ObjectParam

type ObjectParam struct {
	// contains filtered or unexported fields
}

func (ObjectParam) GetName

func (oP ObjectParam) GetName() string

func (ObjectParam) IsSet

func (oP ObjectParam) IsSet() bool

func (ObjectParam) Unmarshal

func (oP ObjectParam) Unmarshal(rawVal any) error

type StringParam

type StringParam struct {
	// contains filtered or unexported fields
}

func (StringParam) GetName

func (sP StringParam) GetName() string

func (StringParam) GetString

func (sP StringParam) GetString() string

func (StringParam) IsSet

func (sP StringParam) IsSet() bool

type StringSliceParam

type StringSliceParam struct {
	// contains filtered or unexported fields
}

func (StringSliceParam) GetName

func (slP StringSliceParam) GetName() string

func (StringSliceParam) GetStringSlice

func (slP StringSliceParam) GetStringSlice() []string

func (StringSliceParam) IsSet

func (slP StringSliceParam) IsSet() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL