Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "restate-operator"
version = "2.5.0"
version = "2.5.1"
authors = ["restate.dev"]
edition = "2024"
rust-version = "1.92"
Expand Down
2 changes: 1 addition & 1 deletion charts/restate-operator-helm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ apiVersion: v2
name: restate-operator-helm
description: An operator for Restate clusters
type: application
version: "2.5.0"
version: "2.5.1"
38 changes: 38 additions & 0 deletions release-notes/v2.5.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Restate Operator v2.5.1 Release Notes

## Highlights

- **Fix: Knative deployments now work with Restate Cloud** — The Knative reconciler was passing raw in-cluster Route URLs to the Restate admin API, which Restate Cloud cannot reach. Service URLs are now routed through the cloud tunnel, matching the existing ReplicaSet behavior.

## Bug Fixes

### Knative service URLs not tunneled for Restate Cloud

When using RestateDeployment in Knative mode with a Restate Cloud endpoint
(`spec.restate.register.cloud`), the operator passed the in-cluster Knative
Route URL directly to `register_service_with_restate`. Restate Cloud cannot
reach in-cluster URLs, so registration failed and the operator looped
indefinitely.

The fix extracts a `maybe_tunnel_url()` method from `RestateAdminEndpoint` and
calls it in the Knative reconciler after resolving the Route URL, matching how
the ReplicaSet reconciler already handled this case.

**Impact on Users:**
- **Knative + Restate Cloud deployments**: This was broken; it now works.
- **Knative + non-Cloud deployments**: No change; `maybe_tunnel_url` is a no-op
when `cloud` is not set.
- **ReplicaSet deployments**: No change. The internal refactoring of
`service_url_for_deployment()` is equivalent to the previous behavior.

*Related: Issue [#120](https://github.com/restatedev/restate-operator/issues/120), PR [#122](https://github.com/restatedev/restate-operator/pull/122)*

---

## Upgrading

No CRD changes in this release. Upgrade the operator via Helm:

```bash
helm upgrade restate-operator restatedev/restate-operator --version 2.5.1
```
Loading