Skip to content

Commit b62fb4c

Browse files
committed
Update controller code to process v1alpha2 ObservabilityPolicies
1 parent 1e9c4f0 commit b62fb4c

File tree

16 files changed

+513
-478
lines changed

16 files changed

+513
-478
lines changed

apis/v1alpha2/policy_methods.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package v1alpha2
2+
3+
import (
4+
"sigs.k8s.io/gateway-api/apis/v1alpha2"
5+
)
6+
7+
// FIXME(kate-osborn): https://github.com/nginxinc/nginx-gateway-fabric/issues/1939.
8+
// Figure out a way to generate these methods for all our policies.
9+
// These methods implement the policies.Policy interface which extends client.Object to add the following methods.
10+
11+
func (p *ObservabilityPolicy) GetTargetRefs() []v1alpha2.LocalPolicyTargetReference {
12+
return p.Spec.TargetRefs
13+
}
14+
15+
func (p *ObservabilityPolicy) GetPolicyStatus() v1alpha2.PolicyStatus {
16+
return p.Status
17+
}
18+
19+
func (p *ObservabilityPolicy) SetPolicyStatus(status v1alpha2.PolicyStatus) {
20+
p.Status = status
21+
}

internal/mode/static/manager.go

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ import (
3434
gatewayv1alpha3 "sigs.k8s.io/gateway-api/apis/v1alpha3"
3535
gatewayv1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1"
3636

37-
ngfAPI "github.com/nginxinc/nginx-gateway-fabric/apis/v1alpha1"
37+
ngfAPIv1alpha1 "github.com/nginxinc/nginx-gateway-fabric/apis/v1alpha1"
38+
ngfAPIv1alpha2 "github.com/nginxinc/nginx-gateway-fabric/apis/v1alpha2"
3839
"github.com/nginxinc/nginx-gateway-fabric/internal/framework/controller"
3940
"github.com/nginxinc/nginx-gateway-fabric/internal/framework/controller/filter"
4041
"github.com/nginxinc/nginx-gateway-fabric/internal/framework/controller/index"
@@ -83,7 +84,8 @@ func init() {
8384
utilruntime.Must(gatewayv1alpha2.Install(scheme))
8485
utilruntime.Must(apiv1.AddToScheme(scheme))
8586
utilruntime.Must(discoveryV1.AddToScheme(scheme))
86-
utilruntime.Must(ngfAPI.AddToScheme(scheme))
87+
utilruntime.Must(ngfAPIv1alpha1.AddToScheme(scheme))
88+
utilruntime.Must(ngfAPIv1alpha2.AddToScheme(scheme))
8789
utilruntime.Must(apiext.AddToScheme(scheme))
8890
utilruntime.Must(appsv1.AddToScheme(scheme))
8991
}
@@ -314,15 +316,15 @@ func createPolicyManager(
314316
) *policies.CompositeValidator {
315317
cfgs := []policies.ManagerConfig{
316318
{
317-
GVK: mustExtractGVK(&ngfAPI.ClientSettingsPolicy{}),
319+
GVK: mustExtractGVK(&ngfAPIv1alpha1.ClientSettingsPolicy{}),
318320
Validator: clientsettings.NewValidator(validator),
319321
},
320322
{
321-
GVK: mustExtractGVK(&ngfAPI.ObservabilityPolicy{}),
323+
GVK: mustExtractGVK(&ngfAPIv1alpha2.ObservabilityPolicy{}),
322324
Validator: observability.NewValidator(validator),
323325
},
324326
{
325-
GVK: mustExtractGVK(&ngfAPI.UpstreamSettingsPolicy{}),
327+
GVK: mustExtractGVK(&ngfAPIv1alpha1.UpstreamSettingsPolicy{}),
326328
Validator: upstreamsettings.NewValidator(validator),
327329
},
328330
}
@@ -483,7 +485,7 @@ func registerControllers(
483485
},
484486
},
485487
{
486-
objectType: &ngfAPI.NginxProxy{},
488+
objectType: &ngfAPIv1alpha1.NginxProxy{},
487489
options: []controller.Option{
488490
controller.WithK8sPredicate(k8spredicate.GenerationChangedPredicate{}),
489491
},
@@ -495,19 +497,19 @@ func registerControllers(
495497
},
496498
},
497499
{
498-
objectType: &ngfAPI.ClientSettingsPolicy{},
500+
objectType: &ngfAPIv1alpha1.ClientSettingsPolicy{},
499501
options: []controller.Option{
500502
controller.WithK8sPredicate(k8spredicate.GenerationChangedPredicate{}),
501503
},
502504
},
503505
{
504-
objectType: &ngfAPI.ObservabilityPolicy{},
506+
objectType: &ngfAPIv1alpha2.ObservabilityPolicy{},
505507
options: []controller.Option{
506508
controller.WithK8sPredicate(k8spredicate.GenerationChangedPredicate{}),
507509
},
508510
},
509511
{
510-
objectType: &ngfAPI.UpstreamSettingsPolicy{},
512+
objectType: &ngfAPIv1alpha1.UpstreamSettingsPolicy{},
511513
options: []controller.Option{
512514
controller.WithK8sPredicate(k8spredicate.GenerationChangedPredicate{}),
513515
},
@@ -540,7 +542,7 @@ func registerControllers(
540542
if cfg.ConfigName != "" {
541543
controllerRegCfgs = append(controllerRegCfgs,
542544
ctlrCfg{
543-
objectType: &ngfAPI.NginxGateway{},
545+
objectType: &ngfAPIv1alpha1.NginxGateway{},
544546
options: []controller.Option{
545547
controller.WithNamespacedNameFilter(filter.CreateSingleResourceFilter(controlConfigNSName)),
546548
},
@@ -559,7 +561,7 @@ func registerControllers(
559561
if cfg.SnippetsFilters {
560562
controllerRegCfgs = append(controllerRegCfgs,
561563
ctlrCfg{
562-
objectType: &ngfAPI.SnippetsFilter{},
564+
objectType: &ngfAPIv1alpha1.SnippetsFilter{},
563565
options: []controller.Option{
564566
controller.WithK8sPredicate(k8spredicate.GenerationChangedPredicate{}),
565567
},
@@ -744,11 +746,11 @@ func prepareFirstEventBatchPreparerArgs(cfg config.Config) ([]client.Object, []c
744746
&discoveryV1.EndpointSliceList{},
745747
&gatewayv1.HTTPRouteList{},
746748
&gatewayv1beta1.ReferenceGrantList{},
747-
&ngfAPI.NginxProxyList{},
749+
&ngfAPIv1alpha1.NginxProxyList{},
748750
&gatewayv1.GRPCRouteList{},
749-
&ngfAPI.ClientSettingsPolicyList{},
750-
&ngfAPI.ObservabilityPolicyList{},
751-
&ngfAPI.UpstreamSettingsPolicyList{},
751+
&ngfAPIv1alpha1.ClientSettingsPolicyList{},
752+
&ngfAPIv1alpha2.ObservabilityPolicyList{},
753+
&ngfAPIv1alpha1.UpstreamSettingsPolicyList{},
752754
partialObjectMetadataList,
753755
}
754756

@@ -764,7 +766,7 @@ func prepareFirstEventBatchPreparerArgs(cfg config.Config) ([]client.Object, []c
764766
if cfg.SnippetsFilters {
765767
objectLists = append(
766768
objectLists,
767-
&ngfAPI.SnippetsFilterList{},
769+
&ngfAPIv1alpha1.SnippetsFilterList{},
768770
)
769771
}
770772

@@ -792,7 +794,7 @@ func setInitialConfig(
792794
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
793795
defer cancel()
794796

795-
var conf ngfAPI.NginxGateway
797+
var conf ngfAPIv1alpha1.NginxGateway
796798
// Polling to wait for CRD to exist if the Deployment is created first.
797799
if err := wait.PollUntilContextCancel(
798800
ctx,

internal/mode/static/manager_test.go

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ import (
1919
gatewayv1alpha3 "sigs.k8s.io/gateway-api/apis/v1alpha3"
2020
gatewayv1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1"
2121

22-
ngfAPI "github.com/nginxinc/nginx-gateway-fabric/apis/v1alpha1"
22+
ngfAPIv1alpha1 "github.com/nginxinc/nginx-gateway-fabric/apis/v1alpha1"
23+
ngfAPIv1alpha2 "github.com/nginxinc/nginx-gateway-fabric/apis/v1alpha2"
2324
"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static/config"
2425
"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static/state/graph"
2526
)
@@ -62,12 +63,12 @@ func TestPrepareFirstEventBatchPreparerArgs(t *testing.T) {
6263
&gatewayv1.HTTPRouteList{},
6364
&gatewayv1.GatewayList{},
6465
&gatewayv1beta1.ReferenceGrantList{},
65-
&ngfAPI.NginxProxyList{},
66+
&ngfAPIv1alpha1.NginxProxyList{},
6667
&gatewayv1.GRPCRouteList{},
6768
partialObjectMetadataList,
68-
&ngfAPI.ClientSettingsPolicyList{},
69-
&ngfAPI.ObservabilityPolicyList{},
70-
&ngfAPI.UpstreamSettingsPolicyList{},
69+
&ngfAPIv1alpha1.ClientSettingsPolicyList{},
70+
&ngfAPIv1alpha2.ObservabilityPolicyList{},
71+
&ngfAPIv1alpha1.UpstreamSettingsPolicyList{},
7172
},
7273
},
7374
{
@@ -92,12 +93,12 @@ func TestPrepareFirstEventBatchPreparerArgs(t *testing.T) {
9293
&discoveryV1.EndpointSliceList{},
9394
&gatewayv1.HTTPRouteList{},
9495
&gatewayv1beta1.ReferenceGrantList{},
95-
&ngfAPI.NginxProxyList{},
96+
&ngfAPIv1alpha1.NginxProxyList{},
9697
&gatewayv1.GRPCRouteList{},
9798
partialObjectMetadataList,
98-
&ngfAPI.ClientSettingsPolicyList{},
99-
&ngfAPI.ObservabilityPolicyList{},
100-
&ngfAPI.UpstreamSettingsPolicyList{},
99+
&ngfAPIv1alpha1.ClientSettingsPolicyList{},
100+
&ngfAPIv1alpha2.ObservabilityPolicyList{},
101+
&ngfAPIv1alpha1.UpstreamSettingsPolicyList{},
101102
},
102103
},
103104
{
@@ -123,14 +124,14 @@ func TestPrepareFirstEventBatchPreparerArgs(t *testing.T) {
123124
&discoveryV1.EndpointSliceList{},
124125
&gatewayv1.HTTPRouteList{},
125126
&gatewayv1beta1.ReferenceGrantList{},
126-
&ngfAPI.NginxProxyList{},
127+
&ngfAPIv1alpha1.NginxProxyList{},
127128
partialObjectMetadataList,
128129
&gatewayv1alpha3.BackendTLSPolicyList{},
129130
&gatewayv1alpha2.TLSRouteList{},
130131
&gatewayv1.GRPCRouteList{},
131-
&ngfAPI.ClientSettingsPolicyList{},
132-
&ngfAPI.ObservabilityPolicyList{},
133-
&ngfAPI.UpstreamSettingsPolicyList{},
132+
&ngfAPIv1alpha1.ClientSettingsPolicyList{},
133+
&ngfAPIv1alpha2.ObservabilityPolicyList{},
134+
&ngfAPIv1alpha1.UpstreamSettingsPolicyList{},
134135
},
135136
},
136137
{
@@ -155,13 +156,13 @@ func TestPrepareFirstEventBatchPreparerArgs(t *testing.T) {
155156
&discoveryV1.EndpointSliceList{},
156157
&gatewayv1.HTTPRouteList{},
157158
&gatewayv1beta1.ReferenceGrantList{},
158-
&ngfAPI.NginxProxyList{},
159+
&ngfAPIv1alpha1.NginxProxyList{},
159160
partialObjectMetadataList,
160161
&gatewayv1.GRPCRouteList{},
161-
&ngfAPI.ClientSettingsPolicyList{},
162-
&ngfAPI.ObservabilityPolicyList{},
163-
&ngfAPI.SnippetsFilterList{},
164-
&ngfAPI.UpstreamSettingsPolicyList{},
162+
&ngfAPIv1alpha1.ClientSettingsPolicyList{},
163+
&ngfAPIv1alpha2.ObservabilityPolicyList{},
164+
&ngfAPIv1alpha1.SnippetsFilterList{},
165+
&ngfAPIv1alpha1.UpstreamSettingsPolicyList{},
165166
},
166167
},
167168
{
@@ -187,15 +188,15 @@ func TestPrepareFirstEventBatchPreparerArgs(t *testing.T) {
187188
&discoveryV1.EndpointSliceList{},
188189
&gatewayv1.HTTPRouteList{},
189190
&gatewayv1beta1.ReferenceGrantList{},
190-
&ngfAPI.NginxProxyList{},
191+
&ngfAPIv1alpha1.NginxProxyList{},
191192
partialObjectMetadataList,
192193
&gatewayv1alpha3.BackendTLSPolicyList{},
193194
&gatewayv1alpha2.TLSRouteList{},
194195
&gatewayv1.GRPCRouteList{},
195-
&ngfAPI.ClientSettingsPolicyList{},
196-
&ngfAPI.ObservabilityPolicyList{},
197-
&ngfAPI.SnippetsFilterList{},
198-
&ngfAPI.UpstreamSettingsPolicyList{},
196+
&ngfAPIv1alpha1.ClientSettingsPolicyList{},
197+
&ngfAPIv1alpha2.ObservabilityPolicyList{},
198+
&ngfAPIv1alpha1.SnippetsFilterList{},
199+
&ngfAPIv1alpha1.UpstreamSettingsPolicyList{},
199200
},
200201
},
201202
}

0 commit comments

Comments
 (0)