From 289fba7d997190ffc2583cd8cde5bfb4922409b5 Mon Sep 17 00:00:00 2001 From: Anton Babak <76536883+AntoxaAntoxic@users.noreply.github.com> Date: Tue, 10 Dec 2024 12:41:32 +0100 Subject: [PATCH] Add all server config properties for config.md file (#3591) --- docs/config-app.md | 95 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 90 insertions(+), 5 deletions(-) diff --git a/docs/config-app.md b/docs/config-app.md index 0f0897437fa..ea275c2f151 100644 --- a/docs/config-app.md +++ b/docs/config-app.md @@ -20,12 +20,17 @@ This parameter exists to allow to change the location of the directory Vert.x wi - `server.ssl` - enable SSL/TLS support. - `server.jks-path` - path to the java keystore (if ssl is enabled). - `server.jks-password` - password for the keystore (if ssl is enabled). +- `server.cpu-load-monitoring.measurement-interval-ms` - the CPU load monitoring interval (milliseconds) ## HTTP Server - `server.max-headers-size` - set the maximum length of all headers, deprecated(use server.max-headers-size instead). - `server.ssl` - enable SSL/TLS support, deprecated(use server.ssl instead). - `server.jks-path` - path to the java keystore (if ssl is enabled), deprecated(use server.jks-path instead). - `server.jks-password` - password for the keystore (if ssl is enabled), deprecated(use server.jks-password instead). +- `server.max-initial-line-length` - set the maximum length of the initial line +- `server.idle-timeout` - set the maximum time idle connections could exist before being reaped +- `server.enable-quickack` - enables the TCP_QUICKACK option - only with linux native transport. +- `server.enable-reuseport` - set the value of reuse port - `server.http.server-instances` - how many http server instances should be created. This parameter affects how many CPU cores will be utilized by the application. Rough assumption - one http server instance will keep 1 CPU core busy. - `server.http.enabled` - if set to `true` enables http server @@ -107,11 +112,11 @@ Removes and downloads file again if depending service cant process probably corr - `auction.timeout-notification.log-sampling-rate` - instructs apply sampling when logging bidder timeout notification results ## Video -- `auction.video.stored-required` - flag forces to merge with stored request -- `auction.blocklisted-accounts` - comma separated list of blocklisted account IDs. +- `video.stored-request-required` - flag forces to merge with stored request - `video.stored-requests-timeout-ms` - timeout for stored requests fetching. -- `auction.ad-server-currency` - default currency for video auction, if its value was not specified in request. Important note: PBS uses ISO-4217 codes for the representation of currencies. +- `auction.blocklisted-accounts` - comma separated list of blocklisted account IDs. - `auction.video.escape-log-cache-regex` - regex to remove from cache debug log xml. +- `auction.ad-server-currency` - default currency for video auction, if its value was not specified in request. Important note: PBS uses ISO-4217 codes for the representation of currencies. ## Setuid - `setuid.default-timeout-ms` - default operation timeout for requests to `/setuid` endpoint. @@ -126,6 +131,7 @@ Removes and downloads file again if depending service cant process probably corr ## Vtrack - `vtrack.allow-unknown-bidder` - flag that allows servicing requests with bidders who were not configured in Prebid Server. - `vtrack.modify-vast-for-unknown-bidder` - flag that allows modifying the VAST value and adding the impression tag to it, for bidders who were not configured in Prebid Server. +- `vtrack.default-timeout-ms` - a default timeout in ms for the vtrack request ## Adapters - `adapters.*` - the section for bidder specific configuration options. @@ -160,9 +166,8 @@ Also, each bidder could have its own bidder-specific options. ## Logging - `logging.http-interaction.max-limit` - maximum value for the number of interactions to log in one take. - -## Logging - `logging.change-level.max-duration-ms` - maximum duration (in milliseconds) for which logging level could be changed. +- `logging.sampling-rate` - a percentage of messages that are logged ## Currency Converter - `currency-converter.external-rates.enabled` - if equals to `true` the currency conversion service will be enabled to fetch updated rates and convert bid currencies from external source. Also enables `/currency-rates` endpoint on admin port. @@ -213,6 +218,11 @@ Also, each bidder could have its own bidder-specific options. - `admin-endpoints.collected-metrics.on-application-port` - when equals to `false` endpoint will be bound to `admin.port`. - `admin-endpoints.collected-metrics.protected` - when equals to `true` endpoint will be protected by basic authentication configured in `admin-endpoints.credentials` +- `admin-endpoints.logging-changelevel.enabled` - if equals to `true` the endpoint will be available. +- `admin-endpoints.logging-changelevel.path` - the server context path where the endpoint will be accessible +- `admin-endpoints.logging-changelevel.on-application-port` - when equals to `false` endpoint will be bound to `admin.port`. +- `admin-endpoints.logging-changelevel.protected` - when equals to `true` endpoint will be protected by basic authentication configured in `admin-endpoints.credentials` + - `admin-endpoints.credentials` - user and password for access to admin endpoints if `admin-endpoints.[NAME].protected` is true`. ## Metrics @@ -264,6 +274,9 @@ See [metrics documentation](metrics.md) for complete list of metrics submitted a - `metrics.accounts.basic-verbosity` - a list of accounts for which only basic metrics will be submitted. - `metrics.accounts.detailed-verbosity` - a list of accounts for which all metrics will be submitted. +For `JVM` metrics +- `metrics.jmx.enabled` - if equals to `true` then `jvm.gc` and `jvm.memory` metrics will be submitted + ## Cache - `cache.scheme` - set the external Cache Service protocol: `http`, `https`, etc. - `cache.host` - set the external Cache Service destination in format `host:port`. @@ -367,6 +380,19 @@ contain 'WHERE last_updated > ?' for MySQL and 'WHERE last_updated > $1' for Pos - `settings.in-memory-cache.database-update.refresh-rate` - refresh period in ms for stored request updates. - `settings.in-memory-cache.database-update.timeout` - timeout for obtaining stored request updates. +For S3 storage configuration +- `settings.in-memory-cache.s3-update.refresh-rate` - refresh period in ms for stored request updates in S3 +- `settings.s3.access-key-id` - an access key +- `settings.s3.secret-access-key` - a secret access key +- `settings.s3.region` - a region, AWS_GLOBAL by default +- `settings.s3.endpoint` - an endpoint +- `settings.s3.bucket` - a bucket name +- `settings.s3.force-path-style` - forces the S3 client to use path-style addressing for buckets. +- `settings.s3.accounts-dir` - a directory with stored accounts +- `settings.s3.stored-imps-dir` - a directory with stored imps +- `settings.s3.stored-requests-dir` - a directory with stored requests +- `settings.s3.stored-responses-dir` - a directory with stored responses + For targeting available next options: - `settings.targeting.truncate-attr-chars` - set the max length for names of targeting keywords (0 means no truncation). @@ -399,6 +425,7 @@ If not defined in config all other Health Checkers would be disabled and endpoin - `gdpr.eea-countries` - comma separated list of countries in European Economic Area (EEA). - `gdpr.default-value` - determines GDPR in scope default value (if no information in request and no geolocation data). - `gdpr.host-vendor-id` - the organization running a cluster of Prebid Servers. +- `datacenter-region` - the datacenter region of a cluster of Prebid Servers - `gdpr.enabled` - gdpr feature switch. Default `true`. - `gdpr.purposes.pN.enforce-purpose` - define type of enforcement confirmation: `no`/`basic`/`full`. Default `full` - `gdpr.purposes.pN.enforce-vendors` - if equals to `true`, user must give consent to use vendors. Purposes will be omitted. Default `true` @@ -428,9 +455,30 @@ If not defined in config all other Health Checkers would be disabled and endpoin - `geolocation.type` - set the geo location service provider, can be `maxmind` or custom provided by hosting company. - `geolocation.maxmind` - section for [MaxMind](https://www.maxmind.com) configuration as geo location service provider. - `geolocation.maxmind.remote-file-syncer` - use RemoteFileSyncer component for downloading/updating MaxMind database file. See [RemoteFileSyncer](#remote-file-syncer) section for its configuration. +- `geolocation.configurations[]` - a list of geo-lookup configurations for the `configuration` `geolocation.type` +- `geolocation.configurations[].address-pattern` - an address pattern for matching an IP to look up +- `geolocation.configurations[].geo-info.continent` - a continent to return on the `configuration` geo-lookup +- `geolocation.configurations[].geo-info.country` - a country to return on the `configuration` geo-lookup +- `geolocation.configurations[].geo-info.region` - a region to return on the `configuration` geo-lookup +- `geolocation.configurations[].geo-info.region-code` - a region code to return on the `configuration` geo-lookup +- `geolocation.configurations[].geo-info.city` - a city to return on the `configuration` geo-lookup +- `geolocation.configurations[].geo-info.metro-google` - a metro Google to return on the `configuration` geo-lookup +- `geolocation.configurations[].geo-info.metro-nielsen` - a metro Nielsen to return on the `configuration` geo-lookup +- `geolocation.configurations[].geo-info.zip` - a zip to return on the `configuration` geo-lookup +- `geolocation.configurations[].geo-info.connection-speed` - a connection-speed to return on the `configuration` geo-lookup +- `geolocation.configurations[].geo-info.lat` - a lat to return on the `configuration` geo-lookup +- `geolocation.configurations[].geo-info.lon` - a lon to return on the `configuration` geo-lookup +- `geolocation.configurations[].geo-info.time-zone` - a time zone to return on the `configuration` geo-lookup + +## IPv6 +- `ipv6.always-mask-right` - a bit mask for masking an IPv6 address of the device +- `ipv6.anon-left-mask-bits` - a bit mask for anonymizing an IPv6 address of the device +- `ipv6.private-networks` - a list of known private/local networks to skip masking of an IP address of the device ## Analytics - `analytics.global.adapters` - Names of analytics adapters that will work for each request, except those disabled at the account level. + +For the `pubstack` analytics adapter - `analytics.pubstack.enabled` - if equals to `true` the Pubstack analytics module will be enabled. Default value is `false`. - `analytics.pubstack.endpoint` - url for reporting events and fetching configuration. - `analytics.pubstack.scopeid` - defined the scope provided by the Pubstack Support Team. @@ -440,6 +488,26 @@ If not defined in config all other Health Checkers would be disabled and endpoin - `analytics.pubstack.buffers.count` - threshold in events count for buffer to send events - `analytics.pubstack.buffers.report-ttl-ms` - max period between two reports. +For the `greenbids` analytics adapter +- `analytics.greenbids.enabled` - if equals to `true` the Greenbids analytics module will be enabled. Default value is `false`. +- `analytics.greenbids.analytics-server-version` - a server version to add to the event +- `analytics.greenbids.analytics-server` - url for reporting events +- `analytics.greenbids.timeout-ms` - timeout in milliseconds for report requests. +- `analytics.greenbids.exploratory-sampling-split` - a sampling rate for report requests +- `analytics.greenbids.default-sampling-rate` - a default sampling rate for report requests + +For the `agma` analytics adapter +- `analytics.agma.enabled` - if equals to `true` the Agma analytics module will be enabled. Default value is `false`. +- `analytics.agma.endpoint.url` - url for reporting events +- `analytics.agma.endpoint.timeout-ms` - timeout in milliseconds for report requests. +- `analytics.agma.endpoint.gzip` - if equals to `true` the Agma analytics module enables gzip encoding. Default value is `false`. +- `analytics.agma.buffers.size-bytes` - threshold in bytes for buffer to send events. +- `analytics.agma.buffers.count` - threshold in events count for buffer to send events. +- `analytics.agma.buffers.timeout-ms` - max period between two reports. +- `analytics.agma.accounts[].code` - an account code to send with an event +- `analytics.agma.accounts[].publisher-id` - a publisher id to match an event to send +- `analytics.agma.accounts[].site-app-id` - a site or app id to match an event to send + ## Modules - `hooks.admin.module-execution` - a key-value map, where a key is a module name and a value is a boolean, that defines whether modules hooks should/should not be always executed; if the module is not specified it is executed by default when it's present in the execution plan - `settings.modules.require-config-to-invoke` - when enabled it requires a runtime config to exist for a module. @@ -450,3 +518,20 @@ If not defined in config all other Health Checkers would be disabled and endpoin To override (force enable) account and/or bidder adapter debug setting, a client must include `x-pbs-debug-override` HTTP header in the auction call containing same token as in the `debug.override-token` property. This will make Prebid Server ignore account `auction.debug-allow` and/or `adapters..debug.allow` properties. + +## Privacy Sandbox +- `auction.privacysandbox.topicsdomain` - the list of Sec-Browsing-Topics for the Privacy Sandbox + +## AMP +- `amp.custom-targeting` - a list of bidders that support custom targeting + +## Hooks +- `hooks.host-execution-plan` - a host execution plan for modules +- `hooks.default-account-execution-plan` - a default account execution plan + +## Price Floors Debug +- `price-floors.enabled` - enables price floors for account if true. Defaults to true. +- `price-floors.min-max-age-sec` - a price floors fetch data time to live in cache. +- `price-floors.min-period-sec` - a refresh period for fetching price floors data. +- `price-floors.min-timeout-ms` - a min timeout in ms for fetching price floors data. +- `price-floors.max-timeout-ms` - a max timeout in ms for fetching price floors data.