Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,4 @@ prepare:
cd ../anchor && git fetch && git checkout unstable; \
fi
@docker image inspect node/anchor >/dev/null 2>&1 || (cd ../anchor && docker build -f Dockerfile.devnet -t node/anchor . && echo "✅ Anchor image built successfully.")
@if [ ! -d "../ethereum2-monitor" ]; then \
git clone https://github.com/ssvlabs/ethereum2-monitor.git ../ethereum2-monitor; \
else \
echo "✅ ethereum2-monitor repo already cloned."; \
cd ../ethereum2-monitor && git fetch && git checkout main; \
fi
@docker image inspect monitor >/dev/null 2>&1 || (cd ../ethereum2-monitor && docker build -t monitor . && echo "✅ Ethereum2 Monitor image built successfully.")
@echo "✅ All requirements are prepared, spinning up the enclave..."
2 changes: 1 addition & 1 deletion params.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ nodes:
images:
ssv: "node/ssv"
anchor: "sigp/anchor:v0.3.1" # if you want to use locally build anchor change to `node/anchor`
monitor: "monitor"
monitor: "ssvlabs/ethereum2-monitor:latest"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Finding 2 · [MINOR] Pin monitor image to a version instead of floating :latest

The new reference ssvlabs/ethereum2-monitor:latest uses a mutable, floating tag. Confirmed on Docker Hub that this repo's tags are NOT immutable (immutable_tags_settings.enabled: false), so latest drifts whenever a new image is pushed (it currently points at the same digest as v1.0.134, pushed 2026-06-18).

This is inconsistent with the rest of the repo, which pins essentially everything else for reproducibility: ssv via SSV_COMMIT, anchor: sigp/anchor:v0.3.1, redis: 7.4.2, postgres: 15, el_image: ethereum/client-go:v1.15.10, cl_image: sigp/lighthouse:v8.0.0-rc.1. With :latest, two developers running make run on different days can silently get different monitor versions, and a future monitor release can break ssv-mini with no diff in this repo. Minor rather than important because monitoring is disabled by default (params.yaml:49 monitor.enabled: false).

Suggested fix:

  monitor: "ssvlabs/ethereum2-monitor:v1.0.134" # bump deliberately; use :latest only for local experimentation

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Finding 3 · [MINOR] Public image is amd64-only — emulated on Apple Silicon

Inspecting the Docker Hub manifest for every tag of ssvlabs/ethereum2-monitor (including latest), the only runnable platform published is linux/amd64; the second manifest entry is unknown/unknown (the buildx SBOM/provenance attestation, not arm64). There is no native arm64 variant.

Previously make prepare built the monitor locally, which on Apple Silicon produced a native arm64 image. After this change, enabling the monitor pulls the amd64-only image and Docker Desktop runs it under emulation (qemu/Rosetta), which is slower and occasionally surfaces subtle runtime differences. Not a hard break, and the monitor is off by default, but a real regression in the local-dev experience worth flagging.

Suggested fix: Ideally publish ethereum2-monitor as a multi-arch (amd64+arm64) image so Apple Silicon devs get native execution. Short of that, add a one-line note in the README monitor/troubleshooting section that the published image is amd64-only and runs emulated on arm64 hosts.

redis: "redis:7.4.2"
postgres: "postgres:15"
foundry: "localssv/ssv-network"