From 74bcfd542e8a809a229db7b292791d3c6476376e 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 28e7d418..7946ed09 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 32771841..42348d79 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 8ba0869b..4e2a0c4b 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 d30d5326..eca708d7 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 03b37ec7..c95a3eee 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 23d56a1f..2c7d29ec 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 ca9126ee..d5f43dc6 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 0d09c202..5b77fc79 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 af949bde..a70161d0 100644 --- a/linea/geth/linea-mainnet-geth-archive-leveldb-hash.yml +++ b/linea/geth/linea-mainnet-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-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 8a720114..10fcd087 100644 --- a/linea/geth/linea-mainnet-geth-pruned-pebble-path.yml +++ b/linea/geth/linea-mainnet-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-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/*