Configuration

These are the chart’s configurable values. Override them with --set <key>=<value> or a values file (-f values.yaml) at install or upgrade time.

When tt-telemetry is installed through tt-operator, the same keys apply under a tt-telemetry. prefix, for example tt-telemetry.podMonitor.enabled.

Values

Key

Type

Default

Description

aggregateSources

list

["<hostname1>","<hostname2>"]

Hosts the aggregator polls; rendered into the binary’s --aggregate-from flag.

aggregator

object

{"enabled":true}

Aggregator Deployment that polls aggregateSources and serves merged telemetry.

aggregator.enabled

bool

true

Deploy the aggregator Deployment; set false to ship only the collector DaemonSet.

config

object

{}

Map rendered as the tt-telemetry binary’s --config file (ConfigMap-mounted).

daemonset

object

{"affinity":{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"tenstorrent.com/has-tt","operator":"In","values":["true"]},{"key":"tenstorrent.com/deploy.tt-telemetry","operator":"NotIn","values":["false"]}]},{"matchExpressions":[{"key":"feature.node.kubernetes.io/pci-1200_1e52.present","operator":"In","values":["true"]},{"key":"tenstorrent.com/deploy.tt-telemetry","operator":"NotIn","values":["false"]}]}]}}},"nodeSelector":[],"updateStrategy":{"rollingUpdate":{"maxUnavailable":"25%"},"type":"RollingUpdate"}}

Collector DaemonSet scheduling and update settings.

daemonset.affinity

object

{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"tenstorrent.com/has-tt","operator":"In","values":["true"]},{"key":"tenstorrent.com/deploy.tt-telemetry","operator":"NotIn","values":["false"]}]},{"matchExpressions":[{"key":"feature.node.kubernetes.io/pci-1200_1e52.present","operator":"In","values":["true"]},{"key":"tenstorrent.com/deploy.tt-telemetry","operator":"NotIn","values":["false"]}]}]}}}

Affinity applied to the collector DaemonSet; default ORs has-tt and NFD PCI labels.

daemonset.nodeSelector

list

[]

Legacy hostname allow-list; when set, overrides daemonset.affinity.

daemonset.updateStrategy

object

{"rollingUpdate":{"maxUnavailable":"25%"},"type":"RollingUpdate"}

Collector DaemonSet update strategy.

deployment

object

{"nodeSelectorMatchExpressions":[{"key":"tenstorrent.com/app-node","operator":"In","values":["true"]}]}

Aggregator Deployment scheduling settings.

deployment.nodeSelectorMatchExpressions

list

[{"key":"tenstorrent.com/app-node","operator":"In","values":["true"]}]

nodeSelectorTerms matchExpressions applied to the aggregator Deployment.

grafanaDashboard

object

{"annotations":{},"enabled":false,"labels":{"grafana_dashboard":"1"},"namespace":""}

Grafana dashboard ConfigMap for the tt-telemetry device overview.

grafanaDashboard.annotations

object

{}

Annotations on the ConfigMap; common use is a Grafana sidecar folder hint.

grafanaDashboard.enabled

bool

false

Create the dashboard ConfigMap.

grafanaDashboard.labels

object

{"grafana_dashboard":"1"}

Labels added to the ConfigMap; default matches the Grafana sidecar’s canonical discovery label.

grafanaDashboard.namespace

string

""

Namespace the ConfigMap is created in. Defaults to release namespace.

hostConfigOverrideDir

string

""

Host path mounted read-write into containers and exported as TT_TELEMETRY_HOST_CONFIG_OVERRIDE_DIR.

image

object

{"repository":"ghcr.io/btrzynadlowski-tt/tt-telemetry-dev","tag":"latest"}

Container image for the aggregator Deployment and the collector DaemonSet.

image.repository

string

"ghcr.io/btrzynadlowski-tt/tt-telemetry-dev"

Image repository.

image.tag

string

"latest"

Image tag.

imagePullSecrets

list

[]

Pull secrets attached to aggregator + collector pod specs.

livenessProbe

object

{"failureThreshold":3,"httpGet":{"path":"/api/status","port":"telemetry-http"},"initialDelaySeconds":15,"periodSeconds":30,"timeoutSeconds":5}

Liveness probe applied to aggregator + collector pods; set null to disable.

name

string

"tt-telemetry"

Release name override; baseline label/selector value used by templates.

namespace

string

""

Namespace override for chart-rendered resources; empty installs into the release namespace.

network

object

{"aggregatorUrl":"tt-telemetry.example.invalid","ingressClassName":"nginx","nodePort":30080,"servicePort":8080,"telemetryHttpPort":8080,"tls":{"clusterIssuer":"","secretName":""}}

Network configuration for the aggregator (ports, ingress, TLS).

network.aggregatorUrl

string

"tt-telemetry.example.invalid"

FQDN set on the aggregator Service ingress; chart default is a placeholder.

network.ingressClassName

string

"nginx"

IngressClass name for the aggregator ingress.

network.nodePort

int

30080

NodePort exposed on every node for the aggregator Service.

network.servicePort

int

8080

Port the aggregator Service exposes inside the cluster.

network.telemetryHttpPort

int

8080

Port the tt-telemetry container listens on for HTTP/metrics.

network.tls

object

{"clusterIssuer":"","secretName":""}

TLS settings for the aggregator ingress; empty secretName serves plain HTTP.

network.tls.clusterIssuer

string

""

cert-manager ClusterIssuer that should provision the TLS cert.

network.tls.secretName

string

""

Kubernetes Secret holding the TLS cert/key for aggregatorUrl.

podMonitor

object

{"enabled":false,"labels":{"release":"prometheus"},"namespace":"monitoring"}

prometheus-operator PodMonitor for the collector DaemonSet.

podMonitor.enabled

bool

false

Create the PodMonitor object.

podMonitor.labels

object

{"release":"prometheus"}

Labels added to PodMonitor metadata; must match prometheus-operator’s podMonitorSelector.

podMonitor.namespace

string

"monitoring"

Namespace the PodMonitor is created in; must be watched by prometheus-operator.

readinessProbe

object

{"failureThreshold":3,"httpGet":{"path":"/metrics","port":"telemetry-http"},"initialDelaySeconds":5,"periodSeconds":10,"timeoutSeconds":3}

Readiness probe applied to aggregator + collector pods; set null to disable.

resources

object

{"limits":{"cpu":"500m","memory":"2Gi"},"requests":{"cpu":"100m","memory":"1Gi"}}

CPU/memory requests and limits applied to aggregator and collector pods.