Skip to content

Commit a5a9575

Browse files
authored
chore(docs): update HTTP Proxy Manager documentation (#1794)
* chore(docs): update HTTP Proxy Manager documentation * chore(docs): update HTTP Proxy Manager documentation * chore(docs): update HTTP Proxy Manager documentation * chore(docs): update HTTP Proxy Manager documentation
1 parent b5ffc58 commit a5a9575

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

docs/runtime_suite/http-proxy-manager/30_configuration.md

+10-3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ The service use the following environment variables:
2626
- **EXPOSE_MANAGEMENT_APIS** (optional, default `false`): allows to control whether or not [management APIs](./20_how_to_use.md#management-api) are exposed by the service (please note that this flag can be used only when running in dynamic configuration mode);
2727
- **ALLOW_PROXY_OPTIMIZER** (optional, default to `true`): boolean that enables optimized proxy using reverse proxy and preventing saving body request in memory. Be careful, this optimization does not perform any retry, thus it is strongly suggested to configure the token validation endpoint in your proxy configuration;
2828
- **DELAY_SHUTDOWN_SECONDS** (optional, default to `10` seconds): seconds to wait before starting the graceful shutdown. This delay is required in k8s to await for the DNS rotation;
29+
- **DISABLE_PROXY_CACHE** (optional, default `false`): allows to disable the in-memory proxy cache. Such cache is used to prevent excessive CRUD invocations (useful when you want to prevent any possible out-dated cache hit whenever the service is using Dynamic Configuration in the context of a scaled HA architecture)
30+
- **BASE_PATH_MATCHERS** (optional): comma-separated list of paths that are used to let the service handle complex base paths when using dynamic proxy configuration (note: this function is not compatible with the non-optimized proxy configuration, make sure to set `ALLOW_PROXY_OPTIMIZER=true`).
2931
- **ADDITIONAL_HEADERS_TO_REDACT** (optional): comma separated values of additional headers to redact when logging. The following headers are always redacted: `Authorization`, `Cookie`, `Proxy-Authorization`, `Set-Cookie` and `Www-Authenticate`;
3032

3133
:::caution
@@ -167,10 +169,15 @@ Path parameters inside **targetBaseUrl** and **basePath** are only allowed for t
167169

168170
The service requires a CRUD collection (named as you prefer) that provides all the different details regarding the external services to be proxied: each document **must** match the *proxy* schema specified in the [configuration schema](#configuration-schema).
169171

170-
:::caution
171-
The *dynamic configuration* has the technical limitation of using just the first path component as **basePath**. This limitation comes from the inability to determine the CRUD's search query. Due to this limitation path parameters are not allowed inside **targetBaseUrl** and **basePath**.
172+
:::tip
173+
By default, when using the *dynamic configuration* only the first segment of the invoked path is used as base path to extract configurations from the database; in this scenario path parameters are not supported.
174+
175+
**E.g.**: without `BASE_PATH_MATCHERS`, given a request with path `/one/two/three`, the **basePath** searched on CRUD is `/one`.
176+
177+
Use the `BASE_PATH_MATCHERS` environment variable to provide one ore more base path matchers and let the service be able to extract more complex
178+
base paths from the database.
172179

173-
**E.g.**: given a request with path `/one/two/three`, the **basePath** searched on CRUD is `/one`.
180+
Assuming you set `BASE_PATH_MATCHERS=/my-path/:param,/another-path/test-api` and then invoke `/my-path/123/some-other-api`, the **basePath** searched on CRUD will be `/my-path/123`.
174181
:::
175182

176183
In order to configure correctly the CRUD collection, you can **import** the fields from this <a download target="_blank" href="/docs_files_to_download/http-proxy-manager/crud.fields.json">file</a>. This file already enables the Client Side Field Level Encryption (CSFLE) for those fields with sensitive data.

docs/runtime_suite/http-proxy-manager/changelog.md

+7
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ All notable changes to this project will be documented in this file.
1515
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1616
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1717

18+
## 3.3.0 - 22-11-2024
19+
20+
### Added
21+
22+
- `BASE_PATH_MATCHERS`: to make it possible to fetch complex base paths when using dynamic configuration rather than taking the first segment only.
23+
- `DISABLE_PROXY_CACHE`: to make it possible to disable the in-memory proxy cache when using dynamic configuration.
24+
1825
## 3.2.0 - 15-11-2024
1926

2027
### Added

0 commit comments

Comments
 (0)