Documentation Index
Fetch the complete documentation index at: https://tyk.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
Tyk MDCB Configuration
The Tyk MDCB server is configured primarily via thetyk_sink.conf file, this file resides in /opt/tyk-sink on most systems, but can also live anywhere and be directly targeted with the -c flag.
Environment Variables
Environment variables (env var) can be used to override the settings defined in the configuration file. Where an environment variable is specified, its value will take precedence over the value in the configuration file.Environment Variable Type Mapping
When configuring Tyk components using environment variables, it’s important to understand how different data types are represented. The type of each variable is based on its definition in the Go source code. This section provides a guide on how to format values for common data types.| Go Type | Environment Variable Format | Example |
|---|---|---|
string | A regular string of text. | TYK_GW_SECRET="mysecret" |
int, int64 | A whole number. | TYK_GW_LISTENPORT=8080 |
bool | true or false. | TYK_GW_USEDBAPPCONFIG=true |
[]string | A comma-separated list of strings. | TYK_PMP_PUMPS_STDOUT_FILTERS_SKIPPEDAPIIDS="api1,api2,api3" |
map[string]string | A comma-separated list of key:value pairs. | TYK_GW_GLOBALHEADERS="X-Tyk-Test:true,X-Tyk-Version:1.0" |
map[string]interface{} | A JSON string representing the object. | TYK_GW_POLICIES_POLICYSOURCE_CONFIG='{"connection_string": "..."}' |
For complex types like
map[string]interface{}, the value should be a valid JSON string. For []string and map[string]string, ensure there are no spaces around the commas unless they are part of the value itself.Default Ports
| Application | Port |
|---|---|
| MongoDB | 27017 |
| Redis | 6379 |
| Tyk Dashboard | |
| Developer Portal | 3000 |
| Admin Dashboard | 3000 |
| Admin Dashboard API | 3000 |
| Tyk Gateway | |
| Management API | 8080 |
| MDCB | |
| RPC services | 9090 |
| HTTP endpoints | 8181 |
listen_port
ENV: TYK_MDCB_LISTENPORTType:
intThe RPC port to which Data Plane Gateways will connect. You must open this port to accept connections via your firewall.
Default if not set: 9091.
healthcheck_port
ENV: TYK_MDCB_HEALTHCHECKPORTType:
intThis port lets MDCB allow standard health checks.
Default if not set: 8181. Deprecated: Use
http_port instead.
healthcheck
Healthcheck settingshealthcheck.cache_renewal_period
ENV: TYK_MDCB_HEALTHCHECK_CACHERENEWALPERIODType:
intSpecifies the time interval (in seconds) at which the healthchecker refreshes its cached health status information (redis and DB).
http_port
ENV: TYK_MDCB_HTTPPORTType:
intThe HTTP port exposes different endpoints for monitoring and debugging MDCB. The default value is 8181. Exposed endpoints include:
- /health - Provides the health status of MDCB.
- /dataplanes - Provides information about the dataplanes connected to MDCB (
security.enable_http_secure_endpointsmust be enabled). - /debug/pprof/* - Provides profiling information (
enable_http_profilermust be enabled).
enable_http_profiler
ENV: TYK_MDCB_HTTPPROFILEType:
boolEnable debugging of your Tyk MDCB by exposing profiling information.
server_options
MDCB gorpc server configurationserver_options.use_ssl
ENV: TYK_MDCB_SERVEROPTIONS_USESSLType:
boolIf use_ssl is set to true, you need to enter the cert_file and key_file path names for certificate.
server_options.certificate
cert data to expose the http serverserver_options.certificate.cert_file
ENV: TYK_MDCB_SERVEROPTIONS_CERTIFICATE_CERTFILEType:
stringFilesystem location for pem encoded certificate
server_options.certificate.key_file
ENV: TYK_MDCB_SERVEROPTIONS_CERTIFICATE_KEYFILEType:
stringFilesystem location for pem encoded private key
server_options.min_version
ENV: TYK_MDCB_SERVEROPTIONS_MINVERSIONType:
uint16The min_version setting should be the minimum TLS protocol version required from the client.
For TLS 1.0 use 769
For TLS 1.1 use 770
For TLS 1.2 use 771
For TLS 1.3 use 772
See Controlling TLS Version & Cipher Suites for more details.
server_options.ssl_ciphers
ENV: TYK_MDCB_SERVEROPTIONS_CIPHERSType:
[]stringIs the list of names supported cipher suites (IANA) for TLS versions up to TLS 1.2. This defaults to a list of secure cipher suites.
server_options.ssl_certificates
ENV: TYK_MDCB_SERVEROPTIONS_SSLCERTIFICATESType:
[]stringSSL certificates used by your MDCB server. A list of certificate IDs or path to files.
http_server_options
HTTPServerOptions configures SSL/TLS for the HTTP server, affecting security settings. It applies to endpoints like /health for health checks, /dataplanes for node information and /debug/pprof/ for performance profiling.http_server_options.use_ssl
ENV: TYK_MDCB_HTTPSERVEROPTIONS_USESSLType:
boolIf use_ssl is set to true, you need to enter the cert_file and key_file path names for certificate.
http_server_options.certificate
cert data to expose the http serverhttp_server_options.certificate.cert_file
ENV: TYK_MDCB_HTTPSERVEROPTIONS_CERTIFICATE_CERTFILEType:
stringFilesystem location for pem encoded certificate
http_server_options.certificate.key_file
ENV: TYK_MDCB_HTTPSERVEROPTIONS_CERTIFICATE_KEYFILEType:
stringFilesystem location for pem encoded private key
http_server_options.min_version
ENV: TYK_MDCB_HTTPSERVEROPTIONS_MINVERSIONType:
uint16The min_version setting should be the minimum TLS protocol version required from the client.
For TLS 1.0 use 769
For TLS 1.1 use 770
For TLS 1.2 use 771
For TLS 1.3 use 772
See Controlling TLS Version & Cipher Suites for more details.
http_server_options.ssl_ciphers
ENV: TYK_MDCB_HTTPSERVEROPTIONS_CIPHERSType:
[]stringIs the list of names supported cipher suites (IANA) for TLS versions up to TLS 1.2. This defaults to a list of secure cipher suites.
http_server_options.ssl_certificates
ENV: TYK_MDCB_HTTPSERVEROPTIONS_SSLCERTIFICATESType:
[]stringSSL certificates used by your MDCB server. A list of certificate IDs or path to files.
security.private_certificate_encoding_secret
ENV: TYK_MDCB_SECURITY_PRIVATECERTIFICATEENCODINGSECRETType:
stringIf you are using encrypted private keys, this is the secret to use to decrypt them. This must match the secret used for Gateway and Dashboard as explained here.
storage
This section describes your centralised Redis DB. This will act as your main key store for all of your clusters.storage.type
ENV: TYK_MDCB_STORAGE_TYPEType:
stringCurrently, the only storage type supported is Redis.
storage.host
ENV: TYK_MDCB_STORAGE_HOSTType:
stringHostname of your Redis server
storage.port
ENV: TYK_MDCB_STORAGE_PORTType:
intThe port the Redis server is listening on.
storage.master_name
ENV: TYK_MDCB_STORAGE_MASTERNAMEType:
stringIt defines the sentinel master name
storage.sentinel_password
ENV: TYK_MDCB_STORAGE_SENTINELPASSWORDType:
stringIf set, redis sentinel will authenticate using this password.
storage.username
ENV: TYK_MDCB_STORAGE_USERNAMEType:
stringIf set, a redis connection will be established with this user. If not set then it will defaults to the default redis user
storage.password
ENV: TYK_MDCB_STORAGE_PASSWORDType:
stringOptional auth password for Redis db
storage.database
ENV: TYK_MDCB_STORAGE_DATABASEType:
intBy default, the database is 0. Setting the database is not supported with redis cluster. As such, if you have
storage.redis_cluster:true, then this value should be omitted or explicitly set to 0.
storage.optimisation_max_idle
ENV: TYK_MDCB_STORAGE_MAXIDLEType:
intMDCB will open a pool of connections to Redis. This setting will configure how many connections are maintained in the pool when idle (no traffic). Set the
max_idle value to something large, we usually leave it at around 2000 for HA deployments.
storage.optimisation_max_active
ENV: TYK_MDCB_STORAGE_MAXACTIVEType:
intIn order to not over commit connections to the Redis server, we may limit the total number of active connections to Redis. We recommend for production use to set this to around 4000.
storage.enable_cluster
ENV: TYK_MDCB_STORAGE_ENABLECLUSTERType:
boolIf you are using Redis cluster, enable it here to enable the slots mode.
storage.hosts
ENV: TYK_MDCB_STORAGE_HOSTSType:
map[string]stringAdd your Redis hosts here as a map of hostname:port. This field is required when storage.enable_cluster is set to true. example:
{"server1": "6379","server2": "6380","server3": "6381"}
storage.addrs
ENV: TYK_MDCB_STORAGE_ADDRSType:
[]stringIt can be either a single address or a seed list of host:port addresses of cluster/sentinel nodes. It overrides the value of hosts.
storage.redis_use_ssl
ENV: TYK_MDCB_STORAGE_REDISUSESSLType:
boolIf set, MDCB will assume the connection to Redis is encrypted. (use with Redis providers that support in-transit encryption). Deprecated. Use
use_ssl instead.
storage.redis_ssl_insecure_skip_verify
ENV: TYK_MDCB_STORAGE_REDISSSLINSECURESKIPVERIFYType:
boolAllows usage of self-signed certificates when connecting to an encrypted Redis database. Deprecated. Use
ssl_insecure_skip_verify instead.
storage.timeout
ENV: TYK_MDCB_STORAGE_TIMEOUTType:
intSet a custom timeout for Redis network operations. Default value is 5 seconds.
storage.use_ssl
ENV: TYK_MDCB_STORAGE_USESSLType:
boolEnable SSL/TLS connection between Tyk MDCB & Redis.
storage.ssl_insecure_skip_verify
ENV: TYK_MDCB_STORAGE_SSLINSECURESKIPVERIFYType:
boolDisable TLS verification.
storage.ca_file
ENV: TYK_MDCB_STORAGE_CAFILEType:
stringPath to the CA file.
storage.cert_file
ENV: TYK_MDCB_STORAGE_CERTFILEType:
stringPath to the cert file.
storage.key_file
ENV: TYK_MDCB_STORAGE_KEYFILEType:
stringPath to the key file.
storage.max_version
ENV: TYK_MDCB_STORAGE_MAXVERSIONType:
stringMaximum TLS version that is supported. Options: [“1.0”, “1.1”, “1.2”, “1.3”]. Defaults to “1.3”.
storage.min_version
ENV: TYK_MDCB_STORAGE_MINVERSIONType:
stringMinimum TLS version that is supported. Options: [“1.0”, “1.1”, “1.2”, “1.3”]. Defaults to “1.2”.
analytics
configuration of the store of analyticsanalytics.type
ENV: TYK_MDCB_ANALYTICSCONFIG_TYPEType:
DBTypeDetermines the storage type. It could be
mongo or postgres. By default, the value is mongo.
analytics.connection_string
ENV: TYK_MDCB_ANALYTICSCONFIG_CONNECTIONSTRINGType:
stringThis is used to configure the conenction string for the storage.
analytics.table_sharding
ENV: TYK_MDCB_ANALYTICSCONFIG_TABLESHARDINGType:
boolEnable table sharding for SQL Analytics
analytics.batch_size
ENV: TYK_MDCB_ANALYTICSCONFIG_BATCHSIZEType:
intMax Batch size for SQL Analytics
analytics.postgres.prefer_simple_protocol
ENV: TYK_MDCB_ANALYTICSCONFIG_POSTGRES_PREFERSIMPLEPROTOCOLType:
booldisables implicit prepared statement usage
analytics.mysql.default_string_size
ENV: TYK_MDCB_ANALYTICSCONFIG_MYSQL_DEFAULTSTRINGSIZEType:
uintdefault size for string fields. By default set to: 256
analytics.mysql.disable_datetime_precision
ENV: TYK_MDCB_ANALYTICSCONFIG_MYSQL_DISABLEDATETIMEPRECISIONType:
booldisable datetime precision, which not supported before MySQL 5.6
analytics.mysql.dont_support_rename_index
ENV: TYK_MDCB_ANALYTICSCONFIG_MYSQL_DONTSUPPORTRENAMEINDEXType:
booldrop & create when rename index, rename index not supported before MySQL 5.7, MariaDB
analytics.mysql.dont_support_rename_column
ENV: TYK_MDCB_ANALYTICSCONFIG_MYSQL_DONTSUPPORTRENAMECOLUMNType:
boolchange when rename column, rename column not supported before MySQL 8, MariaDB
analytics.mysql.skip_initialize_with_version
ENV: TYK_MDCB_ANALYTICSCONFIG_MYSQL_SKIPINITIALIZEWITHVERSIONType:
boolauto configure based on currently MySQL version
analytics.mongo_url
ENV: TYK_MDCB_ANALYTICSCONFIG_MONGOURLType:
stringConnection string for MongoDB.
analytics.mongo_use_ssl
ENV: TYK_MDCB_ANALYTICSCONFIG_MONGOUSESSLType:
boolA Boolean setting for Mongo SSL support. Set to true to enable SSL.
analytics.mongo_ssl_insecure_skip_verify
ENV: TYK_MDCB_ANALYTICSCONFIG_MONGOSSLINSECURESKIPVERIFYType:
boolThis setting allows the use of self-signed certificates when connecting to an encrypted MongoDB database.
analytics.mongo_ssl_allow_invalid_hostnames
ENV: TYK_MDCB_ANALYTICSCONFIG_MONGOSSLALLOWINVALIDHOSTNAMESType:
boolIgnore hostname check when it differs from the original (for example with SSH tunneling). The rest of the TLS verification will still be performed
analytics.mongo_ssl_ca_file
ENV: TYK_MDCB_ANALYTICSCONFIG_MONGOSSLCAFILEType:
stringPath to the PEM file with trusted root certificates
analytics.mongo_ssl_pem_keyfile
ENV: TYK_MDCB_ANALYTICSCONFIG_MONGOSSLPEMKEYFILEType:
stringPath to the PEM file which contains both client certificate and private key. This is required for Mutual TLS.
analytics.mongo_session_consistency
ENV: TYK_MDCB_ANALYTICSCONFIG_MONGOSESSIONCONSISTENCYType:
stringSet the consistency mode for the session, it defaults to
Strong. The valid values are:
- eventual monotonic
analytics.mongo_batch_size
ENV: TYK_MDCB_ANALYTICSCONFIG_MONGOBATCHSIZEType:
intSets the batch size for mongo results.
analytics.driver
ENV: TYK_MDCB_ANALYTICSCONFIG_DRIVERType:
stringUse
mongo-go to use the official mongo driver. Alternatively, use mgo to use the old driver.
Since v2.4.3, the default driver is mongo-go.
analytics.mongo_direct_connection
ENV: TYK_MDCB_ANALYTICSCONFIG_MONGODIRECTCONNECTIONType:
boolMongoDirectConnection informs whether to establish connections only with the specified seed servers, or to discover and establish connections with further servers within the cluster. If true, the client will only connect to the host provided in the ConnectionString and won’t attempt to discover other servers within the cluster. Useful when network restrictions prevent discovery, such as with SSH tunneling. Default is false.
analytics.mongo_ignore_aggregations
ENV: TYK_MDCB_ANALYTICSCONFIG_MONGOIGNOREAGGREGATIONSType:
[]stringList of aggregate types to exclude from storage. Aggregates in this list are dropped before being written to the collection. See pumps.mongoaggregate.meta.ignore_aggregations for detailed behavior.
analytics.mongo_enable_aggregate_self_healing
ENV: TYK_MDCB_ANALYTICSCONFIG_MONGOENABLEAGGREGATESELFHEALINGType:
boolIf set to true, enables self-healing for aggregate data. See pumps.mongoaggregate.meta.enable_aggregate_self_healing for detailed behavior.
hash_keys
ENV: TYK_MDCB_HASHKEYSType:
boolSet to true if you are using a hashed configuration installation of Tyk, otherwise set to false.
session_timeout
ENV: TYK_MDCB_SESSIONTIMEOUTType:
int64Number of seconds before the gateways are forced to re-login. Default is 86400 (24 hours).
invalid_key_cache_ttl
ENV: TYK_MDCB_INVALIDKEYCACHETTLType:
intNumber of seconds to cache invalid session keys. When a gateway attempts to login with a non-existent or invalid key, it is cached to prevent repeated Redis lookups. Default is 180 seconds (3 minutes). Lower values (e.g., 30) allow faster recovery after Redis outages but increase Redis load from retries. Higher values better protect Redis from bad key hammering but delay recovery from temporary failures.
forward_analytics_to_pump
ENV: TYK_MDCB_FORWARDANALYTICSTOPUMPType:
boolInstead of sending analytics directly to MongoDB, MDCB can send analytics to Redis. This will allow [tyk-pump] (https://github.com/TykTechnologies/tyk-pump) to pull analytics from Redis and send to your own data sinks.
enable_multiple_analytics_keys
ENV: TYK_MDCB_ENABLEMULTIPLEANALYTICSKEYSType:
boolInstead of saving all the analytics in one key, this will enable to save the analytics in multiple keys. It’s specially useful when you are using Redis cluster. This will work only if
forward_analytics_to_pump is true and tyk-pump is v1.2.1+ .
dont_store_selective
ENV: TYK_MDCB_DONTSTORESELECTIVEType:
boolset to true if you don’t want to store selective analytics
dont_store_aggregate
ENV: TYK_MDCB_DONTSTOREAGGREGATESType:
boolSet to true to don’t store aggregate analytics
org_session_expiration
ENV: TYK_MDCB_ORGCACHEEXPIRATIONType:
intSets the organization cache expiration in minutes. By default, 60 minutes. This will only work with tyk-sink 1.9+
org_session_cleanup
ENV: TYK_MDCB_ORGCACHECLEANUPType:
intSets the organization cache cleanup interval in minutes. By default, 60 minutes. This will only work with tyk-sink 1.9+.
license
ENV: TYK_MDCB_LICENSEType:
stringEnter your license in this section so MDCB can start.
track_all_paths
ENV: TYK_MDCB_TRACKALLPATHSType:
boolCurrently, analytics for an endpoint is stored only if Track Endpoint plugin is enabled on that endpoint. If
track_all_paths is enabled, it will store analytics for all the endpoints, irrespective of Track Endpoint plugin.
store_analytics_per_minute
ENV: TYK_MDCB_STOREANALYTICSPERMINUTEType:
boolEnable to generate aggregated per minute. By default it will generate aggregate data per hour. If this option is enabled, aggregate data will be generated per minute.
ignore_tag_prefix_list
ENV: TYK_MDCB_IGNORETAGPREFIXLISTType:
[]stringif set to true then it will not store analytics for tags having prefix specified in the list. Note: Prefix “key-” is added in the list by default. This tag is added by gateway for keys.
threshold_len_tag_list
ENV: TYK_MDCB_THRESHOLDLENTAGLISTType:
intIf number of tags in a document grows beyond
threshold_len_tag_list, pump will throw a warning, it works for mongo aggregate pump. The warning will print top 5 common tag prefix. Default value is 1000. To disable alerts set it to -1.
omit_analytics_index_creation
ENV: TYK_MDCB_OMITANALYTICSINDEXCREATIONType:
boolSet to true to disable the Mongo storages default index creation. More detailed behavior explained at https://tyk.io/docs/tyk-pump/tyk-pump-configuration/tyk-pump-dashboard-config/#omitting-indexes.
enable_separate_analytics_store
ENV: TYK_MDCB_ENABLESEPERATEANALYTICSSTOREType:
boolSet it to true if you are using a separated analytic storage in the Control Plane Gateway. If
forward_analytics_to_pump is true, it will forward the analytics to the separated storage specified in analytics_storage.
analytics_storage
This section describes your separated analytic Redis DB. It has the same fields asstorage. It requires enable_separate_analytics_store set to true.
analytics_storage.type
ENV: TYK_MDCB_ANALYTICSSTORAGE_TYPEType:
stringCurrently, the only storage type supported is Redis.
analytics_storage.host
ENV: TYK_MDCB_ANALYTICSSTORAGE_HOSTType:
stringHostname of your Redis server
analytics_storage.port
ENV: TYK_MDCB_ANALYTICSSTORAGE_PORTType:
intThe port the Redis server is listening on.
analytics_storage.master_name
ENV: TYK_MDCB_ANALYTICSSTORAGE_MASTERNAMEType:
stringIt defines the sentinel master name
analytics_storage.sentinel_password
ENV: TYK_MDCB_ANALYTICSSTORAGE_SENTINELPASSWORDType:
stringIf set, redis sentinel will authenticate using this password.
analytics_storage.username
ENV: TYK_MDCB_ANALYTICSSTORAGE_USERNAMEType:
stringIf set, a redis connection will be established with this user. If not set then it will defaults to the default redis user
analytics_storage.password
ENV: TYK_MDCB_ANALYTICSSTORAGE_PASSWORDType:
stringOptional auth password for Redis db
analytics_storage.database
ENV: TYK_MDCB_ANALYTICSSTORAGE_DATABASEType:
intBy default, the database is 0. Setting the database is not supported with redis cluster. As such, if you have
storage.redis_cluster:true, then this value should be omitted or explicitly set to 0.
analytics_storage.optimisation_max_idle
ENV: TYK_MDCB_ANALYTICSSTORAGE_MAXIDLEType:
intMDCB will open a pool of connections to Redis. This setting will configure how many connections are maintained in the pool when idle (no traffic). Set the
max_idle value to something large, we usually leave it at around 2000 for HA deployments.
analytics_storage.optimisation_max_active
ENV: TYK_MDCB_ANALYTICSSTORAGE_MAXACTIVEType:
intIn order to not over commit connections to the Redis server, we may limit the total number of active connections to Redis. We recommend for production use to set this to around 4000.
analytics_storage.enable_cluster
ENV: TYK_MDCB_ANALYTICSSTORAGE_ENABLECLUSTERType:
boolIf you are using Redis cluster, enable it here to enable the slots mode.
analytics_storage.hosts
ENV: TYK_MDCB_ANALYTICSSTORAGE_HOSTSType:
map[string]stringAdd your Redis hosts here as a map of hostname:port. This field is required when storage.enable_cluster is set to true. example:
{"server1": "6379","server2": "6380","server3": "6381"}
analytics_storage.addrs
ENV: TYK_MDCB_ANALYTICSSTORAGE_ADDRSType:
[]stringIt can be either a single address or a seed list of host:port addresses of cluster/sentinel nodes. It overrides the value of hosts.
analytics_storage.redis_use_ssl
ENV: TYK_MDCB_ANALYTICSSTORAGE_REDISUSESSLType:
boolIf set, MDCB will assume the connection to Redis is encrypted. (use with Redis providers that support in-transit encryption). Deprecated. Use
use_ssl instead.
analytics_storage.redis_ssl_insecure_skip_verify
ENV: TYK_MDCB_ANALYTICSSTORAGE_REDISSSLINSECURESKIPVERIFYType:
boolAllows usage of self-signed certificates when connecting to an encrypted Redis database. Deprecated. Use
ssl_insecure_skip_verify instead.
analytics_storage.timeout
ENV: TYK_MDCB_ANALYTICSSTORAGE_TIMEOUTType:
intSet a custom timeout for Redis network operations. Default value is 5 seconds.
analytics_storage.use_ssl
ENV: TYK_MDCB_ANALYTICSSTORAGE_USESSLType:
boolEnable SSL/TLS connection between Tyk MDCB & Redis.
analytics_storage.ssl_insecure_skip_verify
ENV: TYK_MDCB_ANALYTICSSTORAGE_SSLINSECURESKIPVERIFYType:
boolDisable TLS verification.
analytics_storage.ca_file
ENV: TYK_MDCB_ANALYTICSSTORAGE_CAFILEType:
stringPath to the CA file.
analytics_storage.cert_file
ENV: TYK_MDCB_ANALYTICSSTORAGE_CERTFILEType:
stringPath to the cert file.
analytics_storage.key_file
ENV: TYK_MDCB_ANALYTICSSTORAGE_KEYFILEType:
stringPath to the key file.
analytics_storage.max_version
ENV: TYK_MDCB_ANALYTICSSTORAGE_MAXVERSIONType:
stringMaximum TLS version that is supported. Options: [“1.0”, “1.1”, “1.2”, “1.3”]. Defaults to “1.3”.
analytics_storage.min_version
ENV: TYK_MDCB_ANALYTICSSTORAGE_MINVERSIONType:
stringMinimum TLS version that is supported. Options: [“1.0”, “1.1”, “1.2”, “1.3”]. Defaults to “1.2”.
log_level
ENV: TYK_MDCB_LOGLEVELType:
stringYou can now set a logging level (log_level). The following levels can be set: debug, info, warn, error. If not set or left empty, it will default to
info.
enable_key_logging
ENV: TYK_MDCB_ENABLEKEYLOGGINGType:
boolEnableKeyLogging prints the unhashed keys without obfuscating them in the logs
sync_worker_config
Configuration of the MDCB Synchroniser functionality introduced in MDCB v2.0.0sync_worker_config.enabled
ENV: TYK_MDCB_SYNCWORKER_ENABLEDType:
boolEnable the MDCB Synchroniser
sync_worker_config.hash_keys
ENV: TYK_MDCB_SYNCWORKER_HASHKEYSType:
boolAllows the worker to synchronize hashed API keys. Set this to true if
hash_keys is true in dashboard and gateway configuration.
sync_worker_config.max_batch_size
ENV: TYK_MDCB_SYNCWORKER_MAXBATCHSIZEType:
intThe maximum number of keys that we can fetch per batch. Default value: 1000 keys per batch.
sync_worker_config.time_between_batches
ENV: TYK_MDCB_SYNCWORKER_TIMEBETWEENBATCHESType:
intSpecifies a cooldown time between batches in seconds. 0 / disabled by default.
sync_worker_config.max_workers
ENV: TYK_MDCB_SYNCWORKER_MAXWORKERSType:
intSpecifies the maximum number of Groups (worker GW clusters) that can be synchronised by MDCB at the same time. Increasing this value can affect the operation of MDCB so it is recommended that you only modify this value if you need to synchronise a higher number of datacenters. Default value: 1000.
sync_worker_config.warmup_time
ENV: TYK_MDCB_SYNCWORKER_WARMUPTIMEType:
intSpecifies the time (in seconds) that MDCB should wait before starting to synchronise workers with the controller. This is to allow the worker nodes to load APIs and policies from local Redis before synchronising the other resources. Default value: 2 seconds.
sync_worker_config.group_key_ttl
ENV: TYK_MDCB_SYNCWORKER_GROUPKEYTTLType:
intSpecifies the group key TTL in seconds. This key is used to prevent a group of gateways from re-syncing when is not required. On login (GroupLogin call), if the key doesn’t exist then the sync process is triggered. If the key exists then the TTL just gets renewed. In case the cluster of gateways is down, the key will expire and get removed and if they connect again a sync process will be triggered. Default value: 180 seconds. Min value: 30 seconds.
enable_ownership
ENV: TYK_MDCB_ENABLEOWNERSHIPType:
boolEnables API Ownership in MDCB. If set, the Data Plane Gateways will load only APIs that are accessible by the user and user group associated with the Gateways’ slave_options.api_key used to connect to MDCB.
escape_dots_in_oas_paths
ENV: TYK_MDCB_ESCAPEDOTSINOASPATHSType:
boolWhen enabled, dots in OAS field names are escaped with double underscores to prevent MongoDB field name conflicts, and unescaped on read.