Skip to content

feat(server)!: delete the server-secret write path - #1220

Open
rigel-mintaka wants to merge 2 commits into
compass-server/rig-3655-t5-scope-writesfrom
compass-server/rig-3655-t6-drop-write-path
Open

feat(server)!: delete the server-secret write path#1220
rigel-mintaka wants to merge 2 commits into
compass-server/rig-3655-t5-scope-writesfrom
compass-server/rig-3655-t6-drop-write-path

Conversation

@rigel-mintaka

@rigel-mintaka rigel-mintaka commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

This PR is part of a stack containing 4 PRs:

  1. main
  2. docs(design): rule the user-secret scope selector and correct D8 (RIG-3655) #1169
  3. feat(server): scope user-secret writes per caller (RIG-3655) #1187
  4. "feat(server)!: delete the server-secret write path" (this PR)
  5. docs(secrets): correct the value-location prose the DB store obsoleted #1223

The server-secret VALUES are read at runtime through the provider, so
rotation happens provider-side with the secretspec CLI and no RPC has to
exist for it. The write RPCs bought nothing and kept a second, non-atomic
write surface alive next to the DB-backed user path.

Deletes SetServerSecret/DeleteServerSecret, their four messages, the
server-secret set verb and the two admin-gate entries. ListServerSecrets
and the value-free Statuses probe survive; the store-layer DeleteServerSecret
query is declaration removal and is untouched.

With the handlers gone the provider write half has no caller: shrinks
secrets.Resolver to Resolve+Statuses and drops SpecResolver.Set/Delete,
setArgs, WithCLI and defaultCLI. The secretspec CLI floor guard stays -- it
now pins the operator's rotation path, keeping the CLI and the SDK read half
on one release.

Refs RIG-3655

Co-authored-by: Matt Wilkinson matt@rigel.build

The server-secret VALUES are read at runtime through the provider, so
rotation happens provider-side with the secretspec CLI and no RPC has to
exist for it. The write RPCs bought nothing and kept a second, non-atomic
write surface alive next to the DB-backed user path.

Deletes SetServerSecret/DeleteServerSecret, their four messages, the
`server-secret set` verb and the two admin-gate entries. ListServerSecrets
and the value-free Statuses probe survive; the store-layer DeleteServerSecret
query is declaration removal and is untouched.

With the handlers gone the provider write half has no caller: shrinks
secrets.Resolver to Resolve+Statuses and drops SpecResolver.Set/Delete,
setArgs, WithCLI and defaultCLI. The secretspec CLI floor guard stays -- it
now pins the operator's rotation path, keeping the CLI and the SDK read half
on one release.

Refs RIG-3655

Co-authored-by: Matt Wilkinson <matt@rigel.build>
@linear-code

linear-code Bot commented Sep 13, 2026

Copy link
Copy Markdown

RIG-3655

@rigel-mintaka
rigel-mintaka added this pull request to stack #1188 September 13, 2026 22:11
@github-actions

github-actions Bot commented Sep 13, 2026

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-server-rig-3655-t6-d.compass-eng-docs.pages.dev

Deployed from compass-server/rig-3655-t6-drop-write-path at d7bf0e2.

Review found four comments still asserting the deleted Set/Delete seam
exists, two of them telling a reader the write half survives. Also drops a
phase reference from the seam assertion and narrows the name-cap rationale:
server-secret names are server-declared at boot, not written at an RPC edge.

Refs RIG-3655

Co-authored-by: Matt Wilkinson <matt@rigel.build>
@trunk-io

trunk-io Bot commented Sep 14, 2026

Copy link
Copy Markdown

Stacked PR 1223 failed testing in the merge queue. Please investigate the failure and re-submit the stack.

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.

2 participants