feat: add third_party_telemetry_enabled config to disable infra telemetry#181
feat: add third_party_telemetry_enabled config to disable infra telemetry#181stevenolen merged 12 commits intomainfrom
Conversation
9f5c4cc to
3931738
Compare
Lytol
left a comment
There was a problem hiding this comment.
I'll trust you that the options for each component are correct. Looks good!
…etry Add a workload-level `third_party_telemetry_enabled` config option (default: true) that disables usage reporting and update checks for third-party infrastructure components when set to false. Components affected: - Grafana: analytics reporting, update checks, plugin update checks - Loki: analytics reporting - Mimir: usage stats - Alloy: reporting - Traefik: version check and anonymous usage (AWS + Azure) - Calico: usage reporting via FelixConfiguration (EKS only) Also fixes: - Tigera Operator chart version bumped 3.26.1 → 3.29.3 to support native defaultFelixConfiguration in Helm values - Tigera Operator now uses configurable tigera_operator_version from WorkloadClusterComponentConfig instead of hardcoded version
3931738 to
a496abe
Compare
force_update_version is a valid parameter on aws.eks.NodeGroup but not aws.eks.Cluster. It was incorrectly being injected into cluster_args, causing Cluster creation to fail with an unexpected keyword argument. Store the value on self for use by node groups instead.
This reverts commit 4a8e120.
When disabling third-party telemetry, the Tigera Helm chart needs to manage the existing default FelixConfiguration. Add a CustomResourcePatch to set Helm ownership labels/annotations before the Helm release runs, allowing Helm to adopt the pre-existing resource.
Calico 3.29.3 fails with iptables-legacy-save exit status 111 on Amazon Linux 2023 (kernel 6.12) which only ships nftables. Set iptablesBackend: NFT in defaultFelixConfiguration unconditionally.
- Switch linuxDataplane from Iptables to Nftables (GA in 3.31, fixes AL2023 kernel 6.12) - Remove iptablesBackend: NFT (not needed with native Nftables dataplane) - Remove nonPrivileged: Enabled (no longer supported in 3.31) - Disable Goldmane and Whisker (new 3.31 components, CRDs not pre-installed)
The Nftables linuxDataplane value was added in Calico 3.31, but older CRD schemas only allow Iptables/BPF/VPP. Patch the CRD enum before the Helm release so the API server accepts the new value, enabling single-step upgrades from older versions.
3.31.4 with linuxDataplane: Iptables works on AL2023 — the operator uses iptables-nft under the hood. The Nftables dataplane caused NetworkUnavailable to stick on nodes after the transition. Removing the CRD patch since it was only needed for the Nftables enum.
|
Update: Tigera Operator upgrade to 3.31.4 This PR now also includes an upgrade of the Tigera Operator from 3.26.1 → 3.31.4, needed for AL2023 compatibility (iptables-legacy-save exit status 111 on kernel 6.12). What changed:
Tested on:
Note: The commit history has some noise from a failed attempt at switching to |
The Tigera operator auto-detects EKS and defaults cni.type to AmazonVPC when the field is empty. Due to a race condition during install/upgrade, the operator can fill this default before Helm writes the user's value. Once set, Helm's 3-way merge won't revert it. Add a Pulumi CustomResourcePatch that explicitly sets cni.type=Calico on the Installation CR after the Helm release, ensuring Calico CNI overlay networking is always configured regardless of operator behavior.
|
Update: Fix Calico CNI override on EKS During the Tigera 3.31.4 upgrade, we discovered that the operator auto-detects This caused new nodes on staging clusters to come up Fix: Added a |
Helm 3.31.4 manages the default FelixConfiguration on its own when defaultFelixConfiguration is enabled — the manual Helm ownership labels/annotations patch is not needed and causes drift on every run.
Add a workload-level
third_party_telemetry_enabledconfig option (default: true) that disables usage reporting and update checks for third-party infrastructure components when set to false.Components affected:
Also fixes:
Going to deploy this to test workload now to confirm!
Category of change
Checklist