-
Notifications
You must be signed in to change notification settings - Fork 894
Closed
Labels
EpicUsed for divisional .NET planningUsed for divisional .NET planningPriority:0Used for divisional .NET planningUsed for divisional .NET planning
Milestone
Description
As a cloud native infrastructure/service developer, I want a reverse proxy solution that is customizable to my needs and performant enough for cloud scale workloads.
From a YARP perspective, this list represents the functionality we consider to be required for a YARP v1.
This includes the following user stories:
Configuration
- Proxy supports static config files, with hot reload for handling changes Proxy supports static config files, with hot reload for handling changes #9
-
Proxy configuration is extensible for custom metadata on routes, destinations etc Proxy configuration is extensible for custom metadata on routes, destinations etc #485
-
- Proxy supports dynamic configuration pulling from other sources Proxy supports dynamic configuration pulling from other sources #8
- Proxy has Service Fabric integration for dynamic discovery of routes Proxy has Service Fabric integration for dynamic discovery of routes #257
- Proxy can act as a Kubernetes Ingress Controller Proxy can act as a Kubernetes Ingress Controller #200
- Routes can be fully dynamic and discovered on a per request basis for hyper scale hosting Routes can be fully dynamic and discovered on a per request basis for hyper scale hosting #46
Routing & inbound connections
- Proxy can front multiple sites and route based on SNI/Host Proxy can front multiple sites and route based on SNI/Host #14
- Proxy should enable routing based on header values Proxy should enable routing based on header values #405
- Proxy should have active health checks to confirm the state of destinations Proxy should have active health checks to confirm the state of destinations #228
- Proxy supports Session Affinity to route subsequent requests to the same host#45
-
Proxy can divert routes to support A/B testing, service rollout etc Proxy can divert routes to support A/B testing, service rollout etc #126 - Proxy supports multiple algorithms for load balancing across destinations Proxy supports multiple algorithms for load balancing across destinations #58
- Proxy supports authentication / authorization for specific routes Proxy supports authentication / authorization for specific routes #122
-
Proxy can deliver static files directly Proxy can deliver static files directly #187 -
Support for Lets Encrypt for TLS termination Support for Lets Encrypt for TLS termination #110
Proxying & outbound connections
- Incoming request Url can be transformed before passing to destination(s) Incoming request Url can be transformed before passing to destination(s) #207
- Requests and responses headers can be transformed Config-based request and response header transformation #21
- Http Methods can be transformed (eg POST to PUT) Implement method transforms #445
- Outbound http connections to destinations are configurable Outbound http connections to destinations are configurable #282
- Proxy adds standard headers related to request forwarding Proxy adds standard headers related to request forwarding #13
-
Proxy can be used in a hosted datacenter environment with limitations such as SNAT Proxy can be used in a hosted datacenter environment with limitations such as SNAT #62 - Proxy can handle gRPC traffic including streaming Proxy can handle gRPC traffic including streaming #118
- Proxy component can be used stand-alone for advanced scenarios Proxy component can be used stand-alone for advanced scenarios #408
Diagnostics
- Proxy supplies metrics for monitoring performance Proxy supplies metrics for monitoring performance #61
- Proxy supplies logs for with pertinent info for each stage of the request Proxy supplies logs with relevant info for each stage of the request #660
-
Proxy has an API for determining its health Proxy has an API for determining its health #125
General
-
Proxy is hardened so it can directly face the internet Proxy is hardened so it can directly face the internet #16-
Proxy monitors its own load/health and throttles connections when required Proxy monitors its own load/health and throttles connections when required #470
-
- Proxy has cloud scale performance, and is benchmarked in the lab Proxy has cloud scale performance, and is benchmarked in the lab #51
- Proxy has documentation User Story: Proxy has Documentation #484
- Customer can add middleware to customize the proxy functionality such as routing, header manipulation Proxy can be customized with middleware to enable advanced scenarios #114
- Support for .NET 3.1 & 5 Cross target .NET 5.0 and 3.1 #159
-
Support for back pressure Implement back pressure in kestrel for incoming connections #290
Packaging
- Proxy can be consumed as a library so it can be readily extended and customized Ship Preview1 nuget package #143
-
Proxy is supplied as a project template for dotnet new Proxy is supplied as a project template for dotnet new #77 -
Proxy is supplied as a pre-built exe with a configuration file Proxy is supplied as a pre-built exe with core functionality available via configuration #261 -
Proxy is supplied as a pre-built docker image Proxy is supplied as a pre-built docker image #247
MoienTajik, ni-xue, dymo, viceice, veikkoeeva and 8 moreni-xue and gblmarquez
Metadata
Metadata
Assignees
Labels
EpicUsed for divisional .NET planningUsed for divisional .NET planningPriority:0Used for divisional .NET planningUsed for divisional .NET planning