From 1390b47bb8c34847a6c58831dc3363b91ccebc8e Mon Sep 17 00:00:00 2001 From: goldsquid Date: Sat, 6 Jun 2026 09:27:23 +0700 Subject: [PATCH] move the init for geth to a init container --- ...n-testnet-op-geth-archive-leveldb-hash.yml | 22 ++++++++++++++++++- ...ain-testnet-op-geth-pruned-pebble-hash.yml | 22 ++++++++++++++++++- ...ain-testnet-op-geth-pruned-pebble-path.yml | 22 ++++++++++++++++++- 3 files changed, 63 insertions(+), 3 deletions(-) diff --git a/op/geth/hashkeychain-testnet-op-geth-archive-leveldb-hash.yml b/op/geth/hashkeychain-testnet-op-geth-archive-leveldb-hash.yml index c660e519..d22304f9 100644 --- a/op/geth/hashkeychain-testnet-op-geth-archive-leveldb-hash.yml +++ b/op/geth/hashkeychain-testnet-op-geth-archive-leveldb-hash.yml @@ -29,6 +29,23 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: + hashkeychain-testnet-archive-geth-init: + image: ${HASHKEYCHAIN_GETH_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth}:${HASHKEYCHAIN_TESTNET_GETH_VERSION:-v1.101702.2} + user: root + entrypoint: [/bin/sh, -c] + command: + - | + mkdir -p /config + [ -f /config/genesis.json ] || curl -fsSL -o /config/genesis.json "https://hashkeychain.s3.ap-southeast-1.amazonaws.com/testnet/genesis.json" + geth --db.engine= --gcmode=archive --datadir /data init --state.scheme= /config/genesis.json + restart: no + networks: + - chains + volumes: + - ${HASHKEYCHAIN_TESTNET_OP_GETH_ARCHIVE_LEVELDB_HASH_DATA:-hashkeychain-testnet-op-geth-archive-leveldb-hash}:/data + - ./op/hashkeychain/testnet:/config + logging: *logging-defaults + hashkeychain-testnet-archive: image: ${HASHKEYCHAIN_GETH_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth}:${HASHKEYCHAIN_TESTNET_GETH_VERSION:-v1.101702.2} sysctls: @@ -56,7 +73,7 @@ services: - GETH_BOOTNODES=enode://0492e74fb10579a3c53a327ee42dc70db35e7e0aebd73793a806afccb86b30acecb8fe9d024e06bb3fd154c678926d884df3ae696c71adcbf1339a5762e19c4d@testnet-bootnodes.hsk.xyz:30303,enode://dba82c6b384844a00a54ecdfcb34c209ea714072558db80512d4c65e760846d054cf3f58a826cba33b6b410498559b7e41b147dfa487f8cba3d25d2b5bb9e7bc@testnet-bootnodes.hsk.xyz:30304 - GETH_ROLLUP_DISABLETXPOOLGOSSIP=true - GETH_ROLLUP_SEQUENCERHTTP=https://testnet.hsk.xyz - entrypoint: /bin/sh -c 'mkdir -p /config && [ ! -f /config/genesis.json ] && wget -qO /config/genesis.json "https://hashkeychain.s3.ap-southeast-1.amazonaws.com/testnet/genesis.json"; [ -f /config/genesis.json ] && geth --gcmode=archive --db.engine=leveldb --datadir /data init --state.scheme=hash /config/genesis.json; exec geth "$@"' -- + entrypoint: /bin/sh -c 'exec geth "$@"' -- command: - --bootnodes=enode://0492e74fb10579a3c53a327ee42dc70db35e7e0aebd73793a806afccb86b30acecb8fe9d024e06bb3fd154c678926d884df3ae696c71adcbf1339a5762e19c4d@testnet-bootnodes.hsk.xyz:30303,enode://dba82c6b384844a00a54ecdfcb34c209ea714072558db80512d4c65e760846d054cf3f58a826cba33b6b410498559b7e41b147dfa487f8cba3d25d2b5bb9e7bc@testnet-bootnodes.hsk.xyz:30304 - --datadir=/data @@ -88,6 +105,9 @@ services: - --authrpc.vhosts=* restart: unless-stopped stop_grace_period: 5m + depends_on: + hashkeychain-testnet-archive-geth-init: + condition: service_completed_successfully networks: - chains volumes: diff --git a/op/geth/hashkeychain-testnet-op-geth-pruned-pebble-hash.yml b/op/geth/hashkeychain-testnet-op-geth-pruned-pebble-hash.yml index dfe4e67f..1d679dc0 100644 --- a/op/geth/hashkeychain-testnet-op-geth-pruned-pebble-hash.yml +++ b/op/geth/hashkeychain-testnet-op-geth-pruned-pebble-hash.yml @@ -29,6 +29,23 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: + hashkeychain-testnet-geth-init: + image: ${HASHKEYCHAIN_GETH_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth}:${HASHKEYCHAIN_TESTNET_GETH_VERSION:-v1.101702.2} + user: root + entrypoint: [/bin/sh, -c] + command: + - | + mkdir -p /config + [ -f /config/genesis.json ] || curl -fsSL -o /config/genesis.json "https://hashkeychain.s3.ap-southeast-1.amazonaws.com/testnet/genesis.json" + geth --db.engine= --gcmode=full --datadir /data init --state.scheme= /config/genesis.json + restart: no + networks: + - chains + volumes: + - ${HASHKEYCHAIN_TESTNET_OP_GETH_PRUNED_PEBBLE_HASH_DATA:-hashkeychain-testnet-op-geth-pruned-pebble-hash}:/data + - ./op/hashkeychain/testnet:/config + logging: *logging-defaults + hashkeychain-testnet: image: ${HASHKEYCHAIN_GETH_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth}:${HASHKEYCHAIN_TESTNET_GETH_VERSION:-v1.101702.2} sysctls: @@ -56,7 +73,7 @@ services: - GETH_BOOTNODES=enode://0492e74fb10579a3c53a327ee42dc70db35e7e0aebd73793a806afccb86b30acecb8fe9d024e06bb3fd154c678926d884df3ae696c71adcbf1339a5762e19c4d@testnet-bootnodes.hsk.xyz:30303,enode://dba82c6b384844a00a54ecdfcb34c209ea714072558db80512d4c65e760846d054cf3f58a826cba33b6b410498559b7e41b147dfa487f8cba3d25d2b5bb9e7bc@testnet-bootnodes.hsk.xyz:30304 - GETH_ROLLUP_DISABLETXPOOLGOSSIP=true - GETH_ROLLUP_SEQUENCERHTTP=https://testnet.hsk.xyz - entrypoint: /bin/sh -c 'mkdir -p /config && [ ! -f /config/genesis.json ] && wget -qO /config/genesis.json "https://hashkeychain.s3.ap-southeast-1.amazonaws.com/testnet/genesis.json"; [ -f /config/genesis.json ] && geth --gcmode=full --db.engine=pebble --datadir /data init --state.scheme=hash /config/genesis.json; exec geth "$@"' -- + entrypoint: /bin/sh -c 'exec geth "$@"' -- command: - --bootnodes=enode://0492e74fb10579a3c53a327ee42dc70db35e7e0aebd73793a806afccb86b30acecb8fe9d024e06bb3fd154c678926d884df3ae696c71adcbf1339a5762e19c4d@testnet-bootnodes.hsk.xyz:30303,enode://dba82c6b384844a00a54ecdfcb34c209ea714072558db80512d4c65e760846d054cf3f58a826cba33b6b410498559b7e41b147dfa487f8cba3d25d2b5bb9e7bc@testnet-bootnodes.hsk.xyz:30304 - --datadir=/data @@ -88,6 +105,9 @@ services: - --authrpc.vhosts=* restart: unless-stopped stop_grace_period: 5m + depends_on: + hashkeychain-testnet-geth-init: + condition: service_completed_successfully networks: - chains volumes: diff --git a/op/geth/hashkeychain-testnet-op-geth-pruned-pebble-path.yml b/op/geth/hashkeychain-testnet-op-geth-pruned-pebble-path.yml index dd125a36..715e4cb6 100644 --- a/op/geth/hashkeychain-testnet-op-geth-pruned-pebble-path.yml +++ b/op/geth/hashkeychain-testnet-op-geth-pruned-pebble-path.yml @@ -29,6 +29,23 @@ x-logging-defaults: &logging-defaults # --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' services: + hashkeychain-testnet-geth-init: + image: ${HASHKEYCHAIN_GETH_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth}:${HASHKEYCHAIN_TESTNET_GETH_VERSION:-v1.101702.2} + user: root + entrypoint: [/bin/sh, -c] + command: + - | + mkdir -p /config + [ -f /config/genesis.json ] || curl -fsSL -o /config/genesis.json "https://hashkeychain.s3.ap-southeast-1.amazonaws.com/testnet/genesis.json" + geth --db.engine= --gcmode=full --datadir /data init --state.scheme= /config/genesis.json + restart: no + networks: + - chains + volumes: + - ${HASHKEYCHAIN_TESTNET_OP_GETH_PRUNED_PEBBLE_PATH_DATA:-hashkeychain-testnet-op-geth-pruned-pebble-path}:/data + - ./op/hashkeychain/testnet:/config + logging: *logging-defaults + hashkeychain-testnet: image: ${HASHKEYCHAIN_GETH_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth}:${HASHKEYCHAIN_TESTNET_GETH_VERSION:-v1.101702.2} sysctls: @@ -56,7 +73,7 @@ services: - GETH_BOOTNODES=enode://0492e74fb10579a3c53a327ee42dc70db35e7e0aebd73793a806afccb86b30acecb8fe9d024e06bb3fd154c678926d884df3ae696c71adcbf1339a5762e19c4d@testnet-bootnodes.hsk.xyz:30303,enode://dba82c6b384844a00a54ecdfcb34c209ea714072558db80512d4c65e760846d054cf3f58a826cba33b6b410498559b7e41b147dfa487f8cba3d25d2b5bb9e7bc@testnet-bootnodes.hsk.xyz:30304 - GETH_ROLLUP_DISABLETXPOOLGOSSIP=true - GETH_ROLLUP_SEQUENCERHTTP=https://testnet.hsk.xyz - entrypoint: /bin/sh -c 'mkdir -p /config && [ ! -f /config/genesis.json ] && wget -qO /config/genesis.json "https://hashkeychain.s3.ap-southeast-1.amazonaws.com/testnet/genesis.json"; [ -f /config/genesis.json ] && geth --gcmode=full --db.engine=pebble --datadir /data init --state.scheme=path /config/genesis.json; exec geth "$@"' -- + entrypoint: /bin/sh -c 'exec geth "$@"' -- command: - --bootnodes=enode://0492e74fb10579a3c53a327ee42dc70db35e7e0aebd73793a806afccb86b30acecb8fe9d024e06bb3fd154c678926d884df3ae696c71adcbf1339a5762e19c4d@testnet-bootnodes.hsk.xyz:30303,enode://dba82c6b384844a00a54ecdfcb34c209ea714072558db80512d4c65e760846d054cf3f58a826cba33b6b410498559b7e41b147dfa487f8cba3d25d2b5bb9e7bc@testnet-bootnodes.hsk.xyz:30304 - --datadir=/data @@ -88,6 +105,9 @@ services: - --authrpc.vhosts=* restart: unless-stopped stop_grace_period: 5m + depends_on: + hashkeychain-testnet-geth-init: + condition: service_completed_successfully networks: - chains volumes: