Skip to content
Open
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
13 changes: 13 additions & 0 deletions charts/lunar/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,19 @@ History starts at 1.0.0 (the snippet→script rename and ghcr.io
switchover); earlier 0.x versions had no production users. For 0.x
history see `git log -- charts/lunar/`.

## [Unreleased]

### Added

- **Optional `hub.startupProbe`.** New optional probe (disabled by default
to preserve current behaviour) that gives Hub a longer window to come
Ready before liveness/readiness kick in. Useful when Hub takes longer
than `livenessProbe.failureThreshold × periodSeconds` to start — e.g.
on a cold start with a substantial Postgres schema migration.
Default tuning when enabled: `30 × 5s = 150s` startup window. Set
`hub.startupProbe.enabled: true` and tune `failureThreshold` /
`periodSeconds` to taste.

## [2.1.0] - 2026-05-25

### Added
Expand Down
11 changes: 11 additions & 0 deletions charts/lunar/templates/hub-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,17 @@ spec:
failureThreshold: {{ .failureThreshold }}
{{- end }}
{{- end }}
{{- if .Values.hub.startupProbe.enabled }}
{{- with .Values.hub.startupProbe }}
startupProbe:
httpGet:
path: /health
port: hub-health
initialDelaySeconds: {{ .initialDelaySeconds }}
periodSeconds: {{ .periodSeconds }}
failureThreshold: {{ .failureThreshold }}
{{- end }}
{{- end }}
ports:
- name: hub-grpc
containerPort: 8000
Expand Down
16 changes: 16 additions & 0 deletions charts/lunar/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,22 @@ hub:
periodSeconds: 5
failureThreshold: 3

# Optional startup probe (disabled by default to preserve existing
# behaviour). Enable when Hub takes longer to become Ready than the
# liveness probe's failureThreshold × periodSeconds tolerates — e.g.
# on a cold start with a substantial Postgres schema migration. While
# the startupProbe is running, kubelet suppresses liveness/readiness
# probe failures, so Hub gets `failureThreshold × periodSeconds`
# seconds total before kubelet starts considering it unhealthy.
#
# Default tuning when enabled is 30 × 5s = 150s. Raise
# `failureThreshold` for larger databases with longer migrations.
startupProbe:
enabled: false
initialDelaySeconds: 0
periodSeconds: 5
failureThreshold: 30

labels: {}
annotations: {}
podAnnotations: {}
Expand Down