What: rename Secret paperclip/agent-hestia-token-v2 to agent-hestia-token-v3 (type kubernetes.io/service-account-token, SA agent-hestia, unchanged) and update the matching agent-token-read Role resourceNames entry. This is the same change as #1104 (REN-525).
Why: the -v2 token was printed in Hestia run 13bd8a68 (REN-535) and is burned. The token controller mints a new token for -v3. Flux prunes -v2, which invalidates the leaked token.
Impact: Hestia has no cluster access between the prune and Hermes rebuilding its KUBECONFIG_CONTENT from -v3 (REN-538). This was accepted on the card. No workload or traffic is touched.
Verified: the diff renames only these 2 strings in kubernetes/apps/paperclip/agent-kubectl-rbac.yaml. Linted by diff only. The cluster check comes after merge.
Revert: revert this commit. That recreates -v2 with a new token, so the leaked token stays invalid.
**What:** rename Secret `paperclip/agent-hestia-token-v2` to `agent-hestia-token-v3` (type `kubernetes.io/service-account-token`, SA `agent-hestia`, unchanged) and update the matching `agent-token-read` Role resourceNames entry. This is the same change as #1104 (REN-525).
**Why:** the -v2 token was printed in Hestia run 13bd8a68 (REN-535) and is burned. The token controller mints a new token for -v3. Flux prunes -v2, which invalidates the leaked token.
**Impact:** Hestia has no cluster access between the prune and Hermes rebuilding its KUBECONFIG_CONTENT from -v3 (REN-538). This was accepted on the card. No workload or traffic is touched.
**Verified:** the diff renames only these 2 strings in `kubernetes/apps/paperclip/agent-kubectl-rbac.yaml`. Linted by diff only. The cluster check comes after merge.
**Revert:** revert this commit. That recreates -v2 with a new token, so the leaked token stays invalid.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
The token leaked into Hestia run 13bd8a68 (REN-535). Renaming makes the
token controller mint a new token; Flux prunes the old Secret, which
invalidates the leaked token.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🤖Automated review — model CLI default (complexity: unknown), commit f835f40eb7fcbb7d98337222b1cdbb8c4a39c692.
Advisory review by the review-bot pipeline. It never approves; a human merges. Push new commits to get a fresh review.
Summary
Rotates the leaked agent-hestia service-account token by renaming the Secret agent-hestia-token-v2 → agent-hestia-token-v3 and updating the matching resourceNames entry in the agent-token-read Role, in kubernetes/apps/paperclip/agent-kubectl-rbac.yaml. This is a mechanical, 2-line rename following the same pattern as the prior #1104/REN-525 rotation. No blocking issues found.
🟡 Suggestions
None beyond what's already acknowledged in the PR body. The described gap (Hestia loses cluster access between Flux pruning -v2 and Hermes rebuilding KUBECONFIG_CONTENT from -v3) is an accepted, known consequence of this pattern, not a defect in the diff.
🟢 Nits
None.
Tests
No automated tests apply to this GitOps YAML rename; correctness was verified by inspection:
kubernetes/apps/paperclip/agent-kubectl-rbac.yaml:96 — Secret renamed to agent-hestia-token-v3, with type, namespace, labels, and the kubernetes.io/service-account.name: agent-hestia annotation all left unchanged, so the new Secret still binds to the same (unmodified) ServiceAccount.
kubernetes/apps/paperclip/agent-kubectl-rbac.yaml:191 — the corresponding resourceNames entry in Role agent-token-read updated to match, so Hermes's get grant still resolves to a real Secret name.
A repo-wide search for agent-hestia-token confirms these are the only two references — no other manifest, kustomization, or script in the tree still points at -v2, so the rename is self-contained as claimed.
Recommendation
Looks reasonable — no blocking issues; comments above are optional.
🤖 **Automated review** — model `CLI default` (complexity: unknown), commit `f835f40eb7fcbb7d98337222b1cdbb8c4a39c692`.
> Advisory review by the `review-bot` pipeline. It never approves; a human merges. Push new commits to get a fresh review.
---
## Summary
Rotates the leaked `agent-hestia` service-account token by renaming the Secret `agent-hestia-token-v2` → `agent-hestia-token-v3` and updating the matching `resourceNames` entry in the `agent-token-read` Role, in `kubernetes/apps/paperclip/agent-kubectl-rbac.yaml`. This is a mechanical, 2-line rename following the same pattern as the prior #1104/REN-525 rotation. No blocking issues found.
## 🟡 Suggestions
- None beyond what's already acknowledged in the PR body. The described gap (Hestia loses cluster access between Flux pruning `-v2` and Hermes rebuilding `KUBECONFIG_CONTENT` from `-v3`) is an accepted, known consequence of this pattern, not a defect in the diff.
## 🟢 Nits
None.
## Tests
No automated tests apply to this GitOps YAML rename; correctness was verified by inspection:
- `kubernetes/apps/paperclip/agent-kubectl-rbac.yaml:96` — Secret renamed to `agent-hestia-token-v3`, with `type`, namespace, labels, and the `kubernetes.io/service-account.name: agent-hestia` annotation all left unchanged, so the new Secret still binds to the same (unmodified) ServiceAccount.
- `kubernetes/apps/paperclip/agent-kubectl-rbac.yaml:191` — the corresponding `resourceNames` entry in Role `agent-token-read` updated to match, so Hermes's `get` grant still resolves to a real Secret name.
- A repo-wide search for `agent-hestia-token` confirms these are the only two references — no other manifest, kustomization, or script in the tree still points at `-v2`, so the rename is self-contained as claimed.
## Recommendation
Looks reasonable — no blocking issues; comments above are optional.
<!-- pr-review:sha=f835f40eb7fcbb7d98337222b1cdbb8c4a39c692 -->
Approved on f835f40eb7. Diff: 2 strings in agent-kubectl-rbac.yaml (Secret name + agent-token-read resourceNames), no other refs to hestia-token in repo. Flux ks paperclip prune=true, Ready at e553c37c (merge base). Revert: revert commit.
Approved on f835f40eb7fcbb7d98337222b1cdbb8c4a39c692. Diff: 2 strings in agent-kubectl-rbac.yaml (Secret name + agent-token-read resourceNames), no other refs to hestia-token in repo. Flux ks paperclip prune=true, Ready at e553c37c (merge base). Revert: revert commit.
Ghost
merged commit d6ce8bdf1f into master2026-10-03 16:59:22 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What: rename Secret
paperclip/agent-hestia-token-v2toagent-hestia-token-v3(typekubernetes.io/service-account-token, SAagent-hestia, unchanged) and update the matchingagent-token-readRole resourceNames entry. This is the same change as #1104 (REN-525).Why: the -v2 token was printed in Hestia run 13bd8a68 (REN-535) and is burned. The token controller mints a new token for -v3. Flux prunes -v2, which invalidates the leaked token.
Impact: Hestia has no cluster access between the prune and Hermes rebuilding its KUBECONFIG_CONTENT from -v3 (REN-538). This was accepted on the card. No workload or traffic is touched.
Verified: the diff renames only these 2 strings in
kubernetes/apps/paperclip/agent-kubectl-rbac.yaml. Linted by diff only. The cluster check comes after merge.Revert: revert this commit. That recreates -v2 with a new token, so the leaked token stays invalid.
🤖 Generated with Claude Code
🤖 Automated review — model
CLI default(complexity: unknown), commitf835f40eb7fcbb7d98337222b1cdbb8c4a39c692.Summary
Rotates the leaked
agent-hestiaservice-account token by renaming the Secretagent-hestia-token-v2→agent-hestia-token-v3and updating the matchingresourceNamesentry in theagent-token-readRole, inkubernetes/apps/paperclip/agent-kubectl-rbac.yaml. This is a mechanical, 2-line rename following the same pattern as the prior #1104/REN-525 rotation. No blocking issues found.🟡 Suggestions
-v2and Hermes rebuildingKUBECONFIG_CONTENTfrom-v3) is an accepted, known consequence of this pattern, not a defect in the diff.🟢 Nits
None.
Tests
No automated tests apply to this GitOps YAML rename; correctness was verified by inspection:
kubernetes/apps/paperclip/agent-kubectl-rbac.yaml:96— Secret renamed toagent-hestia-token-v3, withtype, namespace, labels, and thekubernetes.io/service-account.name: agent-hestiaannotation all left unchanged, so the new Secret still binds to the same (unmodified) ServiceAccount.kubernetes/apps/paperclip/agent-kubectl-rbac.yaml:191— the correspondingresourceNamesentry in Roleagent-token-readupdated to match, so Hermes'sgetgrant still resolves to a real Secret name.agent-hestia-tokenconfirms these are the only two references — no other manifest, kustomization, or script in the tree still points at-v2, so the rename is self-contained as claimed.Recommendation
Looks reasonable — no blocking issues; comments above are optional.
Approved on
f835f40eb7. Diff: 2 strings in agent-kubectl-rbac.yaml (Secret name + agent-token-read resourceNames), no other refs to hestia-token in repo. Flux ks paperclip prune=true, Ready ate553c37c(merge base). Revert: revert commit.