Skip to content

Commit b968639

Browse files
authored
Watch UpstreamSettingsPolicies and translate into dataplane configuration (#2887)
Problem: As a userI want NGF to take my configuration for an UpstreamSettingsPolicy and transform it into data plane configuration within NGF, so that NGF can then translate those settings into NGINX configuration, and so that NGF maintains an abstraction layer between data plane configuration and the specific data plane NGF uses. Solution: Add controller to watch UpstreamSettingsPolicies, and store them in the cluster state as generic NGF Policies. Update the graph to validate and process these policies and attach them to the relevant Services. When building the dataplane configuration, store the policies on the relevant http upstreams.
1 parent eabc8c9 commit b968639

File tree

38 files changed

+1883
-238
lines changed

38 files changed

+1883
-238
lines changed

charts/nginx-gateway-fabric/templates/clusterrole.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ rules:
104104
- nginxproxies
105105
- clientsettingspolicies
106106
- observabilitypolicies
107+
- upstreamsettingspolicies
107108
{{- if .Values.nginxGateway.snippetsFilters.enable }}
108109
- snippetsfilters
109110
{{- end }}
@@ -116,6 +117,7 @@ rules:
116117
- nginxgateways/status
117118
- clientsettingspolicies/status
118119
- observabilitypolicies/status
120+
- upstreamsettingspolicies/status
119121
{{- if .Values.nginxGateway.snippetsFilters.enable }}
120122
- snippetsfilters/status
121123
{{- end }}

config/crd/kustomization.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ resources:
55
- bases/gateway.nginx.org_nginxgateways.yaml
66
- bases/gateway.nginx.org_nginxproxies.yaml
77
- bases/gateway.nginx.org_observabilitypolicies.yaml
8+
- bases/gateway.nginx.org_snippetsfilters.yaml
9+
- bases/gateway.nginx.org_upstreamsettingspolicies.yaml

deploy/aws-nlb/deploy.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ rules:
9898
- nginxproxies
9999
- clientsettingspolicies
100100
- observabilitypolicies
101+
- upstreamsettingspolicies
101102
verbs:
102103
- list
103104
- watch
@@ -107,6 +108,7 @@ rules:
107108
- nginxgateways/status
108109
- clientsettingspolicies/status
109110
- observabilitypolicies/status
111+
- upstreamsettingspolicies/status
110112
verbs:
111113
- update
112114
- apiGroups:

deploy/azure/deploy.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ rules:
9898
- nginxproxies
9999
- clientsettingspolicies
100100
- observabilitypolicies
101+
- upstreamsettingspolicies
101102
verbs:
102103
- list
103104
- watch
@@ -107,6 +108,7 @@ rules:
107108
- nginxgateways/status
108109
- clientsettingspolicies/status
109110
- observabilitypolicies/status
111+
- upstreamsettingspolicies/status
110112
verbs:
111113
- update
112114
- apiGroups:

deploy/crds.yaml

Lines changed: 633 additions & 0 deletions
Large diffs are not rendered by default.

deploy/default/deploy.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ rules:
9898
- nginxproxies
9999
- clientsettingspolicies
100100
- observabilitypolicies
101+
- upstreamsettingspolicies
101102
verbs:
102103
- list
103104
- watch
@@ -107,6 +108,7 @@ rules:
107108
- nginxgateways/status
108109
- clientsettingspolicies/status
109110
- observabilitypolicies/status
111+
- upstreamsettingspolicies/status
110112
verbs:
111113
- update
112114
- apiGroups:

deploy/experimental-nginx-plus/deploy.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ rules:
111111
- nginxproxies
112112
- clientsettingspolicies
113113
- observabilitypolicies
114+
- upstreamsettingspolicies
114115
verbs:
115116
- list
116117
- watch
@@ -120,6 +121,7 @@ rules:
120121
- nginxgateways/status
121122
- clientsettingspolicies/status
122123
- observabilitypolicies/status
124+
- upstreamsettingspolicies/status
123125
verbs:
124126
- update
125127
- apiGroups:

deploy/experimental/deploy.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ rules:
103103
- nginxproxies
104104
- clientsettingspolicies
105105
- observabilitypolicies
106+
- upstreamsettingspolicies
106107
verbs:
107108
- list
108109
- watch
@@ -112,6 +113,7 @@ rules:
112113
- nginxgateways/status
113114
- clientsettingspolicies/status
114115
- observabilitypolicies/status
116+
- upstreamsettingspolicies/status
115117
verbs:
116118
- update
117119
- apiGroups:

deploy/nginx-plus/deploy.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ rules:
106106
- nginxproxies
107107
- clientsettingspolicies
108108
- observabilitypolicies
109+
- upstreamsettingspolicies
109110
verbs:
110111
- list
111112
- watch
@@ -115,6 +116,7 @@ rules:
115116
- nginxgateways/status
116117
- clientsettingspolicies/status
117118
- observabilitypolicies/status
119+
- upstreamsettingspolicies/status
118120
verbs:
119121
- update
120122
- apiGroups:

deploy/nodeport/deploy.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ rules:
9898
- nginxproxies
9999
- clientsettingspolicies
100100
- observabilitypolicies
101+
- upstreamsettingspolicies
101102
verbs:
102103
- list
103104
- watch
@@ -107,6 +108,7 @@ rules:
107108
- nginxgateways/status
108109
- clientsettingspolicies/status
109110
- observabilitypolicies/status
111+
- upstreamsettingspolicies/status
110112
verbs:
111113
- update
112114
- apiGroups:

0 commit comments

Comments
 (0)