2.6 KiB
Hermes WebUI release lane
Hermes WebUI has a release lane separate from hermes-agent-image. The lane
builds dockerfiles/Dockerfile.hermes-webui from one exact reviewed main
commit, publishes a unique immutable Harbor tag, independently verifies the
Harbor digest, and renders a review-only Flux patch. It never writes Git and it
never reconciles or restarts a workload.
Release sequence
- Merge and review all WebUI source, patch, theme, and PWA asset changes.
- Wait for Flux to complete both Harbor immutability Jobs and refresh Jenkins
JCasC from reviewed
main. - Open the manual Jenkins job
hermes-webui-imageand set:PUBLISH_IMAGE=trueEXPECTED_SOURCE_REVISIONto the full 40-charactermaincommitCONFIRM_PUBLISH=PUBLISH HERMES WEBUI
- Retain the fingerprinted seven-file artifact set. In particular, compare
hermes-webui-image.jsonwith Harbor and reviewhermes-webui-image-update.patch. - Apply that patch on a fresh branch and open a separate review. The patch is
constrained to the
webuicontainer in:StatefulSet/hermes-chat-tenantDeployment/hermes
- Merge the digest-only review to let Flux roll out desired state. Do not use a
manual
kubectl set image, restart, or reconcile as a release substitute.
The release fails closed when the requested revision is not the checked-out
origin/main, the unique Harbor tag already exists, the exact WebUI immutable
tag policy is absent, Kaniko and Harbor disagree on the digest, either Flux
workload changes identity/image shape, or the evidence archive is incomplete.
Harbor policy bootstrap has an intentional ordering dependency. The existing
harbor-hermes-agent-immutability-ensure-1 Job grants the shared Jenkins
publisher only the read-only immutable-tag:list permission; the WebUI policy
Job creates and verifies the separate hermes-webui rule but does not edit the
publisher robot. Flux must therefore complete the existing Hermes agent policy
bootstrap before the WebUI Job and Jenkins release verification. This successor
does not include a WebUI image digest: until its WebUI publisher job and policy
are merged to main and bootstrapped, no image can be legitimately published
and independently verified through this lane.
PWA identity source
The installed application uses the tracked canonical persona at
dockerfiles/hermes-webui-assets/hermes-agent.ico. Provenance, the canonical
SHA-256, and derivation details for the required 192px/512px PNGs are recorded
beside the asset in SOURCE.md; the image build never reads an icon from a
running coordinator.