-
Notifications
You must be signed in to change notification settings - Fork 0
Description
High-Level Summary
Description:
We need to let users of the Datum Desktop client configure the proxy so they can define custom paths on the proxy side. This allows them to map a path /api to a local endpoint on their laptop, while other requests go to a production or perhaps another development endpoint .
In addition to mapping paths to specific local or production endpoints, each path should allow individual rules to be configured. For example, users should be able to enable or configure a Host header override or apply WAF rules on a per-path basis.
Example:
For example, a developer can have the proxy route https://app.someurl.com/api to their http://localhost:3000 while all other paths route https://app.someurl.com to their production endpoint https://origing.someurl.com. This means they can test their local API changes against the live production site seamlessly.
I've set up a quick demo at https://datum.salon address. Just go to "Proxy," create a new proxy with your details, and you'll see how you can configure paths for it. It's just a simple illustration of how it could work.
Motivation
This setup allows them to work with multiple local endpoints as well as a mix of environments—like combining local, staging, and production endpoints all through the proxy configuration. This makes their development and testing process much more flexible and powerful.
Goals
- Allow users to map custom paths on the proxy to different endpoints, whether local or production.
- Enable per-path configuration, such as setting Host headers or applying WAF rules individually.
- Provide a flexible development environment where multiple local and remote endpoints can be combined seamlessly.
- Improve the ease of testing and development by letting developers route certain paths to their laptop while keeping others on production.
Non-Goals
We won't be making any changes to the underlying API as part of this project.
We won't be introducing changes to metrics or how metrics are collected and reported in this phase.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status