Skip to content

Commit 3d7e963

Browse files
pleshakovsjberman
andauthored
Add provisional Enhancement Proposal-2035: Advanced NGINX Extensions (#2039)
Add provisional Enhancement Proposal-2035: Advanced NGINX Extensions Corresponding Enhancement Proposal issue -- #2035 Co-authored-by: Saylor Berman <[email protected]>
1 parent 85c56f9 commit 3d7e963

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Enhancement Proposal-2035: Advanced NGINX Extensions
2+
3+
- Issue: https://github.com/nginxinc/nginx-gateway-fabric/issues/2035
4+
- Status: Provisional
5+
6+
## Summary
7+
8+
NGINX Gateway Fabric (NGF) [exposes](/site/content/overview/gateway-api-compatibility.md) NGINX features via Gateway API
9+
resources (like HTTPRoute) and [NGINX extensions](nginx-extensions.md) (like ClientSettingPolicy). Combined, they
10+
expose a subset of the most common NGINX configuration. As we implement more Gateway API resources and NGINX extensions,
11+
the subset will grow. However, it will take time. Additionally, because the number of NGINX configuration directives
12+
and parameters is huge, not all of them will be supported that way. As a result, users are not able to implement certain
13+
NGINX use cases. To allow them to implement those use cases, we need to bring a new extension mechanism to NGF.
14+
15+
## Goals
16+
17+
- Allow users to insert NGINX configuration not supported via Gateway API resources or NGINX extensions.
18+
- Allow users to customize supported NGINX configuration (for example, add a parameter to an NGINX directive).
19+
- Support configuration from modules not loaded in NGINX by default or third-party modules.
20+
- Most of the configuration complexity should fall onto the cluster operator persona, not the application developer.
21+
- Provide security controls to prevent application developers from injecting arbitrary NGINX configuration.
22+
- Ensure adequate configuration validation to prevent NGINX outages due to invalid configuration.
23+
- Advanced NGINX extensions can be used without source code modification.
24+
25+
## Non-Goals
26+
27+
- Support configuration other than NGINX directives. For example, njs configuration files or TLS certificates.
28+
- Reimplement already supported features through the new extension mechanism.

0 commit comments

Comments
 (0)