Skip to content

[Story]: Ship the missing sandbox-runner healthcheck script — the liveness probe cannot fire #1

Description

@stephane-segning

Summary

The codeapi-sandbox-runner pod in the librechat-sandbox namespace logs a liveness-probe failure because its exec script sandbox-runner-healthcheck.sh is not present in the container image. The pod currently runs 1/1 so nothing is visibly broken, but the liveness probe is effectively dead — it cannot restart a genuinely hung sandbox runner, which is exactly the failure it exists to catch.

Intent / Source of truth

Found in a read-only audit of the Hetzner home-remote cluster on 2026-08-13, alongside a readiness-timeout warning on codeapi-file-server in the same namespace. This fork publishes its own images to ghcr.io/adorsys-gis (since the 2026-08-08 CI change), so the missing script is ours to fix in the image build rather than an upstream defect.

Scope

  • Confirm the probe path configured in the chart against what the image actually ships (kubectl -n librechat-sandbox describe pod vs a docker run --rm --entrypoint ls <image>).
  • Either add sandbox-runner-healthcheck.sh to the image build, or correct the probe to a command that exists.
  • Check the codeapi-file-server readiness timeout in the same pass — it may share a root cause.
  • Verify no other probe in this chart references a script absent from its image.

Out of scope

  • The wedged codeapi-package-init Job, tracked separately on the platform side.

Verification

kubectl -n librechat-sandbox describe pod codeapi-sandbox-runner-* shows no probe warnings, and deliberately hanging the runner causes a restart within the probe's threshold.

Risk assessment

Low. A liveness probe that currently never fires cannot get worse. The real risk is the opposite: an over-eager probe restarting healthy sandboxes mid-execution, so set the threshold against a measured cold start rather than a guess.

AI Usage Declaration

Drafted with AI assistance during the 2026-08-13 cross-repo backlog consolidation, from a live cluster audit. A human owns intent, verification and consequences.

Metadata

Metadata

Assignees

No one assigned

    Labels

    user-storyA user need with testable acceptance criteria

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions