feat(server): answer the root path and probe container health

A bare GET / previously returned an empty 404, which reads as an outage
even while the service is healthy. The root now redirects to
/diagnostics when the dashboard is enabled and otherwise returns a
small JSON status pointing at /health/live. The route is excluded from
the OpenAPI description, so the frozen v1 surface is unchanged.

The chiseled runtime image ships no shell or curl, so the container
healthcheck re-enters the server assembly with --health-probe, which
queries the local liveness endpoint and reports through the exit code.
Dockerfile and compose both wire the probe (30s interval, 3 retries).
This commit is contained in:
KyuubiYoru
2026-08-31 03:55:17 +02:00
parent 13382531ce
commit dc2de76963
6 changed files with 80 additions and 0 deletions
+4
View File
@@ -32,4 +32,8 @@ COPY --from=build --chown=1654:1654 /out/ ./
USER 1654:1654
EXPOSE 8080/tcp
EXPOSE 9050/udp
# The chiseled image has no shell or curl; the probe re-enters the server
# assembly in --health-probe mode and reports through the exit code.
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
CMD ["dotnet", "FinalFactory.Rendezvous.Server.dll", "--health-probe"]
ENTRYPOINT ["dotnet", "FinalFactory.Rendezvous.Server.dll"]