@@ -18,6 +18,8 @@ import (
1818 gatewayv1 "sigs.k8s.io/gateway-api/apis/v1"
1919
2020 ngfAPI "github.com/nginx/nginx-gateway-fabric/apis/v1alpha1"
21+ "github.com/nginx/nginx-gateway-fabric/apis/v1alpha2"
22+ "github.com/nginx/nginx-gateway-fabric/internal/framework/helpers"
2123 "github.com/nginx/nginx-gateway-fabric/internal/framework/kinds"
2224 "github.com/nginx/nginx-gateway-fabric/internal/framework/kubernetes/kubernetesfakes"
2325 "github.com/nginx/nginx-gateway-fabric/internal/mode/static/config"
@@ -170,7 +172,7 @@ var _ = Describe("Collector", Ordered, func() {
170172 ClusterNodeCount : 1 ,
171173 },
172174 NGFResourceCounts : telemetry.NGFResourceCounts {},
173- NGFReplicaCount : 1 ,
175+ ControlPlanePodCount : 1 ,
174176 ImageSource : "local" ,
175177 FlagNames : flags .Names ,
176178 FlagValues : flags .Values ,
@@ -262,6 +264,24 @@ var _ = Describe("Collector", Ordered, func() {
262264
263265 k8sClientReader .ListCalls (createListCallsFunc (nodes ))
264266
267+ k8sClientReader .GetCalls (mergeGetCallsWithBase (createGetCallsFunc (
268+ & appsv1.ReplicaSet {
269+ Spec : appsv1.ReplicaSetSpec {
270+ Replicas : helpers .GetPointer (int32 (2 )),
271+ },
272+ ObjectMeta : metav1.ObjectMeta {
273+ Name : "replica" ,
274+ OwnerReferences : []metav1.OwnerReference {
275+ {
276+ Kind : "Deployment" ,
277+ Name : "Deployment1" ,
278+ UID : "test-uid-replicaSet" ,
279+ },
280+ },
281+ },
282+ },
283+ )))
284+
265285 secret1 := & v1.Secret {ObjectMeta : metav1.ObjectMeta {Name : "secret1" }}
266286 secret2 := & v1.Secret {ObjectMeta : metav1.ObjectMeta {Name : "secret2" }}
267287 nilsecret := & v1.Secret {ObjectMeta : metav1.ObjectMeta {Name : "nilsecret" }}
@@ -270,11 +290,33 @@ var _ = Describe("Collector", Ordered, func() {
270290 svc2 := & v1.Service {ObjectMeta : metav1.ObjectMeta {Name : "svc2" }}
271291 nilsvc := & v1.Service {ObjectMeta : metav1.ObjectMeta {Name : "nilsvc" }}
272292
293+ gcNP := graph.NginxProxy {
294+ Source : nil ,
295+ ErrMsgs : nil ,
296+ Valid : false ,
297+ }
298+
273299 graph := & graph.Graph {
274- GatewayClass : & graph.GatewayClass {},
300+ GatewayClass : & graph.GatewayClass {NginxProxy : & gcNP },
275301 Gateways : map [types.NamespacedName ]* graph.Gateway {
276- {Name : "gateway1" }: {},
277- {Name : "gateway2" }: {},
302+ {Name : "gateway1" }: {
303+ EffectiveNginxProxy : & graph.EffectiveNginxProxy {
304+ Kubernetes : & v1alpha2.KubernetesSpec {
305+ Deployment : & v1alpha2.DeploymentSpec {
306+ Replicas : helpers .GetPointer (int32 (1 )),
307+ },
308+ },
309+ },
310+ },
311+ {Name : "gateway2" }: {
312+ EffectiveNginxProxy : & graph.EffectiveNginxProxy {
313+ Kubernetes : & v1alpha2.KubernetesSpec {
314+ Deployment : & v1alpha2.DeploymentSpec {
315+ Replicas : helpers .GetPointer (int32 (3 )),
316+ },
317+ },
318+ },
319+ },
278320 {Name : "gateway3" }: {},
279321 },
280322 IgnoredGatewayClasses : map [types.NamespacedName ]* gatewayv1.GatewayClass {
@@ -335,9 +377,11 @@ var _ = Describe("Collector", Ordered, func() {
335377 }: {},
336378 },
337379 ReferencedNginxProxies : map [types.NamespacedName ]* graph.NginxProxy {
338- {Namespace : "test" , Name : "NginxProxy-1" }: {},
339- {Namespace : "test" , Name : "NginxProxy-2" }: {},
340- }, SnippetsFilters : map [types.NamespacedName ]* graph.SnippetsFilter {
380+ {Namespace : "test" , Name : "NginxProxy-1" }: & gcNP ,
381+ {Namespace : "test" , Name : "NginxProxy-2" }: {Valid : true },
382+ {Namespace : "test" , Name : "NginxProxy-3" }: {Valid : true },
383+ },
384+ SnippetsFilters : map [types.NamespacedName ]* graph.SnippetsFilter {
341385 {Namespace : "test" , Name : "sf-1" }: {
342386 Snippets : map [ngfAPI.NginxContext ]string {
343387 ngfAPI .NginxContextMain : "worker_priority 0;" ,
@@ -432,9 +476,10 @@ var _ = Describe("Collector", Ordered, func() {
432476 GatewayAttachedClientSettingsPolicyCount : 1 ,
433477 RouteAttachedClientSettingsPolicyCount : 2 ,
434478 ObservabilityPolicyCount : 1 ,
435- NginxProxyCount : 2 ,
479+ NginxProxyCount : 3 ,
436480 SnippetsFilterCount : 3 ,
437481 UpstreamSettingsPolicyCount : 1 ,
482+ GatewayAttachedNpCount : 2 ,
438483 }
439484 expData .ClusterVersion = "1.29.2"
440485 expData .ClusterPlatform = "kind"
@@ -462,6 +507,11 @@ var _ = Describe("Collector", Ordered, func() {
462507 1 ,
463508 }
464509
510+ // one gateway with one replica + one gateway with three replicas + one gateway with replica field
511+ // empty
512+ expData .NginxPodCount = int64 (5 )
513+ expData .ControlPlanePodCount = int64 (2 )
514+
465515 data , err := dataCollector .Collect (ctx )
466516 Expect (err ).ToNot (HaveOccurred ())
467517
@@ -593,7 +643,7 @@ var _ = Describe("Collector", Ordered, func() {
593643 svc := & v1.Service {ObjectMeta : metav1.ObjectMeta {Name : "svc1" }}
594644
595645 graph1 = & graph.Graph {
596- GatewayClass : & graph.GatewayClass {},
646+ GatewayClass : & graph.GatewayClass {NginxProxy : & graph. NginxProxy { Valid : true } },
597647 Gateways : map [types.NamespacedName ]* graph.Gateway {
598648 {Name : "gateway1" }: {},
599649 },
@@ -634,12 +684,14 @@ var _ = Describe("Collector", Ordered, func() {
634684 }: {},
635685 },
636686 ReferencedNginxProxies : map [types.NamespacedName ]* graph.NginxProxy {
637- {Namespace : "test" , Name : "NginxProxy-1" }: {},
638- {Namespace : "test" , Name : "NginxProxy-2" }: {},
687+ {Namespace : "test" , Name : "NginxProxy-1" }: {Valid : true },
639688 },
640689 SnippetsFilters : map [types.NamespacedName ]* graph.SnippetsFilter {
641690 {Namespace : "test" , Name : "sf-1" }: {},
642691 },
692+ BackendTLSPolicies : map [types.NamespacedName ]* graph.BackendTLSPolicy {
693+ {Namespace : "test" , Name : "BackendTLSPolicy-1" }: {},
694+ },
643695 }
644696
645697 config1 = []* dataplane.Configuration {
@@ -716,10 +768,13 @@ var _ = Describe("Collector", Ordered, func() {
716768 GatewayAttachedClientSettingsPolicyCount : 1 ,
717769 RouteAttachedClientSettingsPolicyCount : 1 ,
718770 ObservabilityPolicyCount : 1 ,
719- NginxProxyCount : 2 ,
771+ NginxProxyCount : 1 ,
720772 SnippetsFilterCount : 1 ,
721773 UpstreamSettingsPolicyCount : 1 ,
774+ GatewayAttachedNpCount : 1 ,
775+ BackendTLSPolicyCount : 1 ,
722776 }
777+ expData .NginxPodCount = 1
723778
724779 data , err := dataCollector .Collect (ctx )
725780
0 commit comments