nginxinc / nginx-gateway-fabric

NGINX Gateway Fabric provides an implementation for the Gateway API using NGINX as the data plane.
Apache License 2.0
424 stars 82 forks source link

NGINX Configuration Customization #703

Open mpstefan opened 1 year ago

mpstefan commented 1 year ago

As a user of NKG that has a need for an enhancement in the project I want the ability to customize the NGINX configuration for NGF So that I can utilize features that have not yet been exposed via configuration Or so that I can work around a problem that has not yet been solved in NGF, but can be fixed through NGINX configuration.

Background

Our approach to exposing NGINX functionality is two-fold. One, is to take the most frequently used features and configuration changes for NGINX and integrate them with the Gateway API as first-class features in extensions and attachments to the API.

However, as this will take time to work through everything NGINX has to offer, we need a way for our users to access that NGINX functionality immediately. We can do so by offering a method to manually put in the directives they wish to configure and the exact settings needed. While no where near as user friendly, this will unblock any user looking for NGINX functionality that is not yet present in our extensions and attachments to the Gateway API.

Specific Feedback

Acceptance Criteria

### Tasks
- [ ] #815
- [ ] Implementation
- [ ] Documentation
- [ ] Telemetry
- [ ] Functional Test for NGINX Configuration Customization

Links

mpstefan commented 1 year ago

This story is pending a discussion - primarily for support and security.

mpstefan commented 1 year ago

We decided today that we need a short spike to determine a potential technical solution. From there we can assess the amount of effort needed for implementation, security concerns, and support concerns.

mpstefan commented 9 months ago

Received some feedback today from @gallarda around involving RBAC around the snippet functionality currently present in NIC. When we examine this, we should consider utilizing the different levels of resources (primarily Gateway and Routes) to allow users to setup separate access controls for access to nginx customization.

brianehlert commented 9 months ago

Received some feedback today from @gallarda around involving RBAC around the snippet functionality currently present in NIC. When we examine this, we should consider utilizing the different levels of resources (primarily Gateway and Routes) to allow users to setup separate access controls for access to nginx customization.