aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2021-03-18 11:49:26 +0100
committergjoranv <gv@verizonmedia.com>2021-03-23 22:56:31 +0100
commit121e22ef74bb74cbae8aac6d7c01cc2de6114086 (patch)
tree7bc5481c9b3cc44af64167fd239e8027b2d02681
parent1110d14c9c99f29b60f0551c6cd36d549104227b (diff)
Add config defs from jdisc_http_service and container-core-config
-rw-r--r--container-core/src/main/resources/configdefinitions/container.core.access-log.def23
-rw-r--r--container-core/src/main/resources/configdefinitions/container.logging.connection-log.def10
-rw-r--r--container-core/src/main/resources/configdefinitions/jdisc.http.client.jdisc.http.client.http-client.def36
-rw-r--r--container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def127
-rw-r--r--container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.server.def67
-rw-r--r--container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.servlet-paths.def5
6 files changed, 268 insertions, 0 deletions
diff --git a/container-core/src/main/resources/configdefinitions/container.core.access-log.def b/container-core/src/main/resources/configdefinitions/container.core.access-log.def
new file mode 100644
index 00000000000..69058b3d8da
--- /dev/null
+++ b/container-core/src/main/resources/configdefinitions/container.core.access-log.def
@@ -0,0 +1,23 @@
+# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+namespace=container.core
+
+# File name patterns supporting the expected time variables, e.g. ".%Y%m%d%H%M%S"
+fileHandler.pattern string
+
+# When should rotation happen, in minutes after midnight
+# Does this really need to be configurable?
+# Could just configure "every N minutes" instead
+fileHandler.rotation string default="0 60 ..."
+
+# Use this as the name of the symlink created pointing to the newest file in the "date" naming scheme.
+# This is ignored if the sequence naming scheme is used.
+fileHandler.symlink string default=""
+
+# compress the previous access log after rotation
+fileHandler.compressOnRotation bool default=true
+
+# Compression format
+fileHandler.compressionFormat enum {GZIP, ZSTD} default=GZIP
+
+# Max queue length of file handler
+fileHandler.queueSize int default=10000
diff --git a/container-core/src/main/resources/configdefinitions/container.logging.connection-log.def b/container-core/src/main/resources/configdefinitions/container.logging.connection-log.def
new file mode 100644
index 00000000000..e845a8351d5
--- /dev/null
+++ b/container-core/src/main/resources/configdefinitions/container.logging.connection-log.def
@@ -0,0 +1,10 @@
+namespace=container.logging
+
+# Name of the cluster
+cluster string
+
+# Log directory name
+logDirectoryName string default="qrs"
+
+# Max queue length of file handler
+queueSize int default=10000 \ No newline at end of file
diff --git a/container-core/src/main/resources/configdefinitions/jdisc.http.client.jdisc.http.client.http-client.def b/container-core/src/main/resources/configdefinitions/jdisc.http.client.jdisc.http.client.http-client.def
new file mode 100644
index 00000000000..8f99fccec94
--- /dev/null
+++ b/container-core/src/main/resources/configdefinitions/jdisc.http.client.jdisc.http.client.http-client.def
@@ -0,0 +1,36 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+namespace=jdisc.http.client
+
+userAgent string default = "JDisc/1.0"
+chunkedEncodingEnabled bool default = false
+compressionEnabled bool default = false
+connectionPoolEnabled bool default = true
+followRedirects bool default = false
+removeQueryParamsOnRedirect bool default = true
+sslConnectionPoolEnabled bool default = true
+proxyServer string default = ""
+useProxyProperties bool default = false
+useRawUri bool default = false
+compressionLevel int default = -1
+maxNumConnections int default = -1
+maxNumConnectionsPerHost int default = -1
+maxNumRedirects int default = 5
+maxNumRetries int default = 0
+connectionTimeout double default = 60
+idleConnectionInPoolTimeout double default = 60
+idleConnectionTimeout double default = 60
+idleWebSocketTimeout double default = 15
+requestTimeout double default = 60
+
+ssl.enabled bool default = false
+ssl.keyStoreType string default = "JKS"
+
+# Vespa home is prepended is path is relative
+ssl.keyStorePath string default = "jdisc_container/keyStore.jks"
+
+# Vespa home is prepended is path is relative
+ssl.trustStorePath string default = "conf/jdisc_container/trustStore.jks"
+
+ssl.keyDBKey string default = "jdisc_container"
+ssl.algorithm string default = "SunX509"
+ssl.protocol string default = "TLS"
diff --git a/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def b/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def
new file mode 100644
index 00000000000..055e5ad62d2
--- /dev/null
+++ b/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def
@@ -0,0 +1,127 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+namespace=jdisc.http
+
+# The TCP port to listen to for this connector.
+listenPort int default=0
+
+# The connector name
+name string default="default"
+
+# The header field cache size.
+headerCacheSize int default=512
+
+# The size of the buffer into which response content is aggregated before being sent to the client.
+outputBufferSize int default=65536
+
+# The maximum size of a request header.
+requestHeaderSize int default=65536
+
+# The maximum size of a response header.
+responseHeaderSize int default=65536
+
+# The accept queue size (also known as accept backlog).
+acceptQueueSize int default=0
+
+# Whether the server socket reuses addresses.
+reuseAddress bool default=true
+
+# The maximum idle time for a connection, which roughly translates to the Socket.setSoTimeout(int).
+idleTimeout double default=180.0
+
+# DEPRECATED - Ignored, no longer in use
+stopTimeout double default = 30.0
+# TODO Vespa 8 Remove stop timeout
+
+# Whether or not to have socket keep alive turned on.
+tcpKeepAliveEnabled bool default=false
+
+# Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm).
+tcpNoDelay bool default=true
+
+# Whether to enable connection throttling. New connections will be dropped when a threshold is exceeded.
+throttling.enabled bool default=false
+
+# Max number of connections.
+throttling.maxConnections int default=-1
+
+# Max memory utilization as a value between 0 and 1.
+throttling.maxHeapUtilization double default=-1.0
+
+# Max connection accept rate per second.
+throttling.maxAcceptRate int default=-1
+
+# Idle timeout in seconds applied to endpoints when a threshold is exceeded.
+throttling.idleTimeout double default=-1.0
+
+# Whether to enable TLS on connector when Vespa is configured with TLS.
+# The connector will implicitly enable TLS if set to 'true' and Vespa TLS is enabled.
+implicitTlsEnabled bool default=true
+
+# Whether to enable SSL for this connector.
+ssl.enabled bool default=false
+
+# File with private key in PEM format. Specify either this or privateKey, but not both
+ssl.privateKeyFile string default=""
+
+# Private key in PEM format. Specify either this or privateKeyFile, but not both
+ssl.privateKey string default=""
+
+# File with certificate in PEM format. Specify either this or certificate, but not both
+ssl.certificateFile string default=""
+
+# Certificate in PEM format. Specify either this or certificateFile, but not both
+ssl.certificate string default=""
+
+# with trusted CA certificates in PEM format. Used to verify clients
+# - this is the name of a file on the local container file system
+# - only one of caCertificateFile and caCertificate
+ssl.caCertificateFile string default=""
+
+# with trusted CA certificates in PEM format. Used to verify clients
+# - this is the actual certificates instead of a pointer to the file
+# - only one of caCertificateFile and caCertificate
+ssl.caCertificate string default=""
+
+# Client authentication mode. See SSLEngine.getNeedClientAuth()/getWantClientAuth() for details.
+ssl.clientAuth enum { DISABLED, WANT_AUTH, NEED_AUTH } default=DISABLED
+
+# List of enabled cipher suites. JDisc will use Vespa default if empty.
+ssl.enabledCipherSuites[] string
+
+# List of enabled TLS protocol versions. JDisc will use Vespa default if empty.
+ssl.enabledProtocols[] string
+
+# Enforce TLS client authentication for https requests at the http layer.
+# Intended to be used with connectors with optional client authentication enabled.
+# 401 status code is returned for requests from non-authenticated clients.
+tlsClientAuthEnforcer.enable bool default=false
+
+# Paths where client authentication should not be enforced. To be used in combination with WANT_AUTH. Typically used for health checks.
+tlsClientAuthEnforcer.pathWhitelist[] string
+
+# Use connector only for proxying '/status.html' health checks. Any ssl configuration will be ignored if this option is enabled.
+healthCheckProxy.enable bool default=false
+
+# Which port to proxy
+healthCheckProxy.port int default=8080
+
+# Low-level timeout for proxy client (socket connect, socket read, connection pool). Aggregate timeout will be longer.
+healthCheckProxy.clientTimeout double default=1.0
+
+# Enable PROXY protocol V1/V2 support (only for https connectors).
+proxyProtocol.enabled bool default=false
+
+# Allow https in parallel with proxy protocol
+proxyProtocol.mixedMode bool default=false
+
+# Redirect all requests to https port
+secureRedirect.enabled bool default=false
+
+# Target port for redirect
+secureRedirect.port int default=443
+
+# Maximum number of request per connection before server marks connections as non-persistent. Set to '0' to disable.
+maxRequestsPerConnection int default=0
+
+# Maximum number of seconds a connection can live before it's marked as non-persistent. Set to '0' to disable.
+maxConnectionLife double default=0.0
diff --git a/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.server.def b/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.server.def
new file mode 100644
index 00000000000..049080dedbd
--- /dev/null
+++ b/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.server.def
@@ -0,0 +1,67 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+namespace=jdisc.http
+
+# Whether to enable developer mode, where stack traces etc are visible in response bodies.
+developerMode bool default=false
+
+# The gzip compression level to use, if compression is enabled in a request.
+responseCompressionLevel int default=6
+
+# DEPRECATED - Ignored, no longer in use.
+httpKeepAliveEnabled bool default=true
+# TODO Vespa 8 Remove httpKeepAliveEnabled
+
+# Maximum number of request per http connection before server will hangup.
+# Naming taken from apache http server.
+# 0 means never hangup.
+# DEPRECATED - Ignored, no longer in use. Use similar parameter in connector config instead.
+maxKeepAliveRequests int default=0
+# TODO Vespa 8 Remove maxKeepAliveRequests
+
+# Whether the request body of POSTed forms should be removed (form parameters are available as request parameters).
+removeRawPostBodyForWwwUrlEncodedPost bool default=false
+
+# The component ID of a filter
+filter[].id string
+
+# The binding of a filter
+filter[].binding string
+
+# Filter id for a default filter (chain)
+defaultFilters[].filterId string
+
+# The local port which the default filter should be applied to
+defaultFilters[].localPort int
+
+# Reject all requests not handled by a request filter (chain)
+strictFiltering bool default = false
+
+# Max number of threads in underlying Jetty pool
+maxWorkerThreads int default = 200
+
+# Min number of threads in underlying Jetty pool
+minWorkerThreads int default = 8
+
+# Stop timeout in seconds. The maximum allowed time to process in-flight requests during server shutdown. Setting it to 0 disable graceful shutdown.
+stopTimeout double default = 30.0
+
+# Enable embedded JMX server. Note: only accessible through the loopback interface.
+jmx.enabled bool default = false
+
+# Listen port for the JMX server.
+jmx.listenPort int default = 1099
+
+# Paths that should be reported with monitoring dimensions where applicable
+metric.monitoringHandlerPaths[] string
+
+# Paths that should be reported with search dimensions where applicable
+metric.searchHandlerPaths[] string
+
+# HTTP request headers that contain remote address
+accessLog.remoteAddressHeaders[] string
+
+# HTTP request headers that contain remote port
+accessLog.remotePortHeaders[] string
+
+# Whether to enable jdisc connection log
+connectionLog.enabled bool default=false
diff --git a/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.servlet-paths.def b/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.servlet-paths.def
new file mode 100644
index 00000000000..86707b027be
--- /dev/null
+++ b/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.servlet-paths.def
@@ -0,0 +1,5 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+namespace=jdisc.http
+
+# path by servlet componentId
+servlets{}.path string