Skip to content

fix(telemetry): make the documented opt-out cover both collectors - #3791

Open
Andrei Kvapil (kvaps) wants to merge 1 commit into
mainfrom
fix/telemetry-optout-covers-controller
Open

fix(telemetry): make the documented opt-out cover both collectors#3791
Andrei Kvapil (kvaps) wants to merge 1 commit into
mainfrom
fix/telemetry-optout-covers-controller

Conversation

@kvaps

@kvaps Andrei Kvapil (kvaps) commented Aug 12, 2026

Copy link
Copy Markdown
Member

What this PR does

Telemetry is reported by two components — cozystack-operator (cluster facts) and cozystack-controller (application counts) — but only the operator had a reachable switch.

The documented opt-out sets cozystackOperator.disableTelemetry on the cozy-installer chart. That chart deploys the operator; it cannot reach a package the platform deploys. packages/system/cozystack-controller has its own independent disableTelemetry key that nothing propagated to, so after an operator had followed the published procedure the controller kept posting cozy_application_count every 15 minutes. Nothing failed, and nothing indicated the opt-out was partial.

Two changes:

  • packages/core/platform gains a telemetry.disabled key and threads it into the cozystack-controller component of the cozystack.cozystack-engine Package — the same mechanism the bundle already uses for cilium, multus and linstor values.
  • packages/core/installer/values.yaml declares cozystackOperator.disableTelemetry. It was only ever referenced from the template, so the --set target the documentation names did not appear in the chart's own values.

Both keys default to false. Nobody who has not opted out sees a behaviour change.

The opt-out remains two steps, because the two collectors are installed by two different charts. Collapsing it into one knob would mean the operator writing the value into the platform Package it does not own, which is a design change rather than a fix.

helm unittest on the platform chart: 137 passed (133 before, plus the four added here). helm lint clean on both charts.

Screenshots

Not a UI change.

Downstream repositories

Trigger map walked against the diff. packages/core/platform/values.yaml changed, which the map routes to the website's hand-written platform-package table; the same change also makes the published opt-out procedure wrong, so the docs follow-up covers both.

Release note

fix(telemetry): the documented telemetry opt-out now covers both collectors. Setting `cozystackOperator.disableTelemetry=true` alone left `cozystack-controller` reporting application counts; the platform gains a `telemetry.disabled` key that silences it. Both default to false.

Summary by CodeRabbit

  • New Features

    • Added a platform telemetry opt-out setting, disabled by default.
    • Added a separate operator telemetry opt-out setting, also disabled by default.
    • Applying the platform setting now disables telemetry reporting for the relevant controller.
  • Bug Fixes

    • Ensured telemetry settings are correctly applied across supported platform variants while preserving existing configuration overrides.

Telemetry is reported by two components, cozystack-operator (cluster facts)
and cozystack-controller (application counts), but only the operator had a
reachable switch. The documented opt-out sets
cozystackOperator.disableTelemetry on the cozy-installer chart, which cannot
reach a package the platform deploys, so cozystack-controller kept reporting
after an operator had followed the procedure — silently, with nothing to
indicate the opt-out was partial.

The platform now exposes telemetry.disabled and threads it into the
cozystack-controller component of the cozystack-engine Package, the same way
the bundle already threads cilium, multus and linstor values. The installer
key is also declared in values.yaml: it was only ever referenced from the
template, so the documented --set target did not appear in the chart's own
values.

Both keys stay false by default; this changes no behaviour for anyone who has
not opted out.

Assisted-By: Claude
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 2047b7c7-401a-4b8c-b142-48fc388609e6

📥 Commits

Reviewing files that changed from the base of the PR and between e944619 and c3cead8.

📒 Files selected for processing (4)
  • packages/core/installer/values.yaml
  • packages/core/platform/templates/bundles/system.yaml
  • packages/core/platform/tests/bundles_telemetry_optout_test.yaml
  • packages/core/platform/values.yaml

📝 Walkthrough

Walkthrough

The change adds separate platform and operator telemetry settings. The system bundle propagates platform telemetry opt-out to cozystack-controller. Bundle tests cover enabled, default, OIDC, and generic variants.

Changes

Telemetry opt-out

Layer / File(s) Summary
Telemetry configuration
packages/core/platform/values.yaml, packages/core/installer/values.yaml
Adds telemetry.disabled and cozystackOperator.disableTelemetry, both defaulting to false.
Bundle wiring and validation
packages/core/platform/templates/bundles/system.yaml, packages/core/platform/tests/bundles_telemetry_optout_test.yaml
Passes disableTelemetry: true to cozystack-controller when platform telemetry is disabled. Tests cover default, OIDC, isp-full, and isp-full-generic variants.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: lexfrei

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: extending the documented telemetry opt-out to cover both collectors.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/telemetry-optout-covers-controller

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added size/L This PR changes 100-499 lines, ignoring generated files area/uncategorized PR auto-labeler could not map title scope to a known area/*; please review kind/bug Categorizes issue or PR as related to a bug labels Aug 12, 2026
@kvaps
Andrei Kvapil (kvaps) marked this pull request as ready for review August 12, 2026 20:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/uncategorized PR auto-labeler could not map title scope to a known area/*; please review kind/bug Categorizes issue or PR as related to a bug size/L This PR changes 100-499 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant