# properties.name.description
An array with the names of plugins to load. The names are defined inside your plugin.

See: https://www.krakend.io/docs/extending/http-server-plugins/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/geoip.json.description
Enterprise only. The GeoIP integration allows you load Maxmind's GeoIP2 City database (payment and free versions) and enrich all KrakenD calls to your backends with geo data.

See: https://www.krakend.io/docs/enterprise/endpoints/geoip/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/geoip.json.properties.citydb_path.description
The path in the filesystem containing the database in GeoIP2 Binary (`.mmdb`) format. Relative to the working dir or absolute path.

See: https://www.krakend.io/docs/enterprise/endpoints/geoip/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/ip-filter.jso.description
Enterprise only. The IP filtering plugin allows you to restrict the traffic to your API gateway based on the IP address. It works in two different modes (allow or deny) where you define the list of IPs (CIDR blocks) that are authorized to use the API, or that are denied from using the API.

See: https://www.krakend.io/docs/enterprise/throttling/ipfilter/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/ip-filter.jso.properties.CIDR.description
The CIDR blocks (list of IPs) you want to allow or deny.

See: https://www.krakend.io/docs/enterprise/throttling/ipfilter/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/ip-filter.jso.properties.allow.description
When true, only the matching IPs are able to access the content. When false, all matching IPs are discarded.

See: https://www.krakend.io/docs/enterprise/throttling/ipfilter/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/ip-filter.jso.properties.client_ip_headers.description
A custom list of all headers that might contain the real IP of the client. The first matching IP in the list will be used. Default headers are (in order of checking): X-Forwarded-For, X-Real-IP, and X-Appengine-Remote-Addr.

See: https://www.krakend.io/docs/enterprise/throttling/ipfilter/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/ip-filter.jso.properties.trusted_proxies.description
A custom list of all the recognized machines/balancers that proxy the client to your application. This list is used to avoid spoofing when trying to get the real IP of the client.

See: https://www.krakend.io/docs/enterprise/throttling/ipfilter/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/jwk-aggregato.description
Enterprise only. The JWK aggregator plugin allows KrakenD to validate tokens issued by multiple Identity Providers.

See: https://www.krakend.io/docs/enterprise/authentication/multiple-identity-providers/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/jwk-aggregato.properties.cache.description
When `true`, it stores the response of the Identity provider for the time specified in its `Cache-Control` header.

See: https://www.krakend.io/docs/enterprise/authentication/multiple-identity-providers/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/jwk-aggregato.properties.origins.description
The list of all JWK URLs recognized as valid Identity Providers by the gateway.

See: https://www.krakend.io/docs/enterprise/authentication/multiple-identity-providers/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/jwk-aggregato.properties.port.description
The port of the local server doing the aggregation. The port is only accessible within the gateway machine using localhost, and it's never exposed to the external network. Choose any port that is free in the system.

See: https://www.krakend.io/docs/enterprise/authentication/multiple-identity-providers/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/redis-ratelim.description
Enterprise only. The global rate limit functionality enables a Redis database store to centralize all KrakenD node counters. Instead of having each KrakenD node count its hits, the counters are global and stored in the database.

See: https://www.krakend.io/docs/enterprise/endpoints/global-rate-limit/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/redis-ratelim.properties.burst.description
How many requests a client can make above the rate specified during a peak.

See: https://www.krakend.io/docs/enterprise/endpoints/global-rate-limit/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/redis-ratelim.properties.host.description
The URL to the Redis instance that stores the counters using the format `host:port`.

See: https://www.krakend.io/docs/enterprise/endpoints/global-rate-limit/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/redis-ratelim.properties.period.description
For how long the content lives in the cache. Usually in seconds, minutes, or hours. E.g., use `120s` or `2m` for two minutes

See: https://www.krakend.io/docs/enterprise/endpoints/global-rate-limit/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/redis-ratelim.properties.tokenizer_field.description
The field used to set a custom field for the tokenizer (e.g., extracting the token from a custom header other than Authorization or using a claim from a JWT other than the jti).

See: https://www.krakend.io/docs/enterprise/endpoints/global-rate-limit/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/static-filesy.description
Enterprise only. Allows you to fetch and serve static content in two different use cases. When the plugin is used as an http server handler, the static content is for your end-users, giving them CSS, JS, images, or JSON files, to name a few examples. On the other side, when the plugin is used as an http client executor, the KrakenD endpoints use static content as if it were a backend.

See: https://www.krakend.io/docs/enterprise/endpoints/serve-static-content/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/static-filesy.properties.path.description
The folder in the filesystem containing the static files. Relative to the working dir where KrakenD config is (e.g.: `./assets`) or absolute (e.g.: `/var/www/assets`).

See: https://www.krakend.io/docs/enterprise/endpoints/serve-static-content/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/static-filesy.properties.prefix.description
This is the beginning (prefix) of all URLs that are resolved using this plugin. All matching URLs won't be passed to the router, meaning that they are not considered endpoints. Make sure you are not overwriting valid endpoints. When the `prefix` is `/`, then **all traffic is served as static** and you must declare a prefix under `skip` (e.g.: `/api`) to match endpoints.

See: https://www.krakend.io/docs/enterprise/endpoints/serve-static-content/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/static-filesy.properties.skip.description
An array with all the prefix URLs that despite they could match with the `prefix`, you don't want to treat them as static content and pass them to the router.

See: https://www.krakend.io/docs/enterprise/endpoints/serve-static-content/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/url-rewrite.j.description
Enterprise only. Allows you to declare additional URLs other than the ones defined under the endpoints configuration, used as aliases of existing endpoints.

See: https://www.krakend.io/docs/enterprise/endpoints/url-rewrite/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/url-rewrite.j.properties.literal.description
A map with the exact desired url and its mapping to an endpoint. If the endpoint has `{placeholders}` you need to write them, but the literal value `{placeholders}` is passed.

See: https://www.krakend.io/docs/enterprise/endpoints/url-rewrite/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/url-rewrite.j.properties.regexp.description
A list of lists, containing the regular expression that defines the URL to be rewritten, and its endpoint destination. You can use the capturing groups with the syntax `${1}`, `${2}`, etc.

See: https://www.krakend.io/docs/enterprise/endpoints/url-rewrite/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/virtualhost.j.description
Enterprise only. The Virtual Host plugin allows you to run different configurations of KrakenD endpoints based on the host accessing the server.

See: https://www.krakend.io/docs/enterprise/service-settings/virtual-hosts/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/virtualhost.j.properties.hosts.description
All recognized virtual hosts by KrakenD must be listed here. The values declared here must match the content of the `Host` header when passed by the client.

See: https://www.krakend.io/docs/enterprise/service-settings/virtual-hosts/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/wildcard.json.description
Enterprise only. Enables wildcard processing of requests without declaring all endpoint subresrouces.

See: https://www.krakend.io/docs/enterprise/endpoints/wildcard/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/plugin/wildcard.json.properties.endpoints.description
The key of the map is the KrakenD endpoint that receives all the wildcard traffic. The value is an array with all the user paths that match this wildcard (you don't need to declare the subresources).

See: https://www.krakend.io/docs/enterprise/endpoints/wildcard/

# definitions.https://schemas.sourcemeta.com/krakend/v2.9/timeunits.json.$defs.timeunit.description
The amount of time you want to assign followed by its unit (e.g.: `2s`, `200ms`). Valid time units are: ns, us, (or µs), ms, s, m, h.