- name: telemetry
- description: Telemetry CLI is a command-line interface for managing devices, connectors, and MQTT topic rules in Canonical Telemetry. It authenticates a user and proxies management operations to the Telemetry Management Service HTTP API.
- snapcraft: https://github.com/canonical/telemetry-cli/blob/main/snap/snapcraft.yaml
- upstream: https://github.com/canonical/telemetry-cli
- upstream-relation: The snap is built and published by Canonical Telemetry, which is also the upstream author and maintainer of the project.
- supported-category: Criteria item “running arbitrary command (esp if user-configurable such as a developer tool)”. The CLI must launch the user’s own, runtime-configured
$EDITOR/$VISUAL— the same mechanism used bygit commit,kubectl edit… - reasoning:
The telemetry CLI has an update-connector subcommand that lets a user edit a connector’s configuration interactively. It behaves exactly like git commit or kubectl edit: the CLI serialises the current configuration to a temporary file, launches the editor the user has configured, and reads the result back after the editor exits.
The editor is whatever the user sets via $EDITOR / $VISUAL (vim, nano, emacs, code --wait, etc.). That binary:
- is not known at build time, so it cannot be bundled;
- lives at an arbitrary path on the host (
/usr/bin,/snap/bin,~/.local/bin, …), discovered at runtime through$PATH; - must be executed with the host’s own libraries and configuration.
Under strict confinement this is not achievable with the existing interfaces.
Why this does not raise a security concern:
The CLI is a stateless management client with no elevated privileges and no long-running service.