Skip to content

feat(api): add GET /livez as a process-alive probe - #10819

Merged
diegosouzapw merged 17 commits into
diegosouzapw:release/v3.8.50from
RaviTharuma:feat/10316-livez
Aug 20, 2026
Merged

diegosouzapw merged 17 commits into
diegosouzapw:release/v3.8.50from
RaviTharuma:feat/10316-livez

Conversation

@RaviTharuma

Copy link
Copy Markdown
Contributor

Summary

  • Add GET/HEAD /livez that returns 200 ok whenever the handler can run.
  • Distinct from /healthz lifecycle readiness (ok / starting / stopping).
  • No database, catalog, or provider checks.
  • Docs: liveness = /livez or TCP; readiness = /healthz; never /api/monitoring/health as kubelet liveness.
  • Honesty: /livez still shares the main event loop — busy ≠ dead; prefer TCP if HTTP times out.

Related Issues

Validation

  • Change type: other (probe surface)
  • Focused tests: tests/unit/livez-route.test.ts (3 pass)
  • npm run lint
  • Reconciled with release/v3.8.50
  • Production-code changes include a new or updated automated test in this PR

Tests Added Or Updated

  • tests/unit/livez-route.test.ts

Coverage Notes

  • src/app/livez/route.ts is covered by the new unit file. /healthz behaviour is asserted unchanged in the same file.

Reviewer Notes

  • /livez is omitted from the auth proxy matcher (same as /healthz).

@RaviTharuma

Copy link
Copy Markdown
Contributor Author

E2E on published v3.8.49:

path HTTP body
GET /healthz 200 ok
GET /api/health/ping 200 {"status":"ok"}
GET /api/monitoring/health 200 {"status":"healthy",...}
GET /livez 404 Next.js HTML
GET /readyz 404 Next.js HTML
GET /health 404 Next.js HTML

Kubernetes HTTP liveness against /livez (or /health) still 404s on 3.8.49. /healthz works as a readiness-style probe. This PR is the right split; not in the published image yet.

No hostnames.

@RaviTharuma
RaviTharuma force-pushed the feat/10316-livez branch 2 times, most recently from 90b27ba to 6decf6a Compare August 20, 2026 13:05
@RaviTharuma

Copy link
Copy Markdown
Contributor Author

Rebased onto current release/v3.8.50 via #10828 (f5be5dd). Unique commit replayed on the drain HEAD. Merge is MERGEABLE. Does not merge.

@RaviTharuma

Copy link
Copy Markdown
Contributor Author

Rebased onto current release/v3.8.50 via #10828 (0a09b6a / 4821f9f). Unique commit replayed. HEAD 237abe3. Does not merge.

Distinct from /healthz readiness. Always 200 if the handler runs; no
database or provider checks. Docs recommend /livez or TCP liveness and
/healthz readiness.

Fixes #10316
@RaviTharuma

Copy link
Copy Markdown
Contributor Author

Removed the shared #10828 drain commits from this branch so the diff is feature-only again (it had been ~100 files of i18n/catalog/CI dump stacked under the real change). Rebased onto current release/v3.8.50 (4821f9ffd). Does not merge.

backryun and others added 16 commits August 20, 2026 11:31
Merged — locally validated (123/123 focused chatgpt-web tests, typecheck:core clean, file-size/changelog gates green). Thanks!
Merged — locally validated (6/6 focused lazy-window tests, plus the wider electron suite, typecheck:core clean, gates green). Thanks!
Merged — locally validated (73/73 focused electron tests, typecheck:core clean, gates green) after resolving base-drift against #10327 (both landed today, real interleaved logic in createWindow/showMainWindow/window-all-closed — combined so the hidden-start lazy-open path from #10327 and the unload-on-close path from this PR both stay intact; verified by the existing test 'keeps the non-macOS app alive when unloading its last renderer'). Nice pair of electron perf PRs, thanks!
Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
…10825)

Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
…ntials (#10823)

Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
…S heap (#10818)

Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
…10814)

Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
Merged — validated together with a batch of related RaviTharuma PRs in one combined worktree (typecheck:core clean, complexity/file-size/changelog gates green, focused tests passing). Thanks for the contribution!
@diegosouzapw
diegosouzapw merged commit 2acafd9 into diegosouzapw:release/v3.8.50 Aug 20, 2026
2 of 5 checks passed
@RaviTharuma
RaviTharuma deleted the feat/10316-livez branch September 23, 2026 19:37
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
Merged — locally validated (3/3 focused tests, changelog gate green) after resolving base-drift against diegosouzapw#10827's event-loop-lag doc note (both landed today, same MONITORING_GUIDE.md table cell — combined the /livez recommendation with the diegosouzapw#10303 lag caveat). Thanks!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(docker): separate liveness from readiness probes

4 participants