Skip to content

chore: drop the Grafana Cloud and npm credentials - #225

Merged
paveg merged 1 commit into
mainfrom
chore/drop-cloud-credentials
Aug 1, 2026
Merged

paveg merged 1 commit into
mainfrom
chore/drop-cloud-credentials

Conversation

@paveg

@paveg paveg commented Aug 1, 2026

Copy link
Copy Markdown
Owner

All three lose their purpose, so the values go rather than get rotated.

Claude Code telemetry moves to obs-01. Metrics to the five-year Prometheus, events to Loki, over http on VLAN 1 or inside WireGuard from outside. Neither receiver authenticates anyone, so both Grafana tokens have nothing left to authenticate: grafana_api_token signed the OTLP gateway header, grafana_sa_token pushed a dashboard that now lives in homelab-k8s as a ConfigMap and arrives by ArgoCD. The grr-push recipe and the 1296-line dashboard JSON go with them.

npm_token was already dead. npm answers E401 with it, and its 1Password item is deleted — so onepasswordRead would fail the whole config render, making this removal necessary rather than optional. The npmrc auth block goes too.

Two settings worth calling out in the rewritten telemetry module:

  • OTEL_TRACES_EXPORTER=none, not unset. Unset is not off: the SDK keeps batching spans and posting them at whatever endpoint it can infer, failing on every export in a way that looks configured and silently is not. obs-01 has no trace store, and Tempo is a service and a volume for a signal nothing asks a question of.
  • OTEL_METRICS_INCLUDE_SESSION_ID=false. The default is true and Claude Code runs one process per session, so leaving it on mints a permanent series per session.

secret-target-modes is inverted, not deleted. It asserted sentinel tokens reached the rendered npm and telemetry targets; it now asserts no credential does, which is the property worth holding for files every shell reads.

Verified: the config template renders both profiles with neither key present. Note secret-target-modes.test.sh fails on --override-data, a flag absent from chezmoi v2.62.7 — confirmed pre-existing by stashing, untouched here.

After merge, chezmoi init is still needed: removing the keys from the template does not remove them from the generated config.

🤖 Generated with Claude Code

https://claude.ai/code/session_018MMb7Lkc2u4baJy2tZMcrV

All three have lost their purpose, so the values go rather than get rotated.

Claude Code telemetry now goes to obs-01 instead of Grafana Cloud: metrics to
the five-year Prometheus, events to Loki, over http on VLAN 1 or inside
WireGuard from outside. Neither receiver authenticates anyone, so the two
Grafana tokens have nothing left to authenticate — grafana_api_token signed the
OTLP gateway header, grafana_sa_token pushed a dashboard that now lives in the
homelab-k8s repo as a ConfigMap and arrives by ArgoCD. The just recipe and the
dashboard JSON go with them.

npm_token was already dead: npm answers E401 with it, and its 1Password item is
deleted, so onepasswordRead would fail the whole config render. The npmrc auth
block goes too — nothing renders it any more.

Traces are OTEL_TRACES_EXPORTER=none, not unset. Unset is not off: the SDK keeps
batching spans and posting them at whatever endpoint it can infer, failing on
every export in a way that looks configured and silently is not. obs-01 has no
trace store, and adding Tempo for a signal nothing asks a question of is not
worth a service and a volume.

OTEL_METRICS_INCLUDE_SESSION_ID flips to false. The default is true and Claude
Code runs one process per session, so leaving it on mints a permanent series per
session; every panel aggregates across sessions anyway.

secret-target-modes is inverted rather than deleted. It asserted sentinel tokens
reached the rendered npm and telemetry targets; it now asserts no credential
does, which is the property worth holding for files every shell reads.

Verified: the config template renders both profiles with neither key present.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018MMb7Lkc2u4baJy2tZMcrV
@changeset-bot

changeset-bot Bot commented Aug 1, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: bcb8106

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@paveg
paveg enabled auto-merge (squash) August 1, 2026 01:27
@paveg
paveg merged commit 5185688 into main Aug 1, 2026
13 checks passed
@paveg
paveg deleted the chore/drop-cloud-credentials branch August 1, 2026 01:27
Sign up for free to 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