Skip to content

chore(utilities): bump feederhub image tag → phase5-complete

jedmund requested to merge chore/bump-feederhub-phase5-complete into main

Summary

Live container on nuc-mini is still `ghcr.io/jedmund/feederhub:phase4-cameras` — predates the entire Phase 5 surface plus this week's follow-ups. Bump to `phase5-complete` once the image is published.

What ships in phase5-complete

  • PATCH `/api/feeders/{uid}` — display fields, location, calibration
  • PUT `/api/feeders/{uid}/plan` — 8-slot schedule editor
  • POST `/api/feeders/{uid}/feed-now` — manual feed
  • GET `/api/feeders/{uid}/dispenses` — dispense history (missing on phase4-cameras, returns SPA HTML)
  • GET / PATCH `/api/settings` — global timezone setting (missing on phase4-cameras, 404)
  • kalay_uid backfill on bridge startup (feederhub MR!16)
  • Camera-card Feed Now button on /feeders (feederhub MR!17)
  • Auto-detect Kalay UID from DEVICE_LOG_REPORT_EVENT (feederhub MR!18)
  • Timezone setting + UTC conversion at FEEDING_PLAN_SERVICE publish (feederhub MR!19)

Required before merge

Publish the image so the ansible deploy can pull it:

```bash cd ~/Developer/PetLibro/feederhub make docker-publish PUBLISH_TAG=phase5-complete ```

(`make docker-publish` checks ghcr.io login pre-flight; if it complains, `gh auth token | docker login ghcr.io -u jedmund --password-stdin` first.)

Deploy + verify

```bash ansible-playbook deploy/utilities.yml

curl https://cat.atelier.house/api/settings | jq # expect {"timezone":"America/Los_Angeles"} curl https://cat.atelier.house/api/feeders/AF0301374F9901C5B/dispenses | jq # expect days[] array, not SPA HTML ssh nuc 'docker logs feederhub | grep "bridge initialized" | tail -1' # log should include "timezone":"America/Los_Angeles" + "kalay_uids_backfilled" ```

Caveats

  • Existing schedule rows under the new image will start firing at their stored HH:MM interpreted as Pacific instead of UTC. For nuc (which had `FEEDERHUB_TIMEZONE=America/Los_Angeles` set) this is the bug fix — existing schedules shift 7-8h earlier than they have been on phase4-cameras. Worth a sanity-check after deploy.

Merge request reports

Loading