Skip to content

Commit ac6c75c

Browse files
authored
feat: report stats to stats.vana.org (#3)
This updates the `stats` container to use the newest version of `vanaorg/vana-stats-client` instead of the older stats client, `vanaorg/stats-client`.
1 parent 4482c38 commit ac6c75c

3 files changed

Lines changed: 71 additions & 29 deletions

File tree

.env.mainnet.example

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,9 @@ PRYSM_BLOB_BATCH_LIMIT_BURST_FACTOR=8 # Set this to 8 for a full node, 2
162162
TRUSTED_BEACON_NODE_URL=https://rpc.vana.org
163163
WEAK_SUBJECTIVITY_CHECKPOINT=0x0000000000000000000000000000000000000000000000000000000000000000:0 # block root:epoch number
164164

165-
# Report stats to the public stats server
166-
STATS_SERVER_URL=https://stats.vana.org
167-
INSTANCE_NAME="Example Validator"
168-
VALIDATOR_PUBLIC_KEY= # The public key of your validator, e.g. 0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
165+
# Report stats to the Vana stats service
166+
STATS_SERVICE_URL=https://stats.vana.org
167+
STATS_API_KEY= # Your API key for the stats service, if you have one
168+
NODE_NAME="Example Node" # A user-friendly name for your node
169+
VALIDATOR_PUBLIC_KEYS= # The public keys of all validators running on this node, e.g. 0x123...,0x456...,0x789...
170+
STATS_LOG_LEVEL=info # The log level for the stats service, e.g. "info", "debug", "error", "warn"

container-scripts/check-config.sh

Lines changed: 45 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,46 @@ if [ ! -f /vana/data/jwt.hex ]; then
2323
fi
2424

2525
echo "JWT secret check passed"
26+
27+
# Check stats-related configuration
28+
if [ -z "$STATS_SERVICE_URL" ]; then
29+
echo "Error: STATS_SERVICE_URL is not set."
30+
echo "Please set the stats service URL in your .env file."
31+
exit 1
32+
fi
33+
34+
echo "STATS_SERVICE_URL check passed"
35+
36+
# Check NODE_NAME
37+
if [ -z "$NODE_NAME" ] || [ "$NODE_NAME" = "Example Node" ]; then
38+
echo "Error: NODE_NAME is not set or is still the default value."
39+
echo "Please set a unique node name in your .env file."
40+
exit 1
41+
fi
42+
43+
echo "NODE_NAME check passed"
44+
45+
# Check STATS_API_KEY if provided
46+
if [ -n "$STATS_API_KEY" ]; then
47+
echo "STATS_API_KEY check passed"
48+
else
49+
echo "Note: STATS_API_KEY is not set. Stats will be reported anonymously."
50+
fi
51+
52+
# Check STATS_LOG_LEVEL
53+
if [ -n "$STATS_LOG_LEVEL" ]; then
54+
case "$STATS_LOG_LEVEL" in
55+
info|debug|error|warn) ;;
56+
*)
57+
echo "Error: Invalid STATS_LOG_LEVEL '$STATS_LOG_LEVEL'. Must be one of: info, debug, error, warn"
58+
exit 1
59+
;;
60+
esac
61+
echo "STATS_LOG_LEVEL check passed"
62+
else
63+
echo "Note: STATS_LOG_LEVEL not set, defaulting to 'info'"
64+
fi
65+
2666
# Check if we need to perform validator-related checks
2767
if [ "$USE_VALIDATOR" = "true" ]; then
2868
echo "Performing validator-specific checks..."
@@ -80,23 +120,14 @@ if [ "$USE_VALIDATOR" = "true" ]; then
80120

81121
echo "DEPOSIT_CONTRACT_ADDRESS check passed"
82122

83-
# Check VALIDATOR_PUBLIC_KEY
84-
if [ -z "$VALIDATOR_PUBLIC_KEY" ] || [ "$VALIDATOR_PUBLIC_KEY" = "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ]; then
85-
echo "Error: VALIDATOR_PUBLIC_KEY is not set or is still the default value."
86-
echo "Please set a valid validator public key in your .env file."
87-
exit 1
88-
fi
89-
90-
echo "VALIDATOR_PUBLIC_KEY check passed"
91-
92-
# Check INSTANCE_NAME
93-
if [ -z "$INSTANCE_NAME" ] || [ "$INSTANCE_NAME" = "Example Validator" ]; then
94-
echo "Error: INSTANCE_NAME is not set or is still the default value."
95-
echo "Please set a unique instance name in your .env file."
123+
# Check VALIDATOR_PUBLIC_KEYS
124+
if [ -z "$VALIDATOR_PUBLIC_KEYS" ] || [ "$VALIDATOR_PUBLIC_KEYS" = "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ]; then
125+
echo "Error: VALIDATOR_PUBLIC_KEYS is not set or is still the default value."
126+
echo "Please set valid validator public keys in your .env file."
96127
exit 1
97128
fi
98129

99-
echo "INSTANCE_NAME check passed"
130+
echo "VALIDATOR_PUBLIC_KEYS check passed"
100131
else
101132
echo "Skipping validator-specific checks..."
102133
fi

docker-compose.yml

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,11 @@ services:
108108
- DEPOSIT_RPC_URL
109109
- DEPOSIT_CONTRACT_ADDRESS
110110
- USE_VALIDATOR=true
111-
- INSTANCE_NAME
112-
- VALIDATOR_PUBLIC_KEY
111+
- NODE_NAME
112+
- VALIDATOR_PUBLIC_KEYS
113+
- STATS_SERVICE_URL
114+
- STATS_API_KEY
115+
- STATS_LOG_LEVEL
113116
command: /vana/container-scripts/check-config.sh
114117
depends_on:
115118
geth-init:
@@ -135,6 +138,10 @@ services:
135138
environment:
136139
- NETWORK
137140
- USE_VALIDATOR=false
141+
- NODE_NAME
142+
- STATS_SERVICE_URL
143+
- STATS_API_KEY
144+
- STATS_LOG_LEVEL
138145
command: /vana/container-scripts/check-config.sh
139146
depends_on:
140147
geth-init:
@@ -627,21 +634,21 @@ services:
627634

628635
stats:
629636
<<: [*default-logging, *default-restart]
630-
image: vanaorg/stats-client:latest
637+
image: vanaorg/vana-stats-client:latest
631638
container_name: stats
632639
volumes:
633640
- /var/run/docker.sock:/var/run/docker.sock
634641
environment:
635-
- STATS_SERVER_URL=${STATS_SERVER_URL}
636-
- INSTANCE_NAME=${INSTANCE_NAME}
637-
- VALIDATOR_PUBLIC_KEY=${VALIDATOR_PUBLIC_KEY}
638-
- EXECUTION_WS_ENDPOINT=ws://geth:${GETH_WS_PORT:-8546}
639-
- BEACON_RPC_PROVIDER=http://beacon:${GRPC_GATEWAY_PORT:-3500}
640-
- WS_SECRET=${WS_SECRET}
642+
- NODE_NAME=${NODE_NAME}
643+
- SERVICE_URL=${STATS_SERVICE_URL}
644+
- BEACON_ENDPOINT=http://beacon:${GRPC_GATEWAY_PORT:-3500}
645+
- EXECUTION_ENDPOINT=ws://geth:${GETH_WS_PORT:-8546}
646+
- VALIDATOR_PUBLIC_KEYS=${VALIDATOR_PUBLIC_KEYS}
647+
- API_KEY=${STATS_API_KEY}
648+
- LOG_LEVEL=${STATS_LOG_LEVEL:-"info"}
641649
profiles:
642650
- node
643651
- validator
644-
- monitoring
645652

646653
caddy:
647654
<<: [*default-logging, *default-restart]
@@ -667,7 +674,9 @@ services:
667674
condition: service_started
668675
beacon:
669676
condition: service_started
670-
profiles: ["node", "validator"]
677+
profiles:
678+
- node
679+
- validator
671680

672681
secrets:
673682
deposit_private_key:

0 commit comments

Comments
 (0)