Skip to content

Feature/pre update 20250326 #127

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 62 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
f0549a3
add exitmessages~O
mageyuki Dec 7, 2024
b452674
fix path
mageyuki Dec 7, 2024
58698b0
Add New Relic Infrastructure Agent to docker-compose
mageyuki Dec 7, 2024
f113abb
Add Makefile with docker-compose commands for managing services
mageyuki Dec 7, 2024
8c8e3d8
fix makefile
mageyuki Dec 7, 2024
ab90300
Update sample environment files with Lido operator ID and fix comments
mageyuki Dec 7, 2024
ec871de
Add newrelic-infra.yml to .gitignore for New Relic Infra agent licens…
mageyuki Dec 7, 2024
9f7ac9e
Update New Relic Infrastructure agent configuration to build from cus…
mageyuki Dec 7, 2024
dbbc870
Add target to generate New Relic license key file in Makefile
mageyuki Dec 7, 2024
7ecd390
Add Dockerfile for New Relic Infrastructure agent
mageyuki Dec 7, 2024
47c8a0b
Remove NRIA_LICENSE_KEY environment variable from docker-compose.yml
mageyuki Dec 7, 2024
1fef202
Add profiles to services in docker-compose.yml for extra configuration
mageyuki Dec 7, 2024
a384908
Add EFS mount and directory creation targets to Makefile
mageyuki Dec 7, 2024
78f4558
Set Git user email and name in Makefile
mageyuki Dec 7, 2024
9b63f39
EFSマウントターゲットをMakefileに追加し、環境に応じたファイルシステムIDを動的に取得するように変更
mageyuki Dec 7, 2024
2f9aa1c
MakefileのEFSディレクトリ作成コマンドのインデントを修正
mageyuki Dec 7, 2024
b4cc079
fix syntax indent
mageyuki Dec 7, 2024
64e50ef
Remove unused profiles from Docker Compose services
mageyuki Dec 9, 2024
8d9d077
Update VE_OPERATOR_ID in .env.sample.mainnet to reflect the correct L…
mageyuki Dec 12, 2024
b7fff30
Merge branch 'ObolNetwork:main' into main
mageyuki Dec 13, 2024
72b6bf2
feat: update .gitignore to include Prometheus config and fix comment …
mageyuki Dec 17, 2024
948bb93
add credential^o
mageyuki Dec 17, 2024
d89b0c1
update blockrelay for Lido x Obol: Clever Chameleon
mageyuki Dec 17, 2024
807382a
Merge branch 'ObolNetwork:main' into main
mageyuki Dec 18, 2024
ef061bc
feat: set global git editor to vim in Makefile
mageyuki Dec 18, 2024
4fb74be
feat: add docker-compose log commands for additional services
mageyuki Dec 18, 2024
65298fb
feat: update docker-compose log command for lighthouse service
mageyuki Dec 19, 2024
e2a1ec0
fix: update credentials formatting in prometheus configuration
mageyuki Jan 7, 2025
2c1af25
fix: update charon image version to v1.1.2 in docker-compose.yml
mageyuki Jan 9, 2025
e5cbf4e
feat: add profiles to services in docker-compose.yml for extra config…
mageyuki Jan 9, 2025
e7df0b0
fix: update prometheus targets to use internal node URLs
mageyuki Jan 9, 2025
9605bda
feat: update .env.sample.mainnet with internal node URLs for beacon a…
mageyuki Jan 9, 2025
66348ca
fix: correct formatting of internal node URLs in prometheus configura…
mageyuki Jan 9, 2025
8695aec
feat: add log commands for grafana and prometheus in Makefile
mageyuki Jan 9, 2025
e2a4eda
fix: correct log command target for prometheus in Makefile
mageyuki Jan 9, 2025
04beb2c
fix: remove unnecessary HTTP prefix from internal node URLs in promet…
mageyuki Jan 9, 2025
1c9708a
feat: add monitoring and metrics ports to docker-compose.yml
mageyuki Jan 22, 2025
ff0126d
fix: remove New Relic Infrastructure Agent configuration from docker-…
mageyuki Jan 22, 2025
27900c5
feat: add dvnode network configuration to docker-compose.yml
mageyuki Jan 22, 2025
a47b209
Merge branch 'ObolNetwork:main' into main
mageyuki Jan 23, 2025
277886e
feat: add validator ejector overview dashboard for Grafana Cloud
mageyuki Jan 22, 2025
7e9d9ba
refactor: remove New Relic license key generation and update docker-c…
mageyuki Jan 23, 2025
82c8798
feat: add Grafana Cloud logs endpoint to Promtail configuration
mageyuki Jan 23, 2025
5caf27c
feat: add Grafana logs credentials to docker-compose up command
mageyuki Jan 23, 2025
a1b082d
refactor: comment out Charon Loki addresses in Promtail configuration
mageyuki Jan 23, 2025
06f1ec4
feat: add profiles for extra services in docker-compose.yml
mageyuki Jan 23, 2025
da43fb4
fix: update username syntax in Promtail configuration
mageyuki Jan 23, 2025
fc561a7
fix: update username syntax to use single quotes in Promtail configur…
mageyuki Jan 23, 2025
5bc8525
feat: add Grafana logs credentials to Promtail configuration
mageyuki Jan 23, 2025
243bd0c
fix: correct URL format in Promtail configuration
mageyuki Jan 23, 2025
0789d8c
fix: update username and password syntax in Promtail configuration te…
mageyuki Jan 23, 2025
c4fdde8
feat: add Grafana logs credentials setup in Makefile for Promtail con…
mageyuki Jan 23, 2025
f980394
fix: correct output path for Promtail configuration in Makefile
mageyuki Jan 23, 2025
d34fbdd
fix: remove Grafana logs credentials from Promtail service configurat…
mageyuki Jan 23, 2025
efcb674
fix: update datasource URLs in Charon overview dashboard for Grafana …
mageyuki Jan 25, 2025
039d813
fix: update Charon's beacon node endpoint in .env.sample.mainnet
mageyuki Feb 22, 2025
43ca8a5
Merge pull request #1 from tanelabs/fix/charon_beaconnode_endpoint_url
mageyuki Feb 22, 2025
4c317a5
fix: update beacon and execution node URLs in .env.sample.mainnet
mageyuki Feb 22, 2025
1d93a2f
fix: correct beacon and execution node URLs in .env.sample.mainnet
mageyuki Feb 22, 2025
21a1ea0
fix: correct Charon beacon node endpoint in .env.sample.mainnet
mageyuki Feb 22, 2025
95ee7d5
fix: remove credential setup for Grafana logs from Makefile
mageyuki Mar 21, 2025
93a1443
fix: replace promtail config template with actual configuration
mageyuki Mar 21, 2025
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
4 changes: 2 additions & 2 deletions .env.sample.holesky
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ NETWORK=holesky
# Checkpoint sync url used by lighthouse to fast sync.
LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://checkpoint-sync.holesky.ethpandaops.io/

# In certain cases, beacon nodes produce blocks with unexpected fee recipients. Setting the Lido execution
# In certain cases, beacon nodes produce blocks with unexpected fee recipients. Setting the Lido execution
# layer rewards vault as the suggested fee recipient reduces this risk
LIDO_EXECUTION_LAYER_REWARDS_ADDRESS=0xE73a3602b99f1f913e72F8bdcBC235e206794Ac8

Expand Down Expand Up @@ -118,7 +118,7 @@ VE_ORACLE_ADDRESSES_ALLOWLIST=["0x12A1D74F8697b9f4F1eEBb0a9d0FB6a751366399","0xD
#VE_STAKING_MODULE_ID=

# Lido operator ID
#VE_OPERATOR_ID=
VE_OPERATOR_ID=29

# Beacon node URL
#VE_BEACON_NODE_URL=
Expand Down
16 changes: 12 additions & 4 deletions .env.sample.mainnet
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ NETWORK=mainnet
# If the given url errors, try replacing it with an alternative url like https://sync-mainnet.beaconcha.in/.
LIGHTHOUSE_CHECKPOINT_SYNC_URL=https://mainnet.checkpoint.sigp.io/

# In certain cases, beacon nodes produce blocks with unexpected fee recipients. Setting the Lido execution
# In certain cases, beacon nodes produce blocks with unexpected fee recipients. Setting the Lido execution
# layer rewards vault as the suggested fee recipient reduces this risk
LIDO_EXECUTION_LAYER_REWARDS_ADDRESS=0x388C818CA8B9251b393131C08a736A67ccB19297

Expand All @@ -57,7 +57,7 @@ LIDO_EXECUTION_LAYER_REWARDS_ADDRESS=0x388C818CA8B9251b393131C08a736A67ccB19297
CHARON_P2P_RELAYS=https://0.relay.obol.tech,https://1.relay.obol.tech/,https://charon-relay.dsrvlabs.dev/,https://obol-relay.infstones.com/,https://relay-2.prod-relay.721.land/,https://relay-1.obol.figment.io/

# Connect to one or more external beacon nodes. Use a comma separated list excluding spaces.
#CHARON_BEACON_NODE_ENDPOINTS=
CHARON_BEACON_NODE_ENDPOINTS=http://fullnode-1-1.fullnode.internal:5052

# Increase the duration charon will wait for requests to the beacon node
#CHARON_BEACON_NODE_TIMEOUT=
Expand Down Expand Up @@ -92,7 +92,7 @@ CHARON_P2P_RELAYS=https://0.relay.obol.tech,https://1.relay.obol.tech/,https://c
# You can choose public mainnet relays from https://enchanted-direction-844.notion.site/6d369eb33f664487800b0dedfe32171e?v=d255247c822c409f99c498aeb6a4e51d.
# Follow the SDVT guidelines here: https://operatorportal.lido.fi/existing-operator-portal/simple-dvt-module-portal/obol-mainnet/lido-x-obol-simple-dvt-mainnet-guide#block-a0d23a58033e44e08de6068909550ad9
# Its best to use a smaller number of high quality, low latency relays. Use the `charon alpha test mev` command to select the best relays for your node in line with the guidance above. https://docs.obol.org/docs/advanced/test-command#test-mev-relay
MEVBOOST_RELAYS=https://0xa15b52576bcbf1072f4a011c0f99f9fb6c66f3e1ff321f11f461d15e31b1cb359caa092c71bbded0bae5b5ea401aab7e@aestus.live,https://0xa7ab7a996c8584251c8f925da3170bdfd6ebc75d50f5ddc4050a6fdc77f2a3b5fce2cc750d0865e05d7228af97d69561@agnostic-relay.net,https://0x8b5d2e73e2a3a55c6c87b8b6eb92e0149a125c852751db1422fa951e42a09b82c142c3ea98d0d9930b056a3bc9896b8f@bloxroute.max-profit.blxrbdn.com,https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88@bloxroute.regulated.blxrbdn.com,https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net,https://0xa1559ace749633b997cb3fdacffb890aeebdb0f5a3b6aaa7eeeaf1a38af0a8fe88b9e4b1f61f236d2e64d95733327a62@relay.ultrasound.money,https://0x8c4ed5e24fe5c6ae21018437bde147693f68cda427cd1122cf20819c30eda7ed74f72dece09bb313f2a1855595ab677d@global.titanrelay.xyz
MEVBOOST_RELAYS=https://0xa15b52576bcbf1072f4a011c0f99f9fb6c66f3e1ff321f11f461d15e31b1cb359caa092c71bbded0bae5b5ea401aab7e@aestus.live,https://0xa7ab7a996c8584251c8f925da3170bdfd6ebc75d50f5ddc4050a6fdc77f2a3b5fce2cc750d0865e05d7228af97d69561@agnostic-relay.net,https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net,https://0xa1559ace749633b997cb3fdacffb890aeebdb0f5a3b6aaa7eeeaf1a38af0a8fe88b9e4b1f61f236d2e64d95733327a62@relay.ultrasound.money,https://0x8c4ed5e24fe5c6ae21018437bde147693f68cda427cd1122cf20819c30eda7ed74f72dece09bb313f2a1855595ab677d@global.titanrelay.xyz

######### Monitoring Config #########

Expand Down Expand Up @@ -150,4 +150,12 @@ VE_LOCATOR_ADDRESS=0xC1d0b3DE6792Bf6b4b37EccdcC24e45978Cfd2Eb
VE_STAKING_MODULE_ID=2

# Lido operator ID
#VE_OPERATOR_ID=
# https://operators.lido.fi/module/2/59
VE_OPERATOR_ID=59

# validator-ejector
VE_BEACON_NODE_URL=http://fullnode-1-1.fullnode.internal:5052
VE_EXECUTION_NODE_URL=http://fullnode-1-1.fullnode.internal:8545

# lido-dv-exit
LIDO_DV_EXIT_BEACON_NODE_URL=http://fullnode-1-1.fullnode.internal:5052
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,9 @@ data/
teku/validator/
# Teku directory for storing logs
teku/logs/
# validator-ejector and lido-dv-exit mountpoint
exitmessages/
# New Relic Infra agent USER_LICENSE_KEY file
newrelic-infra.yml
# Prometheus config(include credentials)
prometheus/prometheus.yml
57 changes: 57 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
SHELL := /usr/bin/bash

# Set Git user email and name
git/config:
git config --global user.email "[email protected]"
git config --global user.name "mageyuki"
git config --global core.editor vim

# mkdir for EFS
efs/mkdir:
mkdir -p /home/ssm-user/lido-charon-distributed-validator-node/.charon
mkdir -p /home/ssm-user/lido-charon-distributed-validator-node/.validator-ejector

# mount EFS
efs/mount:
sudo mount -t efs $(aws efs describe-file-systems --query "FileSystems[?Tags[?Key=='Name' && Value=='efs-obol-charon']].FileSystemId" --output text) /home/ssm-user/lido-charon-distributed-validator-node/.charon
sudo mount -t efs $(aws efs describe-file-systems --query "FileSystems[?Tags[?Key=='Name' && Value=='efs-obol-exitmessages']].FileSystemId" --output text) /home/ssm-user/lido-charon-distributed-validator-node/.validator-ejector

# docker-compose up background
compose/up:
sudo docker compose -f docker-compose.yml -f logging.yml up -d

# docker-compose down
compose/down:
sudo docker compose -f docker-compose.yml -f logging.yml down

# docker-compose logs
compose/logs:
sudo docker compose logs -f

# docker-compose logs charon
compose/logs/charon:
sudo docker compose logs charon -f

# docker-compose logs prometheus
compose/logs/prometheus:
sudo docker compose logs prometheus -f

# docker-compose logs prometheus
compose/logs/promtail:
sudo docker compose logs -f logging.yml promtail -f

# docker-compose logs validator-ejector
compose/logs/validator-ejector:
sudo docker compose logs validator-ejector -f

# docker-compose logs lido-dv-exit
compose/logs/lido-dv-exit:
sudo docker compose logs lido-dv-exit -f

# docker-compose ps
compose/ps:
sudo docker compose ps

# docker-compose build
compose/build:
sudo docker compose build --no-cache
17 changes: 16 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ services:
volumes:
- ./data/nethermind:/nethermind/data
- ./jwt:/root/jwt
profiles:
- extra

# _ _ _ _ _
# | (_) __ _| |__ | |_| |__ ___ _ _ ___ ___
Expand Down Expand Up @@ -70,6 +72,8 @@ services:
- ./data/lighthouse:/opt/app/beacon
- ./jwt:/opt/jwt
restart: unless-stopped
profiles:
- extra

# _
# ___| |__ __ _ _ __ ___ _ __
Expand All @@ -78,7 +82,7 @@ services:
# \___|_| |_|\__,_|_| \___/|_| |_|

charon:
image: obolnetwork/charon:${CHARON_VERSION:-v1.2.0}
image: obolnetwork/charon:${CHARON_VERSION:-v1.1.2}
environment:
- CHARON_BEACON_NODE_ENDPOINTS=${CHARON_BEACON_NODE_ENDPOINTS:-http://lighthouse:5052}
- CHARON_BEACON_NODE_TIMEOUT=${CHARON_BEACON_NODE_TIMEOUT:-3s}
Expand All @@ -96,6 +100,7 @@ services:
- CHARON_LOKI_SERVICE=charon
ports:
- ${CHARON_PORT_P2P_TCP:-3610}:${CHARON_PORT_P2P_TCP:-3610}/tcp # P2P TCP libp2p
- 3620:3620/tcp # Monitoring
networks: [dvnode]
volumes:
- .charon:/opt/charon/.charon
Expand All @@ -119,6 +124,8 @@ services:
NETWORK: ${NETWORK}
BUILDER_API_ENABLED: ${BUILDER_API_ENABLED:-true}
BUILDER_SELECTION: ${BUILDER_SELECTION:-builderalways}
ports:
- 5064:5064/tcp # Metrics
volumes:
- ./lodestar/run.sh:/opt/lodestar/run.sh
- .charon/validator_keys:/home/charon/validator_keys
Expand All @@ -140,6 +147,8 @@ services:
-relays=${MEVBOOST_RELAYS}
networks: [dvnode]
restart: unless-stopped
profiles:
- extra

# _ _ _
# _ __ ___ ___ _ __ (_) |_ ___ _ __(_)_ __ __ _
Expand Down Expand Up @@ -170,6 +179,8 @@ services:
- ./grafana/dashboards:/etc/dashboards
- ./data/grafana:/var/lib/grafana
restart: unless-stopped
profiles:
- extra

loki:
image: grafana/loki:${LOKI_VERSION:-2.8.2}
Expand All @@ -180,6 +191,8 @@ services:
- ./loki/loki.yml:/etc/loki/loki.yml
- ./data/loki:/opt/loki
restart: unless-stopped
profiles:
- extra

# _ _ _ _ _ _
# __ ____ _| (_) __| | __ _| |_ ___ _ __ ___ (_) ___ ___| |_ ___ _ __
Expand All @@ -206,6 +219,8 @@ services:
- RUN_METRICS=true
- HTTP_PORT=8989
- DISABLE_SECURITY_DONT_USE_IN_PRODUCTION=${DISABLE_EJECTOR_SECURITY:-false}
ports:
- 8989:8989 # Metrics

# _ _ _ _ _ _
# | (_) __| | ___ __| |_ __ _____ _(_) |_
Expand Down
Loading