restate icon indicating copy to clipboard operation
restate copied to clipboard

[Helm Chart] Service selector mismatch causes endpoints to not populate

Open sjm-pai opened this issue 2 months ago • 1 comments

Service selector mismatch prevents endpoints from populating

Problem

Services created by the chart have selectors that don't match pod labels, resulting in no endpoints. This breaks port-forwarding and cluster node discovery.

Details

Chart version: restate-helm v1.5.2

Services use:

selector:
  app: restate

Pods have:

labels:
  app.kubernetes.io/name: restate
  app.kubernetes.io/instance: restate

Impact

$ kubectl get endpoints
NAME              ENDPOINTS
restate           <none>
restate-cluster   <none>

$ kubectl port-forward svc/restate 9070:9070
error: timed out waiting for the condition

Multi-node clusters fail with:

Failed to select replica set for partition X: not enough candidate nodes

Reproduction

  1. Deploy with replicaCount: 3
  2. Run kubectl get endpoints → all show <none>
  3. Try kubectl port-forward svc/restate 9070:9070 → times out

Expected Fix

Update service templates to use matching selectors:

selector:
  app.kubernetes.io/name: {{ include "restate.name" . }}

Environment

  • Kubernetes v1.33
  • Chart: ghcr.io/restatedev/restate-helm:1.5.2

sjm-pai avatar Oct 17 '25 10:10 sjm-pai

Thanks for creating this issue @sjm-pai. I tried to reproduce the problem but I didn't manage to do it. When looking at the labels, I think we are correctly setting labels and selectors in the helm chart. Note that you will have to provision the cluster via kubectl exec restate-0 -n restate -- restatectl provision --log-provider replicated --log-replication 2 --partition-replication 2 --yes before the endpoints show up under the restate service because only then the pods are considered ready.

tillrohrmann avatar Oct 23 '25 07:10 tillrohrmann