fix(telemetry): document the opt-out for both collectors - #651
Conversation
The page names two telemetry collectors, cozystack-operator and cozystack-controller, and then gave a single opt-out that only reaches the operator. cozystack-controller is deployed by the platform, not by the cozy-installer chart, so it kept reporting application counts after a reader had followed the documented procedure. Both steps are now given. On next, the second step uses the platform's new telemetry.disabled key; on v1.6, which has no such key, it overrides the component values directly. Assisted-By: Claude Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
✅ Deploy Preview for cozystack ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📝 WalkthroughWalkthroughThe telemetry documentation for the next, v1.5, and v1.6 versions now explains separate operator and controller telemetry settings. It adds controller opt-out configuration through the ChangesTelemetry documentation
Estimated code review effort: 1 (Trivial) | ~5 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
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. Comment |
v1.5 is still installed and carries the same incomplete instruction. It gets the v1.6 form, which overrides the component values directly, since neither version has the platform-level telemetry.disabled key. Earlier documentation versions are left alone. Assisted-By: Claude Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@content/en/docs/next/operations/configuration/telemetry.md`:
- Around line 102-103: Update the re-enable instructions in
content/en/docs/next/operations/configuration/telemetry.md:102-103 to explicitly
run Helm with cozystackOperator.disableTelemetry=false, then set
telemetry.disabled: false in the Platform Package and apply it. Apply the
corresponding update in
content/en/docs/v1.5/operations/configuration/telemetry.md:103-104 and
content/en/docs/v1.6/operations/configuration/telemetry.md:103-104, using
cozystackController.disableTelemetry: false in the engine Package and
instructing the operator to apply it.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 0e3816bd-262c-413c-8c09-cb78e0664ea6
📒 Files selected for processing (3)
content/en/docs/next/operations/configuration/telemetry.mdcontent/en/docs/v1.5/operations/configuration/telemetry.mdcontent/en/docs/v1.6/operations/configuration/telemetry.md
| To re-enable telemetry later, run the same command with | ||
| `disableTelemetry=false` and set `telemetry.disabled: false`. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Document separate re-enable actions for the operator and controller.
Each page uses two configuration mechanisms, but the re-enable text can lead users to run only the Helm command and omit the Package update.
content/en/docs/next/operations/configuration/telemetry.md#L102-L103: run Helm withcozystackOperator.disableTelemetry=false, then settelemetry.disabled: falsein the Platform Package and apply it.content/en/docs/v1.5/operations/configuration/telemetry.md#L103-L104: run Helm withcozystackOperator.disableTelemetry=false, then setcozystackController.disableTelemetry: falsein the engine Package and apply it.content/en/docs/v1.6/operations/configuration/telemetry.md#L103-L104: run Helm withcozystackOperator.disableTelemetry=false, then setcozystackController.disableTelemetry: falsein the engine Package and apply it.
📍 Affects 3 files
content/en/docs/next/operations/configuration/telemetry.md#L102-L103(this comment)content/en/docs/v1.5/operations/configuration/telemetry.md#L103-L104content/en/docs/v1.6/operations/configuration/telemetry.md#L103-L104
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@content/en/docs/next/operations/configuration/telemetry.md` around lines 102
- 103, Update the re-enable instructions in
content/en/docs/next/operations/configuration/telemetry.md:102-103 to explicitly
run Helm with cozystackOperator.disableTelemetry=false, then set
telemetry.disabled: false in the Platform Package and apply it. Apply the
corresponding update in
content/en/docs/v1.5/operations/configuration/telemetry.md:103-104 and
content/en/docs/v1.6/operations/configuration/telemetry.md:103-104, using
cozystackController.disableTelemetry: false in the engine Package and
instructing the operator to apply it.
) ## 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. - [ ] No downstream repository is affected by this change - [x] [cozystack/website](https://github.com/cozystack/website) - follow-up: cozystack/website#651 - [ ] [cozystack/terraform-provider-cozystack](https://github.com/cozystack/terraform-provider-cozystack) - follow-up: - [ ] [cozystack/ansible-cozystack](https://github.com/cozystack/ansible-cozystack) - follow-up: - [ ] [cozystack/ccp](https://github.com/cozystack/ccp) - follow-up: - [ ] [cozystack/talm](https://github.com/cozystack/talm) - follow-up: - [ ] [cozystack/cozyhr](https://github.com/cozystack/cozyhr) - follow-up: - [ ] [cozystack/cozy-proxy](https://github.com/cozystack/cozy-proxy) - follow-up: - [ ] [cozystack/cozystack-telemetry-server](https://github.com/cozystack/cozystack-telemetry-server) - follow-up: - [ ] [cozystack/external-apps-example](https://github.com/cozystack/external-apps-example) - follow-up: - [ ] [cozystack/examples](https://github.com/cozystack/examples) - follow-up: ### Release note ```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. ``` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## 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. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
What this PR does
The telemetry page names two collectors —
cozystack-operatorandcozystack-controller— and then gives a single opt-out that only reaches the operator.cozystack-controlleris deployed by the platform, not by thecozy-installerchart, so--set cozystackOperator.disableTelemetry=truenever reaches it: a reader who follows the documented procedure keeps reportingcozy_application_countevery 15 minutes, with nothing to indicate the opt-out was partial.Both steps are now documented:
nextuses the platform's newtelemetry.disabledkey.v1.6has no such key, so it overrides thecozystack-controllercomponent values on thecozystack.cozystack-enginePackage directly.Earlier documentation versions carry the same incomplete instruction. They are left alone here, on the usual "backport only if it matters for a released version" rule — say the word if v1.5 and below should get the workaround too.
Summary by CodeRabbit