Skip to content

feat(lab): the four ingest tokens the proxy checks (#834) - #907

Merged
Gerrrt merged 1 commit into
mainfrom
gerrrt/alexander-lab-tokens
Oct 4, 2026
Merged

Gerrrt merged 1 commit into
mainfrom
gerrrt/alexander-lab-tokens

Conversation

@Gerrrt

@Gerrrt Gerrrt commented Oct 4, 2026

Copy link
Copy Markdown
Owner

What this is

Step 1 of the lab ingest-proxy rollout (#834, stacks/lab/README.md), run on alexander with make secrets-edit STACK=lab. It adds four keys to secrets/lab.sops.yaml, next to #896's INGEST_TOKEN_GOLEM:

  • INGEST_TOKEN_ODIN
  • INGEST_TOKEN_PHOENIX
  • INGEST_TOKEN_FENRIR
  • INGEST_TOKEN_READER

stacks/lab/compose.yaml requires all five, so without this, main can't render the lab stack anywhere but alexander. The file is ciphertext only: alexander's key alone opens it.

How it got here

alexander committed it as f272db3. It has no GitHub credentials and shouldn't, being on VLAN 30. The patch was printed through delta, which reformats a diff and drops its index lines. So the file was rebuilt from main's copy (4ece5c1, alexander's base) and the diff:

  • every context line and both removed lines (sops' old lastmodified and mac) match main exactly;
  • every added line sits at the line number delta printed;
  • the file goes from 62 to 66 lines, matching the patch's stat.

The rebuilt blob is 31293ba275b23259b27491593c5d3c2fefbda859, and git rev-parse HEAD:secrets/lab.sops.yaml on alexander printed the same ID.

Already live

This is the record of a deploy that's already running. alexander ran make up STACK=lab from this exact file on 2026-10-04, and the proxy refused POST /-/quit, POST /loki/api/v1/delete and POST /api/v1/write with 401.

Verified

check_sops_rules.py and check_docs.py pass.

After merge

On alexander: git fetch origin, then git diff HEAD origin/main -- secrets/lab.sops.yaml must print nothing. Then git switch main && git reset --hard origin/main.

🤖 Generated with Claude Code

Step 1 of the lab ingest-proxy rollout (stacks/lab/README.md), run on
alexander with make secrets-edit STACK=lab. It adds INGEST_TOKEN_ODIN,
_PHOENIX, _FENRIR and _READER beside #896's INGEST_TOKEN_GOLEM. compose
requires all five, so main could not render the lab without this.

Committed on alexander as f272db3, which has no push credentials and should
not have any: it sits on VLAN 30. The patch came through delta, so it was
rebuilt from main's file and the diff. Its blob is 31293ba, and alexander's
git rev-parse HEAD:secrets/lab.sops.yaml printed the same. The deploy it
carries is already live and proven: three 401s from the proxy on 2026-10-04.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 4, 2026 14:18
@Gerrrt Gerrrt added security A credential, an exposure, or a control that is weaker than recorded lab stacks/lab on alexander (VLAN 30) labels Oct 4, 2026
@Gerrrt
Gerrrt enabled auto-merge (squash) October 4, 2026 14:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The expected flat secret keys and corresponding SOPS metadata are present with no identified issues.

Review effort: Balanced
Findings: None

What changed in this PR

Adds the four missing encrypted ingest-proxy tokens required by the lab stack.

Changes:

  • Adds Odin, Phoenix, Fenrir, and reader tokens.
  • Updates SOPS metadata and integrity MAC.
File Description
secrets/​lab.sops.yaml Adds encrypted lab ingest credentials.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@Gerrrt
Gerrrt merged commit 36d6605 into main Oct 4, 2026
9 checks passed
@Gerrrt
Gerrrt deleted the gerrrt/alexander-lab-tokens branch October 4, 2026 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lab stacks/lab on alexander (VLAN 30) security A credential, an exposure, or a control that is weaker than recorded

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants