From aed53358cae9c315d5abcd764848156e2ec2f493 Mon Sep 17 00:00:00 2001 From: Cannon Lock Date: Mon, 6 Nov 2023 15:22:55 -0600 Subject: [PATCH] Add base parameters file to be overwritten --- public/static/parameters.json | 866 ++++++++++++++++++++++++++++++++++ 1 file changed, 866 insertions(+) create mode 100644 public/static/parameters.json diff --git a/public/static/parameters.json b/public/static/parameters.json new file mode 100644 index 0000000..f96927e --- /dev/null +++ b/public/static/parameters.json @@ -0,0 +1,866 @@ +[ + { + "ThisIsATestConfig": { + "components": [ + "*" + ], + "default": false, + "description": "A bool indicating whether Pelican should emit debug messages in its log.", + "name": "Debug", + "type": "bool" + } + }, + { + "TLSSkipVerify": { + "components": [ + "origin", + "nsregistry", + "director" + ], + "default": false, + "description": "When set to true, Pelican will skip TLS verification. This allows a \"man in the middle\" attack on the connection but can simplify testing. Intended for developers.", + "name": "TLSSkipVerify", + "type": "bool" + } + }, + { + "IssuerKey": { + "components": [ + "client", + "nsregistry", + "director" + ], + "default": "$ConfigBase/issuer.jwk", + "description": "The name of the file containing a service's private `issuer.jwk` key.", + "name": "IssuerKey", + "root_default": "/etc/pelican/issuer.jwk", + "type": "filename" + } + }, + { + "Transport.DialerTimeout": { + "components": [ + "client", + "nsregistry", + "origin" + ], + "default": "10s", + "description": "Maximum time allowed for establishing a connection to target host.", + "name": "Transport.DialerTimeout", + "type": "duration" + } + }, + { + "Transport.DialerKeepAlive": { + "components": [ + "client", + "nsregistry", + "origin" + ], + "default": "30s", + "description": "Maximum time a TCP connection should be kept alive without any activity.", + "name": "Transport.DialerKeepAlive", + "type": "duration" + } + }, + { + "Transport.MaxIdleConns": { + "components": [ + "client", + "nsregistry", + "origin" + ], + "default": 30, + "description": "Maximum number of idle connections that the HTTP client should maintain in its connection pool.", + "name": "Transport.MaxIdleConns", + "type": "int" + } + }, + { + "Transport.IdleConnTimeout": { + "components": [ + "client", + "nsregistry", + "origin" + ], + "default": "90s", + "description": "Maximum duration an idle connection should remain open in the connection pool.", + "name": "Transport.IdleConnTimeout", + "type": "duration" + } + }, + { + "Transport.TLSHandshakeTimeout": { + "components": [ + "client", + "nsregistry", + "origin" + ], + "default": "15s", + "description": "Maximum time allowed for the TLS handshake to complete when making an HTTPS connection", + "name": "Transport.TLSHandshakeTimeout", + "type": "duration" + } + }, + { + "Transport.ExpectContinueTimeout": { + "components": [ + "client", + "nsregistry", + "origin" + ], + "default": "1s", + "description": "Timeout to control how long the client should wait for the \"Expect: 100-continue\" response from the server before sending the request body.", + "name": "Transport.ExpectContinueTimeout", + "type": "duration" + } + }, + { + "Transport.ResponseHeaderTimeout": { + "components": [ + "client", + "nsregistry", + "origin" + ], + "default": "10s", + "description": "Maximum time the client should wait for the response headers to be received from the server", + "name": "Transport.ResponseHeaderTimeout", + "type": "duration" + } + }, + { + "Logging.Level": { + "components": [ + "*" + ], + "default": "Error", + "description": "A string defining the log level of the client. Options include (going from most info to least): Trace, Debug, Info, Warn, Error, Fatal, Panic.", + "name": "Logging.Level", + "type": "string" + } + }, + { + "Federation.DiscoveryUrl": { + "components": [ + "*" + ], + "default": "none", + "description": "A URL pointing to the federation's metadata discovery host.", + "name": "Federation.DiscoveryUrl", + "type": "url" + } + }, + { + "Federation.TopologyNamespaceUrl": { + "components": [ + "director" + ], + "default": "none", + "description": "A URL containing namespace information for origins and caches configured via the OSG Topology application (a legacy integration). The URL should point to the hosted namespace.json.", + "name": "Federation.TopologyNamespaceUrl", + "osdf_default": "https://topology.opensciencegrid.org/stashcache/namespaces.json", + "type": "url" + } + }, + { + "Federation.DirectorUrl": { + "components": [ + "client", + "origin" + ], + "default": "none", + "description": "A URL indicating where a director service is hosted.", + "name": "Federation.DirectorUrl", + "osdf_default": "Default is determined dynamically through metadata at \u003cfederation URL\u003e/.well-known/pelican-configuration", + "type": "url" + } + }, + { + "Federation.NamespaceUrl": { + "components": [ + "client", + "director", + "origin" + ], + "default": "none", + "description": "A URL indicating where the namespace registry service is hosted.", + "name": "Federation.NamespaceUrl", + "osdf_default": "Default is determined dynamically through metadata at \u003cfederation URL\u003e/.well-known/pelican-configuration", + "type": "url" + } + }, + { + "Federation.JwkUrl": { + "components": [ + "client", + "origin" + ], + "default": "none", + "description": "A URL indicating where the JWKS for the Federation is hosted.", + "name": "Federation.JwkUrl", + "osdf_default": "Default is determined dynamically through metadata at \u003cfedertion URL\u003e/.well-known/pelican-configuration", + "type": "url" + } + }, + { + "Client.StoppedTransferTimeout": { + "components": [ + "client" + ], + "default": 100, + "description": "A timeout indicating when a \"stopped transfer\" event should be triggered.", + "name": "Client.StoppedTransferTimeout", + "type": "int" + } + }, + { + "Client.SlowTransferRampupTime": { + "components": [ + "client" + ], + "default": 30, + "description": "A duration indicating the rampup period for a slow transfer.", + "name": "Client.SlowTransferRampupTime", + "type": "int" + } + }, + { + "Client.SlowTransferWindow": { + "components": [ + "client" + ], + "default": 30, + "description": "A duration indicating the sliding window over which to consider transfer speeds for slow transfers.", + "name": "Client.SlowTransferWindow", + "type": "int" + } + }, + { + "Client.DisableHttpProxy": { + "components": [ + "client" + ], + "default": false, + "description": "A bool indicating whether the client's HTTP proxy should be disabled.", + "name": "Client.DisableHttpProxy", + "type": "bool" + } + }, + { + "DisableHttpProxy": { + "components": [ + "client" + ], + "default": false, + "description": "A legacy configuration for disabling the client's HTTP proxy. See Client.DisableHttpProxy for new config.", + "name": "DisableHttpProxy", + "type": "bool" + } + }, + { + "Client.DisableProxyFallback": { + "components": [ + "client" + ], + "default": false, + "description": "A bool indicating whether the a proxy fallback should be used by the client.", + "name": "Client.DisableProxyFallback", + "type": "bool" + } + }, + { + "DisableProxyFallback": { + "components": [ + "client" + ], + "default": false, + "description": "A legacy configuration for disabling the client's proxy fallback. See Client.DisableProxyFallback for new config.", + "name": "DisableProxyFallback", + "type": "bool" + } + }, + { + "Client.MinimumDownloadSpeed": { + "components": [ + "client" + ], + "default": 102400, + "description": "The minimum speed allowed for a client download before an error is thrown.", + "name": "Client.MinimumDownloadSpeed", + "type": "int" + } + }, + { + "MinimumDownloadSpeed": { + "components": [ + "client" + ], + "default": 102400, + "description": "A legacy configuration for setting the client's minimum download speed. See Client.MinimumDownloadSpeed for new config.", + "name": "MinimumDownloadSpeed", + "type": "int" + } + }, + { + "Origin.Url": { + "components": [ + "origin" + ], + "default": "Hostname", + "description": "The origin's configured URL, as reported to XRootD.", + "name": "Origin.Url", + "type": "string" + } + }, + { + "Origin.ExportVolume": { + "components": [ + "origin" + ], + "default": "none", + "description": "A path to the volume exported by an origin.", + "name": "Origin.ExportVolume", + "type": "string" + } + }, + { + "Origin.NamespacePrefix": { + "components": [ + "origin" + ], + "default": "none", + "description": "The filepath prefix at which an origin's contents are made globally available, eg /pelican/PUBLIC.", + "name": "Origin.NamespacePrefix", + "type": "string" + } + }, + { + "Origin.Multiuser": { + "components": [ + "origin" + ], + "default": false, + "description": "A bool indicating whether an origin is \"multiuser\", ie whether the underlying XRootD instance must be configured in multi user mode.", + "name": "Origin.Multiuser", + "root_default": true, + "type": "bool" + } + }, + { + "Origin.EnableCmsd": { + "components": [ + "origin" + ], + "default": true, + "description": "A bool indicating whether the origin should enable the `cmsd` daemon.", + "name": "Origin.EnableCmsd", + "type": "bool" + } + }, + { + "Origin.UIPasswordFile": { + "components": [ + "origin" + ], + "default": "$ConfigBase/origin-ui-passwd", + "description": "A filepath specifying where the Origin UI password file should be stored.", + "name": "Origin.UIPasswordFile", + "type": "string" + } + }, + { + "Origin.SelfTest": { + "components": [ + "origin" + ], + "default": true, + "description": "A bool indicating whether the origin should perform self health checks.", + "name": "Origin.SelfTest", + "type": "bool" + } + }, + { + "Origin.EnableIssuer": { + "components": [ + "origin" + ], + "default": false, + "description": "Enable the built-in issuer daemon for the origin.", + "name": "Origin.EnableIssuer", + "type": "bool" + } + }, + { + "Director.DefaultResponse": { + "components": [ + "director" + ], + "default": "cache", + "description": "The default response type of a redirect for a director instance. Can be either \"cache\" or \"origin\". If a director is hosted at https://director.com, then a GET request to https://director.com/foo/bar.txt will either redirect to the nearest cache for namespace /foo if Director.DefaultResponse is set to \"cache\" or to the origin for /foo if it is set to \"origin\".", + "name": "Director.DefaultResponse", + "type": "string" + } + }, + { + "Director.MaxMindKeyFile": { + "components": [ + "director" + ], + "default": "none", + "description": "A filepath to a MaxMind API key. The director service uses the MaxMind GeoLite City database (available [here](https://dev.maxmind.com/geoip/docs/databases/city-and-country)) to determine which cache is nearest to a client's IP address. The database, if not already found, will be downloaded automatically when a director is served and a valid key is present.", + "name": "Director.MaxMindKeyFile", + "type": "url" + } + }, + { + "Director.GeoIPLocation": { + "components": [ + "director" + ], + "default": "$ConfigBase/maxmind/GeoLite2-city.mmdb", + "description": "A filepath to the intended location of the MaxMind GeoLite City database. This option can be used either to load an existing database, or to configure the preferred download location if Pelican has a MaxMind API key.", + "name": "Director.GeoIPLocation", + "root_default": "/var/cache/pelican/maxmind/GeoLite2-City.mmdb", + "type": "filename" + } + }, + { + "Registry.DbLocation": { + "components": [ + "nsregistry" + ], + "default": "$ConfigBase/ns-registry.sqlite", + "description": "A filepath to the intended location of the namespace registry's database.", + "name": "Registry.DbLocation", + "root_default": "/var/lib/pelican/registry.sqlite", + "type": "filename" + } + }, + { + "Server.TLSCertificate": { + "components": [ + "origin", + "nsregistry", + "director" + ], + "default": "$ConfigBase/certificates/tls.crt", + "description": "The name of a file containing an X.509 host certificate to use for TLS authentication when running server components of Pelican.", + "name": "Server.TLSCertificate", + "root_default": "/etc/pelican/certificates/tls.crt", + "type": "filename" + } + }, + { + "Server.TLSCACertificateFile": { + "components": [ + "origin" + ], + "default": "/etc/pki/tls/cert.pem", + "description": "A filepath for a TLS certificate to be used by XRootD.", + "name": "Server.TLSCACertificateFile", + "type": "string" + } + }, + { + "Server.TLSCACertificateDirectory": { + "components": [ + "origin" + ], + "default": "/etc/pki/tls/cert.pem", + "description": "A filepath to the directory used for storing TLS certificates", + "name": "Server.TLSCACertificateDirectory", + "type": "string" + } + }, + { + "Server.TLSCAKey": { + "components": [ + "origin", + "nsregistry", + "director" + ], + "default": "$ConfigBase/certificates/tlsca.key", + "description": "The name of a file containing a private key corresponding to the TLSCACertificate. Used when running server components of Pelican.", + "name": "Server.TLSCAKey", + "root_default": "/etc/pelican/certificates/tlsca.key", + "type": "filename" + } + }, + { + "Server.TLSKey": { + "components": [ + "origin", + "nsregistry", + "director" + ], + "default": "$ConfigBase/certificates/tls.key", + "description": "The name of a file containing a private key corresponding to the TLSCertificate. Used when running server components of Pelican.", + "name": "Server.TLSKey", + "root_default": "/etc/pelican/certificates/tls.key", + "type": "filename" + } + }, + { + "Server.Port": { + "components": [ + "nsregistry", + "director", + "origin" + ], + "default": 8444, + "description": "The port number the Pelican web interface will be bound to.", + "name": "Server.Port", + "type": "int" + } + }, + { + "Server.Address": { + "components": [ + "origin" + ], + "default": "0.0.0.0", + "description": "A string-encoded IP address that the origin is configured to listen on.", + "name": "Server.Address", + "type": "string" + } + }, + { + "Server.ExternalAddress": { + "components": [ + "origin", + "director", + "nsregistry" + ], + "default": "none", + "description": "A URL indicating the server's address as it appears externally.", + "name": "Server.ExternalAddress", + "type": "url" + } + }, + { + "Server.Hostname": { + "components": [ + "origin", + "director", + "nsregistry" + ], + "default": "none", + "description": "The server's hostname", + "name": "Server.Hostname", + "type": "url" + } + }, + { + "Server.IssuerJwks": { + "components": [ + "origin", + "director", + "nsregistry" + ], + "default": "none", + "description": "A filepath indicating where the server's public JSON web keyset can be found.", + "name": "Server.IssuerJwks", + "type": "string" + } + }, + { + "Issuer.TomcatLocation": { + "components": [ + "origin" + ], + "default": "/opt/tomcat", + "description": "Location of the system tomcat installation", + "name": "Issuer.TomcatLocation", + "type": "string" + } + }, + { + "Issuer.ScitokensServerLocation": { + "components": [ + "origin" + ], + "default": "/opt/scitokens-server", + "description": "Location of the scitoken server installation", + "name": "Issuer.ScitokensServerLocation", + "type": "string" + } + }, + { + "OIDC.ClientIDFile": { + "components": [ + "nsregistry" + ], + "default": "$ConfigBase/oidc-client-id", + "description": "A filepath to a file containing an OIDC Client ID. This is used by the namespace registry to establish OIDC information for authenticated registration.", + "name": "OIDC.ClientIDFile", + "root_default": "/etc/pelican/oidc-client-id", + "type": "filename" + } + }, + { + "OIDC.ClientSecretFile": { + "components": [ + "nsregistry" + ], + "default": "$ConfigBase/oidc-client-secret", + "description": "A filepath to a file containing an OIDC Client Secret. This is used by the namespace registry to establish OIDC information for authenticated registration.", + "name": "OIDC.ClientSecretFile", + "root_default": "/etc/pelican/oidc-client-secret", + "type": "filename" + } + }, + { + "OIDC.DeviceAuthEndpoint": { + "components": [ + "nsregistry" + ], + "default": "none", + "description": "A URL describing an OIDC Device Auth Endpoint. This is used by the namespace registry to establish OIDC information for authenticated registration.", + "name": "OIDC.DeviceAuthEndpoint", + "type": "url" + } + }, + { + "OIDC.TokenEndpoint": { + "components": [ + "nsregistry" + ], + "default": "none", + "description": "A URL describing an OIDC Token Endpoint. This is used by the namespace registry to establish OIDC information for authenticated registration.", + "name": "OIDC.TokenEndpoint", + "type": "url" + } + }, + { + "OIDC.UserInfoEndpoint": { + "components": [ + "nsregistry" + ], + "default": "none", + "description": "A URL describing an OIDC User Info Endpoint. This is used by the namespace registry to establish OIDC information for authenticated registration.", + "name": "OIDC.UserInfoEndpoint", + "type": "url" + } + }, + { + "Xrootd.Port": { + "components": [ + "origin" + ], + "default": 8443, + "description": "The port over which XRootD should be made available.", + "name": "Xrootd.Port", + "type": "int" + } + }, + { + "Xrootd.RunLocation": { + "components": [ + "origin" + ], + "default": "$XDG_RUNTIME_DIR/pelican", + "description": "A directory where temporary configurations will be stored for the xrootd daemon started by the origin.\nFor non-root servers, if $XDG_RUNTIME_DIR is not set, a temporary directory will be created (and removed on shutdown)", + "name": "Xrootd.RunLocation", + "root_default": "/run/pelican/xrootd", + "type": "filename" + } + }, + { + "Xrootd.RobotsTxtFile": { + "components": [ + "origin" + ], + "default": "$ConfigBase/robots.txt", + "description": "Origins may be indexed by web search engines; to control the behavior of search engines, one may provide local policy via a [robots.txt file](https://en.wikipedia.org/wiki/Robots.txt).\nIf this file is not present, it will be auto-created with a default policy of blocking all indexing.", + "name": "Xrootd.RobotsTxtFile", + "root_default": "/etc/pelican/robots.txt", + "type": "filename" + } + }, + { + "Xrootd.ScitokensConfig": { + "default": "$ConfigBase/xrootd/scitokens.cfg", + "description": "The location of a file configuring xrootd's [token-based authorization subsystem](https://github.com/xrootd/xrootd/blob/master/src/XrdSciTokens/README.md). This file allows arbitrary changes to the authorization configuration and will be merged with any auto-generated configuration; it's recommended for use by experts only.", + "name": "Xrootd.ScitokensConfig", + "root_default": "/etc/pelican/xrootd/scitokens.cfg", + "type": "filename" + } + }, + { + "Xrootd.Mount": { + "components": [ + "origin" + ], + "default": "none", + "description": "The mount path for an instance of XRootD.", + "name": "Xrootd.Mount", + "type": "string" + } + }, + { + "Xrootd.MacaroonsKeyFile": { + "components": [ + "origin" + ], + "default": "none", + "description": "The filepath to a Macaroons key for setting up authorization in XRootD.", + "name": "Xrootd.MacaroonsKeyFile", + "type": "string" + } + }, + { + "Xrootd.Authfile": { + "components": [ + "origin" + ], + "default": "none", + "description": "The filepath to an auth file for setting up authorization in XRootD.", + "name": "Xrootd.Authfile", + "type": "string" + } + }, + { + "Xrootd.ManagerHost": { + "components": [ + "origin" + ], + "default": "none", + "description": "A URL pointing toward the XRootD instance's Manager Host.", + "name": "Xrootd.ManagerHost", + "type": "url" + } + }, + { + "Xrootd.SummaryMonitoringHost": { + "components": [ + "origin" + ], + "default": "none", + "description": "A URL pointing toward the XRootD instance's Summary Monitoring Host.", + "name": "Xrootd.SummaryMonitoringHost", + "type": "url" + } + }, + { + "Xrootd.DetailedMonitoringHost": { + "components": [ + "origin" + ], + "default": "none", + "description": "A URL pointing toward the XRootD instance's Detailed Monitoring Host.", + "name": "Xrootd.DetailedMonitoringHost", + "type": "url" + } + }, + { + "Xrootd.LocalMonitoringHost": { + "components": [ + "origin" + ], + "default": "none", + "description": "A URL pointing toward the XRootD instance's Local Monitoring Host.", + "name": "Xrootd.LocalMonitoringHost", + "type": "url" + } + }, + { + "Xrootd.Sitename": { + "components": [ + "origin" + ], + "default": "none", + "description": "The sitename, as configured for XRootD.", + "name": "Xrootd.Sitename", + "type": "string" + } + }, + { + "Monitoring.DataLocation": { + "components": [ + "origin" + ], + "default": "$ConfigBase/monitoring/data", + "description": "A filepath where Prometheus should host its monitoring data.", + "name": "Monitoring.DataLocation", + "root_default": "/var/lib/pelican/monitoring/data", + "type": "string" + } + }, + { + "Monitoring.PortLower": { + "components": [ + "origin" + ], + "default": 9930, + "description": "The lower end of a range of monitoring ports for Prometheus configuration.", + "name": "Monitoring.PortLower", + "type": "int" + } + }, + { + "Monitoring.PortHigher": { + "components": [ + "origin" + ], + "default": 9999, + "description": "The lower end of a range of monitoring ports for Prometheus configuration.", + "name": "Monitoring.PortHigher", + "type": "int" + } + }, + { + "Plugin.Token": { + "components": [ + "plugin" + ], + "default": "none", + "description": "The specified token for pelican plugin staging", + "name": "Plugin.Token", + "type": "string" + } + }, + { + "StagePlugin.Hook": { + "components": [ + "plugin" + ], + "default": false, + "description": "Flag to specify HTCondor hook behavior", + "name": "StagePlugin.Hook", + "type": "bool" + } + }, + { + "StagePlugin.MountPrefix": { + "components": [ + "plugin" + ], + "default": "none", + "description": "Prefix corresponding to the local mount point of the origin", + "name": "StagePlugin.MountPrefix", + "type": "string" + } + }, + { + "StagePlugin.OriginPrefix": { + "components": [ + "plugin" + ], + "default": "none", + "description": "Prefix corresponding to the local origin", + "name": "StagePlugin.OriginPrefix", + "type": "string" + } + }, + { + "StagePlugin.ShadowOriginPrefix": { + "components": [ + "plugin" + ], + "default": "none", + "description": "Prefix corresponding to the shadow origin", + "name": "StagePlugin.ShadowOriginPrefix", + "type": "string" + } + } +] \ No newline at end of file