Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation on what Telemetry Data is collected + how to opt-in/opt-out #5253

Merged
merged 13 commits into from
Mar 15, 2024
Merged
50 changes: 50 additions & 0 deletions docs/content/overview/product-telemetry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: "Product Telemetry"
description: "Learn how and why NGINX Ingress Controller collects product telemetry data."
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved
weight: 500
toc: true
---

## Overview

NGINX Ingress Controller collects product telemetry data to allow its developers to understand how it's deployed and configured by users.
The goal is to use this data to triage development work and prioritize features and functionality that will provide the most value to our users.
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved

## About Product Telemetry

shaun-nx marked this conversation as resolved.
Show resolved Hide resolved
Product telemetry is collected by default.
Data is collected once every 24 hours, and is sent to a service managed by F5 over HTTPS.
Personally identifiable information (PII) is **not** collected.
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved

> [!NOTE]
> If you prefer to not have data collected, you can [opt-out](#opt-out) when installing NGINX Ingress Controller.
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved

## Data Collected

Below is a list of current set data points that are collected and reported by the NGINX Ingress Controller:
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved
- **Project Name** This is the name of the product. In this case `NIC`
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved
- **Project Version** The version of the NGINX Ingress Controller.
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved
- **Project Architecture** The architecture of the kubernetes environment. (e.g. amd64, arm64, etc...)
- **Cluster ID** A unique identifier of the kubernetes cluster that the NGINX Ingress Controller is deployed to.
- **Cluster Platform** The platform that the kubernetes cluster is operating on. (e.g. eks, aks, etc...)
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved
- **Installation ID** Used to identify a unique installation of the NGINX Ingress Controller.
- **VirtualServers** A count of the number of VirtualServer resources managed by the NGINX Ingress Controller.
- **VirtualServerRoutes** A count of the number of VirtualServerRoute resources managed by the NGINX Ingress Controller.
- **TransportServers** A count of the number of TransportServer resources managed by the NGINX Ingress Controller.
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved

## Opt out

Collection and reporting of product telemetry can be switched off when installing the NGINX Ingress Controller.
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved

### Helm

When installing/upgrading with Helm, set the `controller.telemetry.enable` option to `false`
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved
This can be set directly in the `values.yaml` file, or using the `--set` option

```shell
helm upgrade --install ... --set controller.telemetry.enable=false
```

### Manifest

When installing with Manifest, set the `-enable-telemetry-reporting` flag to `false`
shaun-nx marked this conversation as resolved.
Show resolved Hide resolved
Loading