Skip to content

Commit

Permalink
Add stagenet. Update telemetry. (#16)
Browse files Browse the repository at this point in the history
- Added workflows for deploy, update, revert and wipe stagenet.
- Added Nginx as reverse proxy for all telemetry services by endpoints.
- Added domain for telemetry server (and changed to wss).
- Added Alertmanager that sends notifications in telegram.
- Updated prometheus metrics.
- Updated dirs structure in repository.
  • Loading branch information
semeniak97mf authored Oct 30, 2024
2 parents 0a06dbb + ce8f1a2 commit 59bb47b
Show file tree
Hide file tree
Showing 23 changed files with 1,613 additions and 571 deletions.
16 changes: 8 additions & 8 deletions .github/workflows/stagenet-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ jobs:
cd /sportchain/atleta
./deploy-validator.sh stagenet.keys.env atletanetwork/atleta-node:stagenet-latest
deploy_rpc_nodes:
deploy_archive_nodes:

needs:
- deploy_validators
Expand Down Expand Up @@ -248,17 +248,17 @@ jobs:
- name: Prepare .env files
run: |
echo "BOOT_NODE_P2P_ADDRESS=\"${{ secrets.BOOT_NODE_P2P_ADDRESS }}\"" >> stagenet/deploy/rpc-node.env
echo "INDEX=${{ matrix.node_index }}" >> stagenet/deploy/rpc-node.env
echo "TELEMETRY_DOMAIN=${{ secrets.TELEMETRY_DOMAIN }}" >> stagenet/deploy/rpc-node.env
echo "container_atleta=rpc_stagenet" >> stagenet/deploy/rpc-node.env
echo "BOOT_NODE_P2P_ADDRESS=\"${{ secrets.BOOT_NODE_P2P_ADDRESS }}\"" >> stagenet/deploy/archive-node.env
echo "INDEX=${{ matrix.node_index }}" >> stagenet/deploy/archive-node.env
echo "TELEMETRY_DOMAIN=${{ secrets.TELEMETRY_DOMAIN }}" >> stagenet/deploy/archive-node.env
echo "container_atleta=archive_stagenet" >> stagenet/deploy/archive-node.env
- name: Copy Files to Server
run: |
ssh -o StrictHostKeyChecking=no ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }} "mkdir -p /sportchain/atleta"
scp stagenet/deploy/run-rpc-node.sh ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/run-rpc-node.sh
scp stagenet/deploy/run-archive-node.sh ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/run-archive-node.sh
scp chainspecs/chain-spec.stagenet.json ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/chainspec.json
scp stagenet/deploy/rpc-node.env ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/.env
scp stagenet/deploy/archive-node.env ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/.env
ssh -o StrictHostKeyChecking=no ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }} "mkdir -p /sportchain/atleta/{promtail,process-exporter}"
scp stagenet/deploy/promtail-config.yml ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/promtail/promtail-config.yml
scp utils/telemetry/process-exporter/process-exporter.yml ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/process-exporter/process-exporter.yml
Expand All @@ -271,4 +271,4 @@ jobs:
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /sportchain/atleta
./run-rpc-node.sh atletanetwork/atleta-node:stagenet-latest
./run-archive-node.sh atletanetwork/atleta-node:stagenet-latest
24 changes: 12 additions & 12 deletions .github/workflows/stagenet-revert.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:

needs:
- stop_validators
- stop_rpc_nodes
- stop_archive_nodes

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:
docker stop validator_stagenet
docker rm validator_stagenet
stop_rpc_nodes:
stop_archive_nodes:

runs-on: ubuntu-latest
environment: stagenet
Expand Down Expand Up @@ -143,8 +143,8 @@ jobs:
username: ${{ secrets[matrix.user_key] }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
docker stop rpc_stagenet
docker rm rpc_stagenet
docker stop archive_stagenet
docker rm archive_stagenet
revert_public_bootnode:
Expand Down Expand Up @@ -306,7 +306,7 @@ jobs:
cd /sportchain/atleta
./revert.sh
revert_rpc_nodes:
revert_archive_nodes:

runs-on: ubuntu-latest
environment: stagenet
Expand Down Expand Up @@ -359,17 +359,17 @@ jobs:
- name: Prepare .env files
run: |
echo "BOOT_NODE_P2P_ADDRESS=\"${{ secrets.BOOT_NODE_P2P_ADDRESS }}\"" >> stagenet/revert/rpc-node.env
echo "INDEX=${{ matrix.node_index }}" >> stagenet/revert/rpc-node.env
echo "TELEMETRY_DOMAIN=${{ secrets.TELEMETRY_DOMAIN }}" >> stagenet/revert/rpc-node.env
echo "container_atleta=rpc_stagenet" >> stagenet/revert/rpc-node.env
echo "BOOT_NODE_P2P_ADDRESS=\"${{ secrets.BOOT_NODE_P2P_ADDRESS }}\"" >> stagenet/revert/archive-node.env
echo "INDEX=${{ matrix.node_index }}" >> stagenet/revert/archive-node.env
echo "TELEMETRY_DOMAIN=${{ secrets.TELEMETRY_DOMAIN }}" >> stagenet/revert/archive-node.env
echo "container_atleta=archive_stagenet" >> stagenet/revert/archive-node.env
- name: Copy Files to Server
run: |
scp stagenet/deploy/run-rpc-node.sh ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/run-rpc-node.sh
scp stagenet/deploy/run-archive-node.sh ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/run-archive-node.sh
scp chainspecs/chain-spec.stagenet.json ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/chainspec.json
scp stagenet/revert/rpc-node.env ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/.env
scp stagenet/revert/promtail-config.yml ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/promtail/promtail-config.ymll
scp stagenet/revert/archive-node.env ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/.env
scp stagenet/revert/promtail-config.yml ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/promtail/promtail-config.yml
- name: SSH into Server and Deploy
uses: appleboy/ssh-action@v1.0.3
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/stagenet-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ jobs:
cd /sportchain/atleta
./update-validator.sh atletanetwork/atleta-node:stagenet-latest
update_rpc_nodes:
update_archive_nodes:

runs-on: ubuntu-latest
environment: stagenet
Expand Down Expand Up @@ -240,16 +240,16 @@ jobs:
- name: Prepare .env files
run: |
echo "BOOT_NODE_P2P_ADDRESS=\"${{ secrets.BOOT_NODE_P2P_ADDRESS }}\"" >> stagenet/update/rpc-node.env
echo "INDEX=${{ matrix.node_index }}" >> stagenet/update/rpc-node.env
echo "TELEMETRY_DOMAIN=${{ secrets.TELEMETRY_DOMAIN }}" >> stagenet/update/rpc-node.env
echo "container_atleta=rpc_stagenet" >> stagenet/update/rpc-node.env
echo "BOOT_NODE_P2P_ADDRESS=\"${{ secrets.BOOT_NODE_P2P_ADDRESS }}\"" >> stagenet/update/archive-node.env
echo "INDEX=${{ matrix.node_index }}" >> stagenet/update/archive-node.env
echo "TELEMETRY_DOMAIN=${{ secrets.TELEMETRY_DOMAIN }}" >> stagenet/update/archive-node.env
echo "container_atleta=archive_stagenet" >> stagenet/update/archive-node.env
- name: Copy Files to Server
run: |
scp stagenet/deploy/run-rpc-node.sh ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/run-rpc-node.sh
scp stagenet/deploy/run-archive-node.sh ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/run-archive-node.sh
scp chainspecs/chain-spec.stagenet.json ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/chainspec.json
scp stagenet/update/rpc-node.env ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/.env
scp stagenet/update/archive-node.env ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/.env
scp stagenet/update/promtail-config.yml ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/promtail/promtail-config.yml
scp utils/telemetry/process-exporter/process-exporter.yml ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/sportchain/atleta/process-exporter/process-exporter.yml
Expand All @@ -261,4 +261,4 @@ jobs:
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /sportchain/atleta
./run-rpc-node.sh atletanetwork/atleta-node:stagenet-latest
./run-archive-node.sh atletanetwork/atleta-node:stagenet-latest
80 changes: 35 additions & 45 deletions .github/workflows/stagenet-wipe.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,17 @@ jobs:

needs:
- wipe_validators
- wipe_rpc_nodes
- wipe_archive_nodes

environment: stagenet

strategy:
matrix:
include:

- host_key: BOOT_NODE_1_HOST
user_key: BOOT_NODE_1_USER

runs-on: ubuntu-latest

steps:
Expand All @@ -21,29 +28,31 @@ jobs:
run: |
mkdir -p ~/.ssh/
touch ~/.ssh/known_hosts
ssh-keyscan ${{ secrets.BOOT_NODE_HOST }} >> ~/.ssh/known_hosts
ssh-keyscan ${{ secrets[matrix.host_key] }} >> ~/.ssh/known_hosts
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
eval $(ssh-agent)
- name: Prepare variables
run: |
echo "container_atleta=bootnode" >> stagenet/wipe/cleanup.env
echo "container_process_exporter=process-exporter" >> stagenet/wipe/cleanup.env
echo "container_promtail=promtail" >> stagenet/wipe/cleanup.env
- name: Copy files to the server
run: |
scp stagenet/wipe/cleanup.env ${{ secrets.BOOT_NODE_USER }}@${{ secrets.BOOT_NODE_HOST }}:/tmp/cleanup.env
scp stagenet/wipe/wipe.sh ${{ secrets.BOOT_NODE_USER }}@${{ secrets.BOOT_NODE_HOST }}:/tmp/wipe.sh
scp stagenet/wipe/cleanup.env ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/tmp/cleanup.env
scp stagenet/wipe/wipe.sh ${{ secrets[matrix.user_key] }}@${{ secrets[matrix.host_key] }}:/tmp/wipe.sh
- name: Wipe bootnode
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.BOOT_NODE_HOST }}
username: ${{ secrets.BOOT_NODE_USER }}
host: ${{ secrets[matrix.host_key] }}
username: ${{ secrets[matrix.user_key] }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /tmp
./wipe.sh
./wipe.sh cleanup.env
rm -f cleanup.env wipe.sh
wipe_validators:
Expand All @@ -55,41 +64,23 @@ jobs:
matrix:
include:

- node_index: 1
host_key: VALIDATOR_1_HOST
- host_key: VALIDATOR_1_HOST
user_key: VALIDATOR_1_USER
priv_node_key: VALIDATOR_1_NODE_KEY_PRIV
pub_node_key: VALIDATOR_1_NODE_KEY_PUB

- node_index: 2
host_key: VALIDATOR_2_HOST
- host_key: VALIDATOR_2_HOST
user_key: VALIDATOR_2_USER
priv_node_key: VALIDATOR_2_NODE_KEY_PRIV
pub_node_key: VALIDATOR_2_NODE_KEY_PUB

- node_index: 3
host_key: VALIDATOR_3_HOST
- host_key: VALIDATOR_3_HOST
user_key: VALIDATOR_3_USER
priv_node_key: VALIDATOR_3_NODE_KEY_PRIV
pub_node_key: VALIDATOR_3_NODE_KEY_PUB

- node_index: 4
host_key: VALIDATOR_4_HOST
- host_key: VALIDATOR_4_HOST
user_key: VALIDATOR_4_USER
priv_node_key: VALIDATOR_4_NODE_KEY_PRIV
pub_node_key: VALIDATOR_4_NODE_KEY_PUB

- node_index: 5
host_key: VALIDATOR_5_HOST
- host_key: VALIDATOR_5_HOST
user_key: VALIDATOR_5_USER
priv_node_key: VALIDATOR_5_NODE_KEY_PRIV
pub_node_key: VALIDATOR_5_NODE_KEY_PUB

- node_index: 6
host_key: VALIDATOR_6_HOST
- host_key: VALIDATOR_6_HOST
user_key: VALIDATOR_6_USER
priv_node_key: VALIDATOR_6_NODE_KEY_PRIV
pub_node_key: VALIDATOR_6_NODE_KEY_PUB

steps:
- uses: actions/checkout@v4
Expand All @@ -106,6 +97,8 @@ jobs:
- name: Prepare .env files
run: |
echo "container_atleta=validator_stagenet" >> stagenet/wipe/cleanup.env
echo "container_process_exporter=process-exporter" >> stagenet/wipe/cleanup.env
echo "container_promtail=promtail" >> stagenet/wipe/cleanup.env
- name: Copy Files to Server
run: |
Expand All @@ -120,10 +113,10 @@ jobs:
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /tmp
./wipe.sh
./wipe.sh cleanup.env
rm -f cleanup.env wipe.sh
wipe_rpc_nodes:
wipe_archive_nodes:

runs-on: ubuntu-latest
environment: stagenet
Expand All @@ -132,20 +125,15 @@ jobs:
matrix:
include:

- node_index: 7
host_key: VALIDATOR_7_HOST
- host_key: VALIDATOR_7_HOST
user_key: VALIDATOR_7_USER

- node_index: 8
host_key: VALIDATOR_8_HOST

- host_key: VALIDATOR_8_HOST
user_key: VALIDATOR_8_USER

- node_index: 9
host_key: VALIDATOR_9_HOST
- host_key: VALIDATOR_9_HOST
user_key: VALIDATOR_9_USER

max-parallel: 1

steps:
- uses: actions/checkout@v4

Expand All @@ -160,7 +148,9 @@ jobs:
- name: Prepare .env files
run: |
echo "container_atleta=rpc_stagenet" >> stagenet/wipe/cleanup.env
echo "container_atleta=archive_stagenet" >> stagenet/wipe/cleanup.env
echo "container_process_exporter=process-exporter" >> stagenet/wipe/cleanup.env
echo "container_promtail=promtail" >> stagenet/wipe/cleanup.env
- name: Copy Files to Server
run: |
Expand All @@ -175,5 +165,5 @@ jobs:
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /tmp
./wipe.sh
rm -f cleanup.env wipe.sh
./wipe.sh cleanup.env
rm -f cleanup.env wipe.sh
14 changes: 7 additions & 7 deletions devnet/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ services:
--rpc-methods=safe
--prometheus-external
--prometheus-port 9615
--node-key 0000000000000000000000000000000000000000000000000000000000000001
--node-key 0000000000000000000000000000000000000000000000000000000000000002
--rpc-cors all
--allow-private-ipv4
--listen-addr /ip4/0.0.0.0/tcp/30333
--state-pruning archive
--telemetry-url 'ws://${DEVNET_HOST}:8001/submit 0'
--telemetry-url "wss://${TELEMETRY_DOMAIN}/submit 1"
ports:
- "0.0.0.0:9944:9944/tcp"
- "0.0.0.0:30333:30333/tcp"
Expand Down Expand Up @@ -52,8 +52,8 @@ services:
--port 30333
--rpc-port 9944
--unsafe-force-node-key-generation
--bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp
--telemetry-url 'ws://${DEVNET_HOST}:8001/submit 0'
--bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWHdiAxVd8uMQR1hGWXccidmfCwLqcMpGwR6QcTP6QRMuD
--telemetry-url "wss://${TELEMETRY_DOMAIN}/submit 1"
networks:
- sportchain-node-network

Expand All @@ -77,8 +77,8 @@ services:
--port 30333
--rpc-port 9944
--unsafe-force-node-key-generation
--bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp
--telemetry-url 'ws://${DEVNET_HOST}:8001/submit 0'
--bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWHdiAxVd8uMQR1hGWXccidmfCwLqcMpGwR6QcTP6QRMuD
--telemetry-url "wss://${TELEMETRY_DOMAIN}/submit 1"
networks:
- sportchain-node-network

Expand All @@ -105,4 +105,4 @@ services:

networks:
sportchain-node-network:
name: sportchain-node
name: sportchain-node
Loading

0 comments on commit 59bb47b

Please sign in to comment.