Skip to content

fix: build make dev images the way the release builds them - #189

Merged
catinspace-au merged 1 commit into
mainfrom
fix/make-dev-image-parity
Sep 29, 2026
Merged

catinspace-au merged 1 commit into
mainfrom
fix/make-dev-image-parity

Conversation

@catinspace-au

Copy link
Copy Markdown
Contributor

make dev was building two things differently from what ships.

  • hyperdx:local was built with NEXT_PUBLIC_IS_LOCAL_MODE=true. The released dfe-hyperdx image gets only CODE_VERSION from hyperi-ci, so it runs the Dockerfile default, false.
  • dfe-dashboards runs the dfe-engine image but was not in IMAGE_CONSUMERS or the override, so a local engine build left it copying dashboards out of the registry engine.

Why LOCAL_MODE was there: it came in with the opt-in HyperDX stack (d556ee1), when compose ran HyperDX with no auth and browser-local state. #96 moved compose to server-side HyperDX (oidc-proxy auth, sources and dashboards in FerretDB) and did not touch the build arg. So every local HyperDX since has run with auth OFF (entry.prod.sh sets IS_LOCAL_APP_MODE=DANGEROUSLY_is_local_app_mode on true) and kept its sources in localStorage, where the provisioner cannot reach them. Nothing still needs it.

What it does now:

  • the dev build passes no --build-arg, so the release's Dockerfile defaults apply
  • dfe-dashboards follows a local engine build in IMAGE_CONSUMERS and the override, and sits in IMPLICIT_CONSUMERS because hyperdx starts it on a stack with the engine off
  • scripts/tests/test_build_dev_images.py reads which services run each image straight off docker-compose.yml, so the next consumer added there fails check-tests. The contract- and catalogue- one-shots stay on the pin on purpose, and developing.md now says so for both.

make check-compose check-hardfail check-docs check-python check-tests green locally, 723 tests. No image was built and no stack started.

make dev built hyperdx:local with NEXT_PUBLIC_IS_LOCAL_MODE=true, which the released dfe-hyperdx image never sets. That arg came in with the opt-in HyperDX stack (d556ee1), when compose ran HyperDX with no auth and browser-local state. #96 moved compose to server-side HyperDX (oidc-proxy auth, sources and dashboards in FerretDB) but left the build arg, so every local HyperDX ran with authentication off and its state in localStorage. The dev build now passes no build arg, so the Dockerfile default the release uses applies.

dfe-dashboards runs the engine image and was missing from IMAGE_CONSUMERS and the override, so a local engine build left it copying dashboards out of the registry engine. It is repointed now, and listed in IMPLICIT_CONSUMERS because hyperdx starts it on a stack with the engine off.

The new tests read which services run each image straight off docker-compose.yml, so the next one added there fails check-tests instead of drifting.
@catinspace-au
catinspace-au merged commit eecb44b into main Sep 29, 2026
7 checks passed
@catinspace-au
catinspace-au deleted the fix/make-dev-image-parity branch September 29, 2026 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant