[Helm Chart] Service selector mismatch causes endpoints to not populate
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
- Deploy with
replicaCount: 3 - Run
kubectl get endpoints→ all show<none> - 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
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.