Join the contributor Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
Operators need to know which version of the backend is running in each environment when triaging incidents. There is currently no /version endpoint, so they fall back to grepping logs or shelling into the container. A read-only endpoint exposing git_sha, build_time, and node_version is trivial to ship and immediately useful for runbooks and the staging smoke test.
Acceptance criteria
Files to touch
backend/src/app.ts
backend/Dockerfile
backend/src/__tests__/health.test.ts (or a new version.test.ts)
.github/workflows/deploy-staging.yml (pass GIT_SHA/BUILD_TIME build args)
Out of scope
- Exposing the same on the frontend (
/_status page is a separate issue).
- Surfacing it in a UI banner.
Join the contributor Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
Operators need to know which version of the backend is running in each environment when triaging incidents. There is currently no
/versionendpoint, so they fall back to grepping logs or shelling into the container. A read-only endpoint exposinggit_sha,build_time, andnode_versionis trivial to ship and immediately useful for runbooks and the staging smoke test.Acceptance criteria
GET /versionreturning{ gitSha, builtAt, nodeVersion, contracts: { loanManager, lendingPool, remittanceNft, multisigGovernance } }.GIT_SHAandBUILD_TIMEfrom environment variables, falling back to"unknown".backend/DockerfileviaARG/ENVat build time.Files to touch
backend/src/app.tsbackend/Dockerfilebackend/src/__tests__/health.test.ts(or a newversion.test.ts).github/workflows/deploy-staging.yml(passGIT_SHA/BUILD_TIMEbuild args)Out of scope
/_statuspage is a separate issue).