diff --git a/.github/workflows/test-ethd.yml b/.github/workflows/test-ethd.yml index 7a2243c54..ce6daf6f2 100644 --- a/.github/workflows/test-ethd.yml +++ b/.github/workflows/test-ethd.yml @@ -38,7 +38,9 @@ jobs: uses: douglascamata/setup-docker-macos-action@d5ccc6aae0ce23e7700154f5e63cc53e6433ac48 - name: Prerequisites on Ubuntu if: ${{ startsWith(matrix.os, 'ubuntu-') }} - run: sudo apt-get install -y expect whiptail + run: | + sudo apt-get install -y expect whiptail + sudo apt-get remove -y podman - name: Prerequisites on macOS if: ${{ startsWith(matrix.os, 'macos-') }} run: brew install bash newt coreutils expect gawk diff --git a/anchor.yml b/anchor.yml index 8cc72276e..4f631d1a8 100644 --- a/anchor.yml +++ b/anchor.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: anchor: diff --git a/besu.yml b/besu.yml index 8bb1ae284..90765132d 100644 --- a/besu.yml +++ b/besu.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: execution: diff --git a/central-metrics.yml b/central-metrics.yml index c137bcfef..ddd48301c 100644 --- a/central-metrics.yml +++ b/central-metrics.yml @@ -1,11 +1,10 @@ # For scraping with central-proxy-docker, when all you want is the metrics exporter x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: ethereum-metrics-exporter: diff --git a/commit-boost-pbs.yml b/commit-boost-pbs.yml index 2d15dd049..c21b90f0b 100644 --- a/commit-boost-pbs.yml +++ b/commit-boost-pbs.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: cb-pbs: diff --git a/contributoor.yml b/contributoor.yml index 7ffbd7a6d..d4b152f1b 100644 --- a/contributoor.yml +++ b/contributoor.yml @@ -2,11 +2,10 @@ ## Read more: https://github.com/ethpandaops/contributoor x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: contributoor: diff --git a/erigon.yml b/erigon.yml index 4120f02ab..10ecb1e8b 100644 --- a/erigon.yml +++ b/erigon.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: execution: diff --git a/ethd b/ethd index 356647c7e..f6492df22 100755 --- a/ethd +++ b/ethd @@ -140,26 +140,86 @@ __handle_docker() { local exitstatus local var local regex + local message + local use_podman=0 + local use_docker=0 set +e if [[ "${__distro}" =~ (debian|ubuntu) ]]; then - systemctl status docker >/dev/null - exitstatus=$? - if [[ ! "${exitstatus}" -eq 0 ]] && ! docker system info --format '{{json .SecurityOptions}}' | grep -qi rootless; then - echo "The Docker daemon is not running. Please check Docker installation." - echo "\"sudo systemctl status docker\" and \"sudo journalctl -fu docker\" will be helpful." + if dpkg-query -W -f='${Status}' docker-ce 2>/dev/null | grep -q "ok installed" \ + || dpkg-query -W -f='${Status}' docker.io 2>/dev/null | grep -q "ok installed"; then + use_docker=1 + fi + if dpkg-query -W -f='${Status}' podman 2>/dev/null | grep -q "ok installed"; then + use_podman=1 + fi + + # If both are installed: + # If DOCKER_SOCK is set to podman.sock, assume the user prefers podman + # If service podman.socket is running, assume the user prefers podman + # Otherwise, default to Docker + if [[ "${use_docker}" -eq 1 && "${use_podman}" -eq 1 ]]; then + echo "Both Docker and Podman are installed" + echo "Guessing at user preference by \"DOCKER_SOCK\" in \".env\" and status of service podman.socket" + var=DOCKER_SOCK + __get_value_from_env "${var}" "${__env_file}" "__value" + if [[ "${__value}" =~ podman.sock ]] || systemctl --user status podman.socket >/dev/null 2>&1 || systemctl status podman.socket >/dev/null 2>&1; then + echo "Preferring Podman" + echo + use_docker=0 + else + echo "Preferring Docker" + echo + use_podman=0 + fi + fi + + if [[ "${use_docker}" -eq 1 ]]; then + if ${__docker_exe} system info --format '{{json .SecurityOptions}}' | grep -qi rootless; then + systemctl --user status docker >/dev/null 2>&1 + exitstatus=$? + message="\"systemctl --user status docker\" and \"journalctl --user -fu docker\" will be helpful." + else + systemctl status docker >/dev/null 2>&1 + exitstatus=$? + message="\"systemctl status docker\" and \"sudo journalctl -fu docker\" will be helpful." + fi + if [[ ! "${exitstatus}" -eq 0 ]]; then + echo "The Docker daemon is not running. Please check Docker installation." + echo "${message}" + echo "Aborting." + exit 1 + fi + elif [[ "${use_podman}" -eq 1 ]]; then + __docker_exe=podman + __compose_exe="podman compose" + if systemctl status podman.socket >/dev/null 2>&1; then # User has enabled system socket, run podman with sudo. + __docker_sudo="sudo" + else + systemctl --user status podman.socket >/dev/null 2>&1 + exitstatus=$? + if [[ ! "${exitstatus}" -eq 0 ]]; then + echo "The Podman socket service is not running. Please check Podman installation." + echo "\"systemctl --user status podman.socket\" and \"journalctl --user -fu podman.socket\" will be helpful." + echo "Aborting." + exit 1 + fi + fi + else + echo "Neither docker-ce, docker.io nor podman appear to be installed." + echo "One of those is required to run ${__project_name}." echo "Aborting." exit 1 fi fi set -e - __docker_version=$(docker --version | awk '{ gsub(/,/, "", $3); print $3 }') + __docker_version=$(${__docker_exe} --version | awk '{ gsub(/,/, "", $3); print $3 }') __docker_major_version=$(echo "${__docker_version}" | awk '{ split($1, version, "."); print version[1]; }') __docker_minor_version=$(echo "${__docker_version}" | awk '{ split($1, version, "."); print version[2]; }') __docker_patch_version=$(echo "${__docker_version}" | awk '{ split($1, version, "."); print version[3]; }') - if [[ "${__docker_major_version}" -lt 23 ]]; then + if [[ "${use_docker}" -eq 1 && "${__docker_major_version}" -lt 23 ]]; then # Debian 11 and Debian 12 have docker.io 20.10. From Debian 13, it's >= 26 # Ubuntu has docker.io>= 27 from 22.04 # The code to detect old docker.io can be removed when Debian 12 goes EOL in 2028 @@ -174,7 +234,7 @@ __handle_docker() { __oldish_docker=1 fi - if ! docker images >/dev/null 2>&1; then + if ! ${__docker_exe} images >/dev/null 2>&1; then if [[ "${__cannot_sudo}" -eq 1 ]]; then echo "Cannot call Docker and cannot use sudo. Please make your user part of the docker group" exit 1 @@ -182,8 +242,13 @@ __handle_docker() { echo "Will use sudo to access Docker" __docker_sudo="sudo" fi + if [[ -f "${__env_file}" && "${__distro}" =~ (debian|ubuntu) ]]; then - DOCKER_ROOT=$(__dodocker system info --format '{{.DockerRootDir}}') + if [[ "${__docker_exe}" = "podman" ]]; then + DOCKER_ROOT=$(__dodocker system info --format '{{.Store.GraphRoot}}') + else + DOCKER_ROOT=$(__dodocker system info --format '{{.DockerRootDir}}') + fi var=DOCKER_ROOT __get_value_from_env "${var}" "${__env_file}" "__value" if [[ "${DOCKER_ROOT}" != "${__value}" ]]; then @@ -191,10 +256,18 @@ __handle_docker() { fi # on macOS, user would set this manually to Colima or Docker Desktop value - if __dodocker system info --format '{{json .SecurityOptions}}' | grep -qi rootless; then - DOCKER_SOCK=/run/user/$(id -u)/docker.sock + if [[ "${__docker_exe}" = "podman" ]]; then + if [[ "$(__dodocker system info --format '{{.Host.Security.Rootless}}')" = "true" ]]; then + DOCKER_SOCK=/run/user/$(id -u)/podman/podman.sock + else + DOCKER_SOCK=/run/podman/podman.sock + fi else - DOCKER_SOCK=/var/run/docker.sock + if __dodocker system info --format '{{.SecurityOptions}}' | grep -qi rootless; then + DOCKER_SOCK=/run/user/$(id -u)/docker.sock + else + DOCKER_SOCK=/var/run/docker.sock + fi fi var=DOCKER_SOCK __get_value_from_env "${var}" "${__env_file}" "__value" @@ -538,8 +611,8 @@ __check_compose_version() { # Compose V1 is in Ubuntu 22.04 and 24.04. The Compose version check can be removed when Ubuntu 24.04 goes EOL in 2029. # Check for Compose V2+ (docker compose) vs Compose V1 (docker-compose) - if docker compose version >/dev/null 2>&1; then - __compose_version=$(${__docker_sudo} docker compose version | sed -n -E -e "s/.*version [v]?([0-9.-]*).*/\1/ip") + if ${__docker_sudo} ${__docker_exe} compose version >/dev/null 2>&1; then + __compose_version=$(${__docker_sudo} ${__docker_exe} compose version | sed -n -E -e "s/.*version [v]?([0-9.-]*).*/\1/ip") __compose_major=${__compose_version%%.*} __compose_minor=${__compose_version#*.} __compose_minor=${__compose_minor%%.*} @@ -548,12 +621,16 @@ __check_compose_version() { elif [[ "${__compose_major}" -eq 2 && "${__compose_minor}" -lt 18 ]]; then __old_compose=1 fi - else + elif ${__docker_sudo} docker-compose --version >/dev/null 2>&1; then __old_compose=1 __compose_version=$(${__docker_sudo} docker-compose --version | sed -n -E -e "s/.*version [v]?([0-9.-]*).*/\1/ip") __compose_major=${__compose_version%%.*} __compose_minor=${__compose_version#*.} __compose_minor=${__compose_minor%%.*} + else + echo "Unable to find ${__docker_exe} compose. Please be sure it's installed" + echo "Aborting" + exit 1 fi if [[ "${__compose_major}" -gt 1 ]]; then return @@ -826,7 +903,11 @@ __optimize_host() { local memtotal echo - docker_root=$(__dodocker system info --format '{{.DockerRootDir}}') + if dpkg-query -W -f='${Status}' podman 2>/dev/null | grep -q "ok installed"; then + docker_root=$(__dodocker system info --format '{{.Store.GraphRoot}}') + else + docker_root=$(__dodocker system info --format '{{.DockerRootDir}}') + fi if command -v findmnt >/dev/null; then docker_mount=$(findmnt -T "${docker_root}" -o TARGET -n) docker_mount_opts=$(findmnt -T "${docker_root}" -o OPTIONS -n 2>/dev/null) @@ -917,6 +998,11 @@ __install_docker() { exit 70 fi + if dpkg-query -W -f='${Status}' podman 2>/dev/null | grep -q "ok installed"; then + echo "Found podman. Will not install Docker, as it would conflict." + return + fi + if [[ -z "$(command -v docker)" ]]; then ${__auto_sudo} install -m 0755 -d /etc/apt/keyrings ${__auto_sudo} curl -fsSL https://download.docker.com/linux/${repo}/gpg -o /etc/apt/keyrings/docker.asc @@ -1032,8 +1118,12 @@ __get_docker_free_space() { if [[ "$OSTYPE" = "darwin"* ]]; then # macOS doesn't expose docker root dir to the OS __free_space=$(__dodocker run --rm -v macos-space-check:/dummy busybox df -P /dummy | awk '/[0-9]%/{print $(NF-2)}') else - __docker_dir=$(__dodocker system info --format '{{.DockerRootDir}}') - __free_space=$(df -P "${__docker_dir}" | awk '/[0-9]%/{print $(NF-2)}') + if [[ "${__docker_exe}" = "podman" ]]; then + __docker_dir=$(__dodocker system info --format '{{.Store.GraphRoot}}') + else + __docker_dir=$(__dodocker system info --format '{{.DockerRootDir}}') + fi + __free_space=$(${__docker_sudo} df -P "${__docker_dir}" | awk '/[0-9]%/{print $(NF-2)}') # Allow for rootful podman fi regex='^[0-9]+$' @@ -1042,7 +1132,7 @@ __get_docker_free_space() { if [[ "$OSTYPE" = "darwin"* ]]; then echo "df reports $(__dodocker run --rm -v macos-space-check:/dummy busybox df -P /dummy) and __free_space is ${__free_space}" else - echo "df reports $(df -P "${__docker_dir}") and __free_space is ${__free_space}" + echo "df reports $(${__docker_sudo} df -P "${__docker_dir}") and __free_space is ${__free_space}" # Allow for rootful podman fi exit 70 fi @@ -1055,7 +1145,7 @@ __display_docker_dir() { __dodocker run --rm -v macos-space-check:/dummy busybox df -h /dummy else echo "Here's total and used space on ${__docker_dir}" - df -h "${__docker_dir}" + ${__docker_sudo} df -h "${__docker_dir}" # Allow for rootful podman fi } @@ -4810,8 +4900,8 @@ __query_web3signer() { __query_grafana() { if whiptail --title "Grafana" --yesno "Do you want to use Grafana dashboards?" 10 65; then - if [[ "$OSTYPE" = "darwin"* ]] || __dodocker system info --format '{{json .SecurityOptions}}' | grep -qi rootless; then - # macOS doesn't do well with / bind mount - leave node-exporter and cadvisor off by default + if [[ "$OSTYPE" = "darwin"* ]] || { [[ "${__docker_exe}" = "podman" ]] && ! systemctl status podman.socket >/dev/null 2>&1 ;} || __dodocker system info --format '{{json .SecurityOptions}}' 2>/dev/null | grep -qi rootless; then + # macOS doesn't do well with / bind mount - leave node-exporter and cadvisor off by default. Also detect rootless Docker/Podman CORE_FILES+=":grafana-rootless.yml:grafana-shared.yml" else CORE_FILES+=":grafana.yml:grafana-shared.yml" @@ -6254,7 +6344,7 @@ __update_help() { echo "Updates ${__project_name} itself, as required the contents of \".env\", and the clients." echo echo "A combination of \"git pull\" for ${__project_name}, some bash scripting to bring new variables from \"default.env\"," - echo "and \"docker compose pull\" as well as \"docker compose build\" for the clients." + echo "and \"${__compose_exe} pull\" as well as \"${__compose_exe} build\" for the clients." echo echo "If warranted, will also offer resync when clients require it, or upgrade of PostgreSQL version." echo diff --git a/ethrex.yml b/ethrex.yml index 9eb157c56..01f6cd005 100644 --- a/ethrex.yml +++ b/ethrex.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: execution: diff --git a/geth.yml b/geth.yml index 601d4b0af..2130ec0ab 100644 --- a/geth.yml +++ b/geth.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: execution: diff --git a/grafana-cloud.yml b/grafana-cloud.yml index 71f0f6804..02653e569 100644 --- a/grafana-cloud.yml +++ b/grafana-cloud.yml @@ -8,11 +8,10 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: ethereum-metrics-exporter: diff --git a/grafana-rootless.yml b/grafana-rootless.yml index 355fde0e0..43fad2ff7 100644 --- a/grafana-rootless.yml +++ b/grafana-rootless.yml @@ -3,11 +3,10 @@ # them with custom config in ./alloy/ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: prometheus: diff --git a/grafana.yml b/grafana.yml index c786293ef..256a4acb6 100644 --- a/grafana.yml +++ b/grafana.yml @@ -4,11 +4,10 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: # Adjust permissions. Can be removed after Glamsterdam diff --git a/grafana/provision.sh b/grafana/provision.sh index e527265c4..a88565b7e 100755 --- a/grafana/provision.sh +++ b/grafana/provision.sh @@ -395,21 +395,22 @@ case "${CLIENT}" in | jq 'walk(if . == "${DS_PROMETHEUS}" then "Prometheus" else . end)' >"${tmp}" || status=1 fi handle_replacement "${status}" "${tmp}" "${file}" - # Log file dashboard (via loki) - id=20223 - status=0 - revision=$(wget -t 3 -T 10 -qO - https://grafana.com/api/dashboards/${id} | jq -r .revision) || status=1 - url="https://grafana.com/api/dashboards/${id}/revisions/${revision}/download" - file='/etc/grafana/provisioning/dashboards/eth-docker-logs.json' - if [[ "${status}" -eq 0 ]]; then - tmp=$(mktemp) - wget -t 3 -T 10 -qcO - "${url}" | jq 'walk(if . == "${DS_LOKI}" then "Loki" else . end)' >"${tmp}" || status=1 - fi - handle_replacement "${status}" "${tmp}" "${file}" ;; esac # Always provision a few basics +# Log file dashboard (via loki) +id=20223 +status=0 +revision=$(wget -t 3 -T 10 -qO - https://grafana.com/api/dashboards/${id} | jq -r .revision) || status=1 +url="https://grafana.com/api/dashboards/${id}/revisions/${revision}/download" +file='/etc/grafana/provisioning/dashboards/eth-docker-logs.json' +if [[ "${status}" -eq 0 ]]; then + tmp=$(mktemp) + wget -t 3 -T 10 -qcO - "${url}" | jq 'walk(if . == "${DS_LOKI}" then "Loki" else . end)' >"${tmp}" || status=1 +fi +handle_replacement "${status}" "${tmp}" "${file}" + # Home staking dashboard id=17846 status=0 @@ -421,6 +422,7 @@ if [[ "${status}" -eq 0 ]]; then wget -t 3 -T 10 -qcO - "${url}" | jq 'walk(if . == "${DS_PROMETHEUS}" then "Prometheus" else . end)' >"${tmp}" || status=1 fi handle_replacement "${status}" "${tmp}" "${file}" + # Ethereum Metrics Exporter Dashboard id=16277 status=0 diff --git a/grandine-allin1.yml b/grandine-allin1.yml index ea53e3112..be2e11ad7 100644 --- a/grandine-allin1.yml +++ b/grandine-allin1.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &gr-build diff --git a/grandine-cl-only.yml b/grandine-cl-only.yml index e867c9e5d..ea14e5595 100644 --- a/grandine-cl-only.yml +++ b/grandine-cl-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &gr-build diff --git a/lido-obol.yml b/lido-obol.yml index bc8f1fb98..d85e85bfd 100644 --- a/lido-obol.yml +++ b/lido-obol.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: charon: diff --git a/lighthouse-cl-only.yml b/lighthouse-cl-only.yml index aa828f2eb..aaca09a4e 100644 --- a/lighthouse-cl-only.yml +++ b/lighthouse-cl-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &lh-build context: ./lighthouse diff --git a/lighthouse-vc-only.yml b/lighthouse-vc-only.yml index 8b51ff73c..21f4c6eea 100644 --- a/lighthouse-vc-only.yml +++ b/lighthouse-vc-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &lh-build context: ./lighthouse diff --git a/lighthouse.yml b/lighthouse.yml index 66f9e3ae7..0c8fe31d9 100644 --- a/lighthouse.yml +++ b/lighthouse.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &lh-build diff --git a/lodestar-cl-only.yml b/lodestar-cl-only.yml index 0f1dbdfcb..a20ed5cf7 100644 --- a/lodestar-cl-only.yml +++ b/lodestar-cl-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &ls-build context: ./lodestar diff --git a/lodestar-vc-only.yml b/lodestar-vc-only.yml index 8304b9ed8..d82f617af 100644 --- a/lodestar-vc-only.yml +++ b/lodestar-vc-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &ls-build context: ./lodestar diff --git a/lodestar.yml b/lodestar.yml index ed7c1f72c..fafd93298 100644 --- a/lodestar.yml +++ b/lodestar.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &ls-build context: ./lodestar diff --git a/mev-boost.yml b/mev-boost.yml index ee8f04548..98dbcbc76 100644 --- a/mev-boost.yml +++ b/mev-boost.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: "{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}" + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: mev-boost: diff --git a/nethermind.yml b/nethermind.yml index 3eeb41359..6760ebe5e 100644 --- a/nethermind.yml +++ b/nethermind.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: execution: diff --git a/nimbus-allin1.yml b/nimbus-allin1.yml index 8847e29b4..2ab4955fe 100644 --- a/nimbus-allin1.yml +++ b/nimbus-allin1.yml @@ -1,11 +1,10 @@ # Nimbus consensus also handles validator keys: All In One x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &nimbus-build context: ./nimbus diff --git a/nimbus-cl-only.yml b/nimbus-cl-only.yml index 59fee0029..730e48d28 100644 --- a/nimbus-cl-only.yml +++ b/nimbus-cl-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &nimbus-build context: ./nimbus diff --git a/nimbus-el.yml b/nimbus-el.yml index 0bf622a08..1e642e988 100644 --- a/nimbus-el.yml +++ b/nimbus-el.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: execution: diff --git a/nimbus-vc-only.yml b/nimbus-vc-only.yml index 30ff0d0e9..3596d85f1 100644 --- a/nimbus-vc-only.yml +++ b/nimbus-vc-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &nimbus-build context: ./nimbus diff --git a/nimbus-vp.yml b/nimbus-vp.yml index c24a239ca..1fdfb3ffe 100644 --- a/nimbus-vp.yml +++ b/nimbus-vp.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: rpc-proxy: diff --git a/nimbus.yml b/nimbus.yml index f2dcdb994..942f0b6bd 100644 --- a/nimbus.yml +++ b/nimbus.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &nimbus-build context: ./nimbus diff --git a/prysm-cl-only.yml b/prysm-cl-only.yml index 42dc6e0e0..ec14a500a 100644 --- a/prysm-cl-only.yml +++ b/prysm-cl-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &prysm-build context: ./prysm diff --git a/prysm-vc-only.yml b/prysm-vc-only.yml index f3c8335fd..34fcb2a1c 100644 --- a/prysm-vc-only.yml +++ b/prysm-vc-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &prysm-build context: ./prysm diff --git a/prysm.yml b/prysm.yml index 521882695..8cd83a928 100644 --- a/prysm.yml +++ b/prysm.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &prysm-build context: ./prysm diff --git a/reth.yml b/reth.yml index a3a4b8002..bb7323fa6 100644 --- a/reth.yml +++ b/reth.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: execution: diff --git a/siren.yml b/siren.yml index 313aad1c9..ab821c46f 100644 --- a/siren.yml +++ b/siren.yml @@ -1,11 +1,10 @@ # Sigma Prime Siren, for use with Lighthouse x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: siren: diff --git a/ssv-dkg.yml b/ssv-dkg.yml index ef06fa19c..c226527f7 100644 --- a/ssv-dkg.yml +++ b/ssv-dkg.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: curl-jq: diff --git a/ssv-pulse.yml b/ssv-pulse.yml index f8706e41f..5426af19d 100644 --- a/ssv-pulse.yml +++ b/ssv-pulse.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: ssv-pulse: diff --git a/ssv.yml b/ssv.yml index 2b75a4587..c83114825 100644 --- a/ssv.yml +++ b/ssv.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: ssv-node: diff --git a/teku-allin1.yml b/teku-allin1.yml index fe72900a4..005509655 100644 --- a/teku-allin1.yml +++ b/teku-allin1.yml @@ -1,11 +1,10 @@ # Teku consensus also handles validator keys: All In One x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &teku-build context: ./teku diff --git a/teku-cl-only.yml b/teku-cl-only.yml index cfb6f6698..427b5913f 100644 --- a/teku-cl-only.yml +++ b/teku-cl-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &teku-build context: ./teku diff --git a/teku-vc-only.yml b/teku-vc-only.yml index 029e0041f..09218b291 100644 --- a/teku-vc-only.yml +++ b/teku-vc-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &teku-build context: ./teku diff --git a/teku.yml b/teku.yml index 0d1c90c96..2657a7102 100644 --- a/teku.yml +++ b/teku.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &teku-build context: ./teku diff --git a/traefik-aws.yml b/traefik-aws.yml index a4eefbc52..d5d34b1cb 100644 --- a/traefik-aws.yml +++ b/traefik-aws.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: traefik: diff --git a/traefik-cf.yml b/traefik-cf.yml index b346d07d2..e0fc923e8 100644 --- a/traefik-cf.yml +++ b/traefik-cf.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: traefik: diff --git a/vero-vc-only.yml b/vero-vc-only.yml index 2f773c665..b241a1ef5 100644 --- a/vero-vc-only.yml +++ b/vero-vc-only.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' x-build: &vero-build context: ./vero diff --git a/web3signer.yml b/web3signer.yml index 35f7b8f9d..30dba165e 100644 --- a/web3signer.yml +++ b/web3signer.yml @@ -1,10 +1,9 @@ x-logging: &logging logging: - driver: json-file options: max-size: 100m max-file: "3" - tag: '{{.ImageName}}|{{.Name}}|{{.ImageFullID}}|{{.FullID}}' + tag: '{{.ImageName}}|{{.Name}}|{{.ID}}' services: w3s-init: