Skip to content

Commit 1e0c44b

Browse files
authored
Product Telemetry collection document (#1614)
Problem: Users will want to understand how and why we collect product telemetry, as well as how to opt-out if desired. Solution: Add a document explaining these things.
1 parent b6cb677 commit 1e0c44b

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

site/content/overview/gateway-architecture.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@ The following list describes the connections, preceeded by their types in parent
9292
1. (HTTP, HTTPS) A _client_ sends traffic to and receives traffic from any of the _NGINX workers_ on ports 80 and 443.
9393
1. (HTTP, HTTPS) An _NGINX worker_ sends traffic to and receives traffic from the _backends_.
9494

95+
Below are additional connections not depcited on the diagram:
96+
97+
- (HTTPS) NGF sends [product telemetry data]({{< relref "/overview/product-telemetry.md" >}}) to the F5 telemetry service.
98+
9599
### Differences with NGINX Plus
96100

97101
The previous diagram depicts NGINX Gateway Fabric using NGINX Open Source. NGINX Gateway Fabric with NGINX Plus has the following difference:
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
title: "Product Telemetry"
3+
description: "Learn how NGINX Gateway Fabric collects product telemetry to identify areas to focus development on improving."
4+
weight: 500
5+
toc: true
6+
---
7+
8+
## Overview
9+
10+
NGINX Gateway Fabric collects telemetry by default, which allows its developers to understand what features are most popular with its user base. This data is used to triage development work, prioritizing features and functionality that will positively impact the most people.
11+
12+
Telemetry data is collected once every 24 hours and sent to a service managed by F5 over HTTPS. Personally identifiable information (PII) is **not** collected. The list of data points that are collected can be seen below.
13+
14+
**If you would prefer to not have data collected, you can [opt-out](#opt-out) when installing NGINX Gateway Fabric.**
15+
16+
## Collected data
17+
18+
- **Kubernetes:**
19+
- **Platform:** the Kubernetes platform that NGINX Gateway Fabric is running on
20+
- **Version:** the Kubernetes version that NGINX Gateway Fabric is running on.
21+
- **Architecture:** the architecture that the Kubernetes environment is running on.
22+
- **Cluster UID:** the UID of the `kube-system` Namespace in the cluster that NGINX Gateway Fabric is running in.
23+
- **Cluster Node Count:** the number of Nodes in the cluster.
24+
- **Version:** the version of the NGINX Gateway Fabric Deployment.
25+
- **Deployment UID:** the UID of the NGINX Gateway Fabric Deployment.
26+
- **Deployment Replica Count:** the count of NGINX Gateway Fabric Pods.
27+
- **Image Build Source:** whether the image was built by GitHub or locally (values are `gha`, `local`, or `unknown`). The source repository of the images is **not** collected.
28+
- **Deployment Flags:** a list of NGINX Gateway Fabric Deployment flags that are specified by a user. The actual values of non-boolean flags are **not** collected; we only record that they are either `true` or `false` for boolean flags and `default` or `user-defined` for the rest.
29+
- **Count of Resources:** the total count of resources related to NGINX Gateway Fabric. This includes `GatewayClasses`, `Gateways`, `HTTPRoutes`, `Secrets`, `Services`, and `Endpoints`. The data within these resources is **not** collected.
30+
31+
This data is used to identify the following information:
32+
33+
- The flavors of Kubernetes environments that are most popular among our users.
34+
- The number of unique NGINX Gateway Fabric installations.
35+
- The scale of NGINX Gateway Fabric Deployments.
36+
- The scale of Gateway API resources.
37+
- The used features of NGINX Gateway Fabric.
38+
39+
Our goal is to publicly discuss data trends to drive roadmap discussions in our [Community Meeting](https://github.com/nginxinc/nginx-gateway-fabric/discussions/1472).
40+
41+
## Opt out
42+
43+
You can disable product telemetry when installing NGINX Gateway Fabric using an option dependent on your installation method:
44+
45+
### Helm
46+
47+
Set the `nginxGateway.productTelemetry.enable=false` flag either in the `values.yaml` file or when installing:
48+
49+
```shell
50+
helm install ... --set nginxGateway.productTelemetry.enable=false
51+
```
52+
53+
### Manifests
54+
55+
Add the `--product-telemetry-disable` flag to the `nginx-gateway` container in your Deployment manifest.

0 commit comments

Comments
 (0)