From bfdc6e21ecb660be4f88d037061dd89f5799b75a Mon Sep 17 00:00:00 2001 From: rob Date: Sun, 19 Jul 2026 08:32:44 +0000 Subject: [PATCH] Make maru versions OCI-observable and fix metrics scrape path. Re-label consensys/maru FROM tag into image OCI labels (upstream leaves version/vcs-ref empty) and scrape /metrics on :9090 instead of the 404ing /debug/metrics/prometheus path. Co-authored-by: Cursor --- .../besu/linea-mainnet-besu-pruned-bonsai.yml | 2 +- .../besu/linea-sepolia-besu-pruned-bonsai.yml | 2 +- .../linea-mainnet-erigon3-archive-trace.yml | 2 +- .../linea-mainnet-erigon3-minimal-trace.yml | 2 +- .../linea-mainnet-erigon3-pruned-trace.yml | 2 +- .../linea-sepolia-erigon3-archive-trace.yml | 2 +- .../linea-sepolia-erigon3-minimal-trace.yml | 2 +- .../linea-sepolia-erigon3-pruned-trace.yml | 2 +- ...inea-mainnet-geth-archive-leveldb-hash.yml | 2 +- .../linea-mainnet-geth-pruned-pebble-path.yml | 2 +- ...inea-sepolia-geth-archive-leveldb-hash.yml | 2 +- .../linea-sepolia-geth-pruned-pebble-path.yml | 2 +- linea/maru.Dockerfile | 20 ++++++++++++++++++- 13 files changed, 31 insertions(+), 13 deletions(-) diff --git a/linea/besu/linea-mainnet-besu-pruned-bonsai.yml b/linea/besu/linea-mainnet-besu-pruned-bonsai.yml index 60431600..bff6b7b8 100644 --- a/linea/besu/linea-mainnet-besu-pruned-bonsai.yml +++ b/linea/besu/linea-mainnet-besu-pruned-bonsai.yml @@ -150,7 +150,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-mainnet-besu-pruned-bonsai: diff --git a/linea/besu/linea-sepolia-besu-pruned-bonsai.yml b/linea/besu/linea-sepolia-besu-pruned-bonsai.yml index f7a2f92f..3c14f9aa 100644 --- a/linea/besu/linea-sepolia-besu-pruned-bonsai.yml +++ b/linea/besu/linea-sepolia-besu-pruned-bonsai.yml @@ -150,7 +150,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-sepolia-besu-pruned-bonsai: diff --git a/linea/erigon3/linea-mainnet-erigon3-archive-trace.yml b/linea/erigon3/linea-mainnet-erigon3-archive-trace.yml index c95f32e7..4976bfa0 100644 --- a/linea/erigon3/linea-mainnet-erigon3-archive-trace.yml +++ b/linea/erigon3/linea-mainnet-erigon3-archive-trace.yml @@ -139,7 +139,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-mainnet-erigon3-archive-trace: diff --git a/linea/erigon3/linea-mainnet-erigon3-minimal-trace.yml b/linea/erigon3/linea-mainnet-erigon3-minimal-trace.yml index 469af84d..68869eb9 100644 --- a/linea/erigon3/linea-mainnet-erigon3-minimal-trace.yml +++ b/linea/erigon3/linea-mainnet-erigon3-minimal-trace.yml @@ -140,7 +140,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-mainnet-erigon3-minimal-trace: diff --git a/linea/erigon3/linea-mainnet-erigon3-pruned-trace.yml b/linea/erigon3/linea-mainnet-erigon3-pruned-trace.yml index 3c36daef..6d691ea5 100644 --- a/linea/erigon3/linea-mainnet-erigon3-pruned-trace.yml +++ b/linea/erigon3/linea-mainnet-erigon3-pruned-trace.yml @@ -140,7 +140,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-mainnet-erigon3-pruned-trace: diff --git a/linea/erigon3/linea-sepolia-erigon3-archive-trace.yml b/linea/erigon3/linea-sepolia-erigon3-archive-trace.yml index 35a08ae0..5558a1fe 100644 --- a/linea/erigon3/linea-sepolia-erigon3-archive-trace.yml +++ b/linea/erigon3/linea-sepolia-erigon3-archive-trace.yml @@ -139,7 +139,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-sepolia-erigon3-archive-trace: diff --git a/linea/erigon3/linea-sepolia-erigon3-minimal-trace.yml b/linea/erigon3/linea-sepolia-erigon3-minimal-trace.yml index 56d8e882..fa81a911 100644 --- a/linea/erigon3/linea-sepolia-erigon3-minimal-trace.yml +++ b/linea/erigon3/linea-sepolia-erigon3-minimal-trace.yml @@ -140,7 +140,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-sepolia-erigon3-minimal-trace: diff --git a/linea/erigon3/linea-sepolia-erigon3-pruned-trace.yml b/linea/erigon3/linea-sepolia-erigon3-pruned-trace.yml index 498b7b2d..76d49081 100644 --- a/linea/erigon3/linea-sepolia-erigon3-pruned-trace.yml +++ b/linea/erigon3/linea-sepolia-erigon3-pruned-trace.yml @@ -140,7 +140,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-sepolia-erigon3-pruned-trace: diff --git a/linea/geth/linea-mainnet-geth-archive-leveldb-hash.yml b/linea/geth/linea-mainnet-geth-archive-leveldb-hash.yml index 41b0c956..bc860f5e 100644 --- a/linea/geth/linea-mainnet-geth-archive-leveldb-hash.yml +++ b/linea/geth/linea-mainnet-geth-archive-leveldb-hash.yml @@ -150,7 +150,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-mainnet-geth-archive-leveldb-hash: diff --git a/linea/geth/linea-mainnet-geth-pruned-pebble-path.yml b/linea/geth/linea-mainnet-geth-pruned-pebble-path.yml index 0e814170..047637b9 100644 --- a/linea/geth/linea-mainnet-geth-pruned-pebble-path.yml +++ b/linea/geth/linea-mainnet-geth-pruned-pebble-path.yml @@ -150,7 +150,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-mainnet-geth-pruned-pebble-path: diff --git a/linea/geth/linea-sepolia-geth-archive-leveldb-hash.yml b/linea/geth/linea-sepolia-geth-archive-leveldb-hash.yml index a7fe4ae0..f6fdb84c 100644 --- a/linea/geth/linea-sepolia-geth-archive-leveldb-hash.yml +++ b/linea/geth/linea-sepolia-geth-archive-leveldb-hash.yml @@ -140,7 +140,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-sepolia-geth-archive-leveldb-hash: diff --git a/linea/geth/linea-sepolia-geth-pruned-pebble-path.yml b/linea/geth/linea-sepolia-geth-pruned-pebble-path.yml index 52cab2c7..6df211d0 100644 --- a/linea/geth/linea-sepolia-geth-pruned-pebble-path.yml +++ b/linea/geth/linea-sepolia-geth-pruned-pebble-path.yml @@ -140,7 +140,7 @@ services: labels: - prometheus-scrape.enabled=true - prometheus-scrape.port=9090 - - prometheus-scrape.path=/debug/metrics/prometheus + - prometheus-scrape.path=/metrics volumes: linea-sepolia-geth-pruned-pebble-path: diff --git a/linea/maru.Dockerfile b/linea/maru.Dockerfile index 8db71865..4a63b0fe 100644 --- a/linea/maru.Dockerfile +++ b/linea/maru.Dockerfile @@ -2,4 +2,22 @@ ARG MARU_IMAGE=consensys/maru ARG MARU_VERSION=bcfdb4 FROM ${MARU_IMAGE}:${MARU_VERSION} -RUN apt-get update && apt-get install -y gettext && rm -rf /var/lib/apt/lists/* \ No newline at end of file +# Re-declare so LABEL can see the build-arg (FROM clears prior ARGs). +# Upstream consensys/maru leaves org.label-schema.version/vcs-ref empty; +# without this, locally-built rpc-*-node images only expose Ubuntu's +# org.opencontainers.image.version=24.04 — useless for outdated detection. +ARG MARU_VERSION +ARG MARU_IMAGE +LABEL org.opencontainers.image.title="maru" \ + org.opencontainers.image.description="Consensus Client for Linea" \ + org.opencontainers.image.source="https://github.com/Consensys/maru" \ + org.opencontainers.image.version="${MARU_VERSION}" \ + org.opencontainers.image.revision="${MARU_VERSION}" \ + org.label-schema.name="maru" \ + org.label-schema.version="${MARU_VERSION}" \ + org.label-schema.vcs-ref="${MARU_VERSION}" \ + org.label-schema.vcs-url="https://github.com/ConsenSys/maru" \ + vibe.maru.from_image="${MARU_IMAGE}" \ + vibe.maru.from_tag="${MARU_VERSION}" + +RUN apt-get update && apt-get install -y gettext && rm -rf /var/lib/apt/lists/*