Skip to content

fix: include message from restate in admin API errors#100

Merged
lukebond merged 1 commit intomainfrom
fix/improve-admin-errors
Mar 19, 2026
Merged

fix: include message from restate in admin API errors#100
lukebond merged 1 commit intomainfrom
fix/improve-admin-errors

Conversation

@lukebond
Copy link
Contributor

@lukebond lukebond commented Mar 17, 2026

if you registered a deployment that included breaking changes, then the admin API call would fail (because the operator doesn't pass --force or --breaking), however the error message was unclear because it didn't include the helpful message returned from restate, and it was only discoverable in the status subresource, it wasn't logged.

  • added a new error variant for admin API rejections
  • added a helper that extracts the message out of the response body
  • use that helper for all admin API call sites
  • log the error when it happens and emit a k8s event

this scenario is now much easier to discover; by looking at the logs, at describe or get events.

i tested this by spinning up a kind cluster and registering a service that would return an error from the admin API. it emitted the event and logged it.

we really need better tests, so i filed #101.

if you registered a deployment that included breaking changes, then the
admin API call would fail (because the operator doesn't pass --force or
--breaking), however the error message was unclear because it didn't
include the helpful message returned from restate, and it was only
discoverable in the status subresource, it wasn't logged.

- added a new error variant for admin API rejections
- added a helper that extracts the message out of the response body
- use that helper for all admin API call sites
- log the error when it happens and emit a k8s event

this scenario is now much easier to discover; by looking at the logs, at
`describe` or `get events`.
@github-actions
Copy link

github-actions bot commented Mar 17, 2026

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@lukebond
Copy link
Contributor Author

I have read the CLA Document and I hereby sign the CLA

Copy link
Contributor

@tillrohrmann tillrohrmann left a comment

Choose a reason for hiding this comment

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

Thanks a lot for creating this PR @lukebond. The changes look good to me. Great to have improved error reporting with the operator :-). +1 for merging.

action: "Reconcile".into(),
secondary: None,
},
&self.object_ref(&()),

Choose a reason for hiding this comment

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

self.object_ref() is this RestateDeployment right? so it means that doing kubectl describe restatedeployment/my-dep will show the error right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

that's right!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

also get events will show it

@lukebond lukebond merged commit e49e1be into main Mar 19, 2026
2 of 3 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Mar 19, 2026
@lukebond lukebond deleted the fix/improve-admin-errors branch March 19, 2026 11:33
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants