Skip to content

runbooks: the identity key is rotated by a key made, listed and retired - #9

Merged
aledbf merged 1 commit into
mainfrom
identity-key-rotation
Nov 12, 2026
Merged

aledbf merged 1 commit into
mainfrom
identity-key-rotation

Conversation

@aledbf

@aledbf aledbf commented Nov 12, 2026

Copy link
Copy Markdown
Member

Replaces the identity-audit-failing TODO (spin#1050) with the rotation steps that spin-stack/spin#1178 and spin-stack/spin-terraform-aws#114 make real.

After the access that opened the key is removed:

  1. identity rotate makes the next key and prints its kid and the list to apply.
  2. Apply identity_keys. Both keys are published, and new tokens are signed with the new one.
  3. identity retire <old kid> prints the list with the old key retired once what it signed has ended. Apply it. Commits signed earlier still verify.

key-rotation gets a short entry that points there. Verify now names what jwks.json and the control plane's journal should show.

Merge after spin-stack/spin#1178 is in the release spin's pin moves to.

Refs spin-stack/spin#1050

🤖 Generated with Claude Code

identity-audit-failing had a TODO where a compromise needs a new key: the
identity key was made once and could not be rotated (spin#1050). spin now
makes the next key on `controlplane identity rotate`, trusts it only once the
installation's document lists it (the Terraform module's identity_keys),
overlaps the two, and retires the old one on the list `identity retire`
prints. The compromise steps say that, in order, and key-rotation points there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@aledbf
aledbf merged commit bf12753 into main Nov 12, 2026
1 check passed
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