Skip to content

telemetry: emit install_method=github-actions from CI runs - #24

Merged
royosherove merged 2 commits into
mainfrom
feat/install-method-github-actions
Apr 30, 2026
Merged

telemetry: emit install_method=github-actions from CI runs#24
royosherove merged 2 commits into
mainfrom
feat/install-method-github-actions

Conversation

@royosherove

Copy link
Copy Markdown
Member

Why

Installer beacons fired during GitHub Actions runs are indistinguishable from real curl | bash installs. The is_test flag is validated at the edge but never persisted to the data lake (see validate_install row whitelist), so dashboards have no way to filter out CI traffic. Kernel strings like linux 6.17.0-1010-azure were polluting real-user metrics.

What

  • _telem_resolve_install_method(): return github-actions when $GITHUB_ACTIONS=true, ahead of any LOWKEY_INSTALL_CHANNEL override.
  • Case allowlist: add github-actions so the env override round-trips.
  • docs/reference/telemetry-v1.schema.json: InstallMethod enum now reflects the actual delivery-channel values (brew|curl|msi|dmg|pkg|github-actions) instead of the stale cfn|terraform|tf|console|unknown enum. Those are deploy methods (how AWS gets provisioned), tracked separately via _telem_resolve_method on install.method_selected events.
  • docs/reference/telemetry-schema.mdx: example + enum description aligned with the schema above.

Ship order (don't merge until server is ready)

  1. inceptionstack/loki-dashboard PR fix: remove backslash-escaped ampersands in SSM document creation #1 (server validator) — merge first
  2. This PR — merge after the server lambdas deploy (~4 min after merge)

If you merge this first, installer runs from CI will hit install_method must be one of ['brew', 'curl', 'dmg', 'msi', 'pkg'] 400s (silently, because telemetry is fire-and-forget — so low risk, just no new value reaching the data lake until the server catches up).

Still to do (not in this PR)

  • Published OpenAPI mirror at lowkey.run/api/telemetry-v1.openapi.{yaml,json} lives in S3 bucket 523877807430 (separate account Loki can't reach from here). The InstallBeaconMethod enum in that artifact needs the same update — Roy or someone with access to the telemetry account should re-publish, or we wire up a build step.
  • Notifier Lambda (lambda-api-notify) will now show method: github-actions in Telegram for every CI run. Optional follow-up: skip the notification for CI runs to cut noise.

Version auto-bump

.github/workflows/version-bump.yml will tick patch → 0.5.115 on merge. No [skip ci] in commit since this is a functional change.

Installer beacons fired during GitHub Actions runs were indistinguishable
from real curl-pipe installs. The is_test flag is validated at the edge
but never persisted to the data lake, so dashboards had no way to filter
out CI traffic (kernel os_version strings like "linux 6.17.0-1010-azure"
polluted real-user metrics).
Changes:
- _telem_resolve_install_method(): return "github-actions" when
$GITHUB_ACTIONS=true, before the LOWKEY_INSTALL_CHANNEL override.
- case allowlist: add github-actions so the env override round-trips.
- docs/reference/telemetry-v1.schema.json: InstallMethod enum now
reflects the actual delivery-channel values (brew/curl/msi/dmg/pkg
+ github-actions) instead of the stale cfn/terraform/console enum
(those are deploy methods, tracked separately via _telem_resolve_method).
- docs/reference/telemetry-schema.mdx: example + enum description
aligned with the schema above.
Server side: see inceptionstack/loki-dashboard PR #1 which adds the
value to ALLOWED_INSTALL_METHOD. Ship order: server first, then this.
Codex nit on PR #24: the case-statement comment listed the pre-change
enum. Updated so future readers see the full server-accepted set.
@royosherove
royosherove merged commit a5afee2 into mainApr 30, 2026
14 checks passed
@royosherove
royosherove deleted the feat/install-method-github-actions branch April 30, 2026 14:09
royosherove added a commit that referenced this pull request May 1, 2026
* telemetry: emit install_method=github-actions from CI
Installer beacons fired during GitHub Actions runs were indistinguishable
from real curl-pipe installs. The is_test flag is validated at the edge
but never persisted to the data lake, so dashboards had no way to filter
out CI traffic (kernel os_version strings like "linux 6.17.0-1010-azure"
polluted real-user metrics).
Changes:
- _telem_resolve_install_method(): return "github-actions" when
$GITHUB_ACTIONS=true, before the LOWKEY_INSTALL_CHANNEL override.
- case allowlist: add github-actions so the env override round-trips.
- docs/reference/telemetry-v1.schema.json: InstallMethod enum now
reflects the actual delivery-channel values (brew/curl/msi/dmg/pkg
+ github-actions) instead of the stale cfn/terraform/console enum
(those are deploy methods, tracked separately via _telem_resolve_method).
- docs/reference/telemetry-schema.mdx: example + enum description
aligned with the schema above.
Server side: see inceptionstack/loki-dashboard PR #1 which adds the
value to ALLOWED_INSTALL_METHOD. Ship order: server first, then this.
* telemetry: document github-actions in install_method enum comment
Codex nit on PR #24: the case-statement comment listed the pre-change
enum. Updated so future readers see the full server-accepted set.
---------
Co-authored-by: Roy Osherove <575051+royosherove@users.noreply.github.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@royosherove