Add Web/PWA image health endpoint and app tags #248
Labels
No labels
abandoned
active
audit
blocked
data-safety
difficulty:easy
difficulty:hard
difficulty:high
difficulty:medium
docs
done
duplicate
notebook-v0
open
priority:high
ready
release-critical
safe-mode
spec
spec-backlog
subsystem:api
subsystem:backlog
subsystem:bases
subsystem:ci
subsystem:command
subsystem:configuration
subsystem:consolidate
subsystem:dependencies
subsystem:desktop-electron
subsystem:diffmerge
subsystem:docker
subsystem:docs
subsystem:fuzzy
subsystem:graph
subsystem:hotkeys
subsystem:lapis
subsystem:maint
subsystem:maintenance
subsystem:markdown
subsystem:markdown-lint
subsystem:md018
subsystem:notebook
subsystem:notifications
subsystem:opfs
subsystem:package
subsystem:plugin-markdown
subsystem:plugin-tasks
subsystem:plugins
subsystem:registry
subsystem:release
subsystem:renovate
subsystem:restore
subsystem:scripts
subsystem:search
subsystem:settings
subsystem:spec
subsystem:tasks
subsystem:testing
subsystem:ui
subsystem:web
subsystem:workspace
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lapis-notes/lapis#248
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow up the initial Web/PWA Docker image work with an explicit health endpoint
and app-version image metadata.
Problem
The new
lapisnotes/webimage serves the PWA but does not expose a dedicatedhealth route for ingress/container health probes. The publish workflow also only
pushes
latestand the short Git SHA, leaving deployments without image tagsthat identify the Web/PWA package version.
Goal
Expose a cheap HTTP health endpoint and publish app-version image tags and OCI
metadata alongside the existing short SHA and
latesttags.Scope
versioned tags.
Non-goals
HEALTHCHECKthat would require copying a shell,curl, or other probe binary into the distroless runtime.
Acceptance Criteria
200from/healthzwith a small staticresponse and no SPA fallback dependency.
lapisnotes/web:<12-char-sha>andlapisnotes/web:latest.lapisnotes/web:<web-package-version>andlapisnotes/web:v<web-package-version>.version, and license.
Implementation Notes
packages/web/package.jsonin the workflow so the tagfollows the app package version.
respondhandler for/healthz; keep Docker image hardening byavoiding extra runtime probe binaries.
Suggested Files or Specs To Inspect
docker/web/Caddyfile.forgejo/workflows/publish-web.ymlpackages/web/package.jsonspec/src/20-packages/web/index.mdpackages/web/spec.mdspec/src/80-maintenance/release-management.mdValidation Commands
pnpm -s check:format:rootpnpm check:allmake spec-lintmdbook build speccurl -i http://localhost:8080/healthzRelated Issues
Follow-up Tasks
Implementation Summary
Added /healthz to the Web/PWA Caddy runtime, added package-version Docker Hub tags plus OCI app metadata labels, and updated web/release specs. Validated pnpm check:all, make spec-lint, and mdbook build spec; local Docker build/run health checks were blocked because no Docker daemon is available.