File tree 1 file changed +28
-0
lines changed
1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change
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.
You can’t perform that action at this time.
0 commit comments