From 6b340eb4be2f3d14924495ab4d7bcefa72575e82 Mon Sep 17 00:00:00 2001 From: yaro <0623forbidden@gmail.com> Date: Tue, 4 Jan 2022 13:19:29 +0300 Subject: [PATCH] (multi-node): Checkpoint --- ci/deploy.sh | 14 +++++ ci/docker-compose2.yml | 52 ++++++++++++++++ ci/multi-node.sh | 3 + ci/multi-node.yml | 132 +++++++++++++++++++++++++++++++++++++++++ ci/purge-chain.sh | 8 +++ ci/single-node.yml | 27 +++++++++ 6 files changed, 236 insertions(+) create mode 100644 ci/docker-compose2.yml create mode 100755 ci/multi-node.sh create mode 100644 ci/multi-node.yml create mode 100755 ci/purge-chain.sh create mode 100644 ci/single-node.yml diff --git a/ci/deploy.sh b/ci/deploy.sh index 8ce7569f..e010191c 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -36,4 +36,18 @@ export APP_IMAGE="$BINARY_NAME:$REVISION" echo "EVENT_PROXY_CLIENT_IMG=$APP_IMAGE" >> .env echo "EVENT_PROXY_CLIENT_BIN=$BINARY_NAME" >> .env +echo "COMMON_NODE_PARAMS=\ +--chain=/spec.json \ +--base-path=/var/lib/deipd \ +--node-key-file=/var/lib/deipd/node-key-file \ +--ws-external --rpc-external --rpc-methods=Unsafe \ +--offchain-worker=WhenValidating --enable-offchain-indexing=true \ +-lpallet_deip_proposal=debug,pallet_deip_dao=debug,pallet_deip_portal=debug \ +-l=txpool=trace,runtime=trace,offchain=trace" >> .env + docker-compose up -d --no-build + + +# appchain-deip build-spec --chain=/spec/devSpec.json --raw --disable-default-bootnode > /spec/devSpecRaw.json +# docker run --init --rm -ti -v $(pwd):/spec appchain-deip:478b54a bash +# appchain-deip purge-chain --base-path=/var/lib/deipd --chain=dev -y diff --git a/ci/docker-compose2.yml b/ci/docker-compose2.yml new file mode 100644 index 00000000..24531a4d --- /dev/null +++ b/ci/docker-compose2.yml @@ -0,0 +1,52 @@ +version: "3.3" + +services: + zookeeper: + profiles: + - kafka + image: bitnami/zookeeper:3.7 + ports: + - "2181:2181" + volumes: + - "zookeeper_data:/bitnami" + environment: + - ALLOW_ANONYMOUS_LOGIN=yes + kafka: + profiles: + - kafka + image: bitnami/kafka:2 + ports: + - "9092:9092" + volumes: + - "kafka_data:/bitnami" + environment: + - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181 + - ALLOW_PLAINTEXT_LISTENER=yes + depends_on: + - zookeeper + deip-event-proxy: + profiles: + - "event-proxy" + image: "$LOCAL_REPO/$EVENT_PROXY_IMG" + command: $EVENT_PROXY_BIN --config=/event-proxy.toml + environment: + RUST_LOG: "error,librdkafka=error,rdkafka::client=error" + volumes: + - "./event-proxy.toml:/event-proxy.toml" + depends_on: + - kafka + deip-event-proxy-client: + profiles: + - "event-proxy" + image: "$LOCAL_REPO/$EVENT_PROXY_CLIENT_IMG" + command: $EVENT_PROXY_CLIENT_BIN + environment: + KAFKA_BOOTSTRAP_SERVERS: "kafka:9092" + depends_on: + - kafka + +volumes: + zookeeper_data: + driver: local + kafka_data: + driver: local diff --git a/ci/multi-node.sh b/ci/multi-node.sh new file mode 100755 index 00000000..60d87ae3 --- /dev/null +++ b/ci/multi-node.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +docker-compose -f docker-compose2.yml -f multi-node.yml "$@" diff --git a/ci/multi-node.yml b/ci/multi-node.yml new file mode 100644 index 00000000..8bee21d7 --- /dev/null +++ b/ci/multi-node.yml @@ -0,0 +1,132 @@ +version: "3.3" + +services: + node1: + profiles: ["node"] + image: "$LOCAL_REPO/$BLOCKCHAIN_NODE_IMG" + labels: + - "bootnode=true" + - "role=nominator" + command: | + $BLOCKCHAIN_NODE_BIN + --name Node01 + $COMMON_NODE_PARAMS + volumes: + - node1:/var/lib/deipd + - "./devSpecRaw.json:/spec.json" + networks: + blockchain: + ipv4_address: 172.36.10.1 + default: + aliases: + - "deip-blockchain-node" + ports: + - "9944:9944" + - "9933:9933" + + node2: + profiles: ["node"] + image: "$LOCAL_REPO/$BLOCKCHAIN_NODE_IMG" + labels: + - "role=nominator" + command: | + $BLOCKCHAIN_NODE_BIN + --name Node02 + --bootnodes=/ip4/172.36.10.1/tcp/30333/p2p/12D3KooWDB4M6qyuyx5Brhcz1DKbHxr3GCaHowWEcB6SEY5UShvr + $COMMON_NODE_PARAMS + volumes: + - node2:/var/lib/deipd + - "./devSpecRaw.json:/spec.json" + networks: + blockchain: + ipv4_address: 172.36.10.2 + + node3: + profiles: ["node"] + image: "$LOCAL_REPO/$BLOCKCHAIN_NODE_IMG" + labels: + - "role=validator" + command: | + $BLOCKCHAIN_NODE_BIN + --name Node03 + --bootnodes=/ip4/172.36.10.1/tcp/30333/p2p/12D3KooWDB4M6qyuyx5Brhcz1DKbHxr3GCaHowWEcB6SEY5UShvr + $COMMON_NODE_PARAMS + volumes: + - node3:/var/lib/deipd + - "./devSpecRaw.json:/spec.json" + networks: + blockchain: + ipv4_address: 172.36.10.3 + + node4: + profiles: ["node"] + image: "$LOCAL_REPO/$BLOCKCHAIN_NODE_IMG" + labels: + - "role=validator" + command: | + $BLOCKCHAIN_NODE_BIN + --dave + --name Node04 + --validator + --bootnodes=/ip4/172.36.10.1/tcp/30333/p2p/12D3KooWDB4M6qyuyx5Brhcz1DKbHxr3GCaHowWEcB6SEY5UShvr + $COMMON_NODE_PARAMS + volumes: + - node4:/var/lib/deipd + - "./devSpecRaw.json:/spec.json" + networks: + blockchain: + ipv4_address: 172.36.10.4 + + node5: + profiles: ["node"] + image: "$LOCAL_REPO/$BLOCKCHAIN_NODE_IMG" + labels: + - "role=validator" + command: | + $BLOCKCHAIN_NODE_BIN + --eve + --name Node05 + --validator + --bootnodes=/ip4/172.36.10.1/tcp/30333/p2p/12D3KooWDB4M6qyuyx5Brhcz1DKbHxr3GCaHowWEcB6SEY5UShvr + $COMMON_NODE_PARAMS + volumes: + - node5:/var/lib/deipd + - "./devSpecRaw.json:/spec.json" + networks: + blockchain: + ipv4_address: 172.36.10.5 + + node6: + profiles: ["node"] + image: "$LOCAL_REPO/$BLOCKCHAIN_NODE_IMG" + labels: + - "role=validator" + command: | + $BLOCKCHAIN_NODE_BIN + --ferdie + --name Node06 + --validator + --bootnodes=/ip4/172.36.10.1/tcp/30333/p2p/12D3KooWDB4M6qyuyx5Brhcz1DKbHxr3GCaHowWEcB6SEY5UShvr + $COMMON_NODE_PARAMS + volumes: + - node6:/var/lib/deipd + - "./devSpecRaw.json:/spec.json" + networks: + blockchain: + ipv4_address: 172.36.10.6 + +volumes: + node1: + node2: + node3: + node4: + node5: + node6: + +networks: + blockchain: + driver: bridge + ipam: + driver: default + config: + - subnet: 172.36.0.0/16 diff --git a/ci/purge-chain.sh b/ci/purge-chain.sh new file mode 100755 index 00000000..f92ca92f --- /dev/null +++ b/ci/purge-chain.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +docker-compose -f docker-compose2.yml -f multi-node.yml run --no-deps node1 appchain-deip purge-chain --base-path /var/lib/deipd --chain dev +docker-compose -f docker-compose2.yml -f multi-node.yml run --no-deps node2 appchain-deip purge-chain --base-path /var/lib/deipd --chain dev +docker-compose -f docker-compose2.yml -f multi-node.yml run --no-deps node3 appchain-deip purge-chain --base-path /var/lib/deipd --chain dev +docker-compose -f docker-compose2.yml -f multi-node.yml run --no-deps node4 appchain-deip purge-chain --base-path /var/lib/deipd --chain dev +docker-compose -f docker-compose2.yml -f multi-node.yml run --no-deps node5 appchain-deip purge-chain --base-path /var/lib/deipd --chain dev +docker-compose -f docker-compose2.yml -f multi-node.yml run --no-deps node6 appchain-deip purge-chain --base-path /var/lib/deipd --chain dev diff --git a/ci/single-node.yml b/ci/single-node.yml new file mode 100644 index 00000000..015b3080 --- /dev/null +++ b/ci/single-node.yml @@ -0,0 +1,27 @@ +version: "3.3" + +services: + node1: + image: "$LOCAL_REPO/$BLOCKCHAIN_NODE_IMG" + labels: + - "bootnode=true" + - "role=nominator" + command: | + $BLOCKCHAIN_NODE_BIN + --validator + --chain=dev + --base-path=/var/lib/deipd + --ws-external --rpc-external --rpc-methods=Unsafe + --offchain-worker=WhenValidating + --enable-offchain-indexing=true + -lpallet_deip_proposal=debug + -lpallet_deip_dao=debug + -l=txpool=trace,runtime=trace,offchain=trace + volumes: + - node1:/var/lib/deipd + ports: + - "9944:9944" + - "9933:9933" + +volumes: + node1: