difftreelog
Merge pull request #984 from UniqueNetwork/dev/baedeker
in: master
Baedeker helper script
10 files changed
.baedeker/.gitignorediffbeforeafterboth--- /dev/null
+++ b/.baedeker/.gitignore
@@ -0,0 +1,4 @@
+/.bdk-env
+/rewrites.jsonnet
+/vendor
+/baedeker-library
.baedeker/down.shdiffbeforeafterboth--- /dev/null
+++ b/.baedeker/down.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+set -e
+BDK_DIR=$(dirname $(readlink -f "$0"))
+cd $BDK_DIR/.bdk-env
+docker compose down -v --remove-orphans
+rm -rf discover.env secret specs
.baedeker/rewrites.example.jsonnetdiffbeforeafterbothno content
.baedeker/up.shdiffbeforeafterboth--- /dev/null
+++ b/.baedeker/up.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+set -e
+BDK_DIR=$(dirname $(readlink -f "$0"))
+RUST_LOG=info baedeker --spec=docker -J$BDK_DIR --generator=docker_compose=$BDK_DIR/.bdk-env --generator=docker_compose_discover=$BDK_DIR/.bdk-env/discover.env --secret=file=$BDK_DIR/.bdk-env/secret --tla-str=relay_spec=rococo-local --input-modules='lib:baedeker-library/ops/nginx.libsonnet' --input-modules='lib:baedeker-library/ops/devtools.libsonnet' --tla-str=repoDir=$(realpath $BDK_DIR/..) $@ $BDK_DIR/rewrites.jsonnet
+cd $BDK_DIR/.bdk-env
+docker compose up -d --wait --remove-orphans
.envrcdiffbeforeafterboth--- /dev/null
+++ b/.envrc
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+# Load .envrc from parent directories
+source_up_if_exists
+# Common variables from .env
+dotenv
+
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+RESET='\033[0m'
+
+dep_not_found=false
+function check_bdk {
+ if ! has $1; then
+ echo -e "${RED}$1 not found (wanted for beadeker discovery)${RESET}"
+ dep_not_found=true
+ fi
+}
+
+watch_file .baedeker/.bdk-env/discover.env
+if test -f .baedeker/.bdk-env/discover.env; then
+ check_bdk baedeker
+ check_bdk docker
+ check_bdk jq
+ if $dep_not_found; then
+ echo -e "${RED}Not performing bdk discovery${RESET}"
+ exit 0
+ fi
+
+ echo -e "${GREEN}Baedeker env updated${RESET}"
+ nginx_id=$(docker compose -f $PWD/.bdk-env/docker-compose.yml ps --format=json | jq -r '.[] | select(.Service == "nginx") | .ID' -e)
+ if ! [ $? -eq 0 ]; then
+ echo -e "${RED}Nginx container not found${RESET}"
+ exit 0
+ fi
+ nginx_ip=$(docker inspect $nginx_id | jq -r -e '.[0].NetworkSettings.Networks[].IPAddress')
+ if ! [ $? -eq 0 ]; then
+ echo -e "${RED}Nginx container network misconfigured?${RESET}"
+ exit 0
+ fi
+ tmpenv=$(mktemp)
+ cat .baedeker/.bdk-env/discover.env | sed "s|BALANCER_URL|$nginx_ip|g" > $tmpenv
+ dotenv $tmpenv
+ echo -e "${GREEN}Enjoy your baedeker networks at $(echo $BDK_BALANCER || sed "s|BALANCER_URL|$nginx_ip|g")${RESET}"
+fi
launch-config-full.jsondiffbeforeafterboth--- a/launch-config-full.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{
- "relaychain": {
- "bin": "../polkadot/target/release/polkadot",
- "chain": "westend-local",
- "nodes": [
- {
- "name": "alice",
- "rpcPort": 9844,
- "port": 30444,
- "flags": [
- "-lparachain::candidate_validation=debug",
- "-lxcm=trace"
- ]
- },
- {
- "name": "bob",
- "rpcPort": 9855,
- "port": 30555,
- "flags": [
- "-lparachain::candidate_validation=debug",
- "-lxcm=trace"
- ]
- },
- {
- "name": "charlie",
- "rpcPort": 9866,
- "port": 30666,
- "flags": [
- "-lparachain::candidate_validation=debug"
- ]
- },
- {
- "name": "dave",
- "rpcPort": 9877,
- "port": 30777,
- "flags": [
- "-lparachain::candidate_validation=debug"
- ]
- },
- {
- "name": "eve",
- "rpcPort": 9888,
- "port": 30888,
- "flags": [
- "-lparachain::candidate_validation=debug"
- ]
- }
- ],
- "genesis": {
- "runtime": {
- "runtime_genesis_config": {
- "parachainsConfiguration": {
- "config": {
- "validation_upgrade_frequency": 1,
- "validation_upgrade_delay": 1
- }
- }
- }
- }
- }
- },
- "parachains": [
- {
- "bin": "../unique-chain/target/release/unique-collator",
- "id": "1000",
- "balance": "1000000000000000000000000",
- "nodes": [
- {
- "port": 31200,
- "rpcPort": 9944,
- "name": "alice",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "-lxcm=trace"
- ]
- },
- {
- "port": 31201,
- "rpcPort": 9945,
- "name": "bob",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "-lxcm=trace"
- ]
- }
- ]
- },
- {
- "bin": "../Acala/target/release/acala",
- "id": "2000",
- "chain": "karura-dev",
- "balance": "1000000000000000000000",
- "nodes": [
- {
- "rpcPort": 9946,
- "port": 31202,
- "name": "alice",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "-lxcm=trace"
- ]
- }
- ]
- }
- ],
- "simpleParachains": [],
- "hrmpChannels": [
- {
- "sender": 2000,
- "recipient": 1000,
- "maxCapacity": 8,
- "maxMessageSize": 512
- },
- {
- "sender": 1000,
- "recipient": 2000,
- "maxCapacity": 8,
- "maxMessageSize": 512
- }
- ],
- "finalization": false
-}
launch-config.jsondiffbeforeafterboth--- a/launch-config.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "relaychain": {
- "bin": "../polkadot/target/release/polkadot",
- "chain": "rococo-local",
- "nodes": [
- {
- "name": "alice",
- "rpcPort": 9844,
- "port": 30444,
- "flags": [
- "-lxcm=trace",
- "-ltrace",
- "-lnetlink_proto=info",
- "-lnetlink_sys=info",
- "-lwasmtime_cranelift=info",
- "-ltrie-cache=info",
- "-lwasm-heap=info",
- "-lmultistream_select=warn",
- "-llibp2p_swarm=warn",
- "-llibp2p_ping=warn",
- "-llibp2p_noise=warn",
- "-lwasm_overrides=warn",
- "-lsc_allocator=warn",
- "-ljsonrpsee_core=warn",
- "-lsoketto=warn",
- "-lrpc_metrics=warn",
- "-lsubstrate=warn",
- "-ltrie=debug",
- "--rpc-cors=all",
- "--unsafe-rpc-external"
- ]
- },
- {
- "name": "bob",
- "rpcPort": 9855,
- "port": 30555,
- "flags": [
- "-lparachain::candidate_validation=debug",
- "-lxcm=trace",
- "--rpc-cors=all",
- "--unsafe-rpc-external"
- ]
- },
- {
- "name": "charlie",
- "rpcPort": 9866,
- "port": 30666,
- "flags": [
- "-lparachain::candidate_validation=debug",
- "-lxcm=trace",
- "--rpc-cors=all",
- "--unsafe-rpc-external"
- ]
- },
- {
- "name": "dave",
- "rpcPort": 9877,
- "port": 30777,
- "flags": [
- "-lparachain::candidate_validation=debug",
- "-lxcm=trace",
- "--rpc-cors=all",
- "--unsafe-rpc-external"
- ]
- },
- {
- "name": "eve",
- "rpcPort": 9888,
- "port": 30888,
- "flags": [
- "-lparachain::candidate_validation=debug",
- "-lxcm=trace",
- "--rpc-cors=all",
- "--unsafe-rpc-external"
- ]
- }
- ],
- "genesis": {
- "runtime": {
- "runtime_genesis_config": {
- "parachainsConfiguration": {
- "config": {
- "validation_upgrade_frequency": 1,
- "validation_upgrade_delay": 1
- }
- }
- }
- }
- }
- },
- "parachains": [
- {
- "bin": "../unique-chain/target/release/unique-collator",
- "id": 1000,
- "balance": "1000000000000000000000000",
- "nodes": [
- {
- "port": 31200,
- "rpcPort": 9944,
- "name": "alice",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "-lxcm=trace",
- "-lruntime=debug"
- ]
- },
- {
- "port": 31201,
- "rpcPort": 9945,
- "name": "bob",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "-lxcm=trace"
- ]
- },
- {
- "port": 31202,
- "rpcPort": 9946,
- "name": "charlie",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "-lxcm=trace"
- ]
- },
- {
- "port": 31203,
- "rpcPort": 9947,
- "name": "dave",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "-lxcm=trace"
- ]
- },
- {
- "port": 31204,
- "rpcPort": 9948,
- "name": "eve",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "-lxcm=trace"
- ]
- }
- ]
- }
- ],
- "simpleParachains": [],
- "hrmpChannels": [],
- "finalization": false
-}
\ No newline at end of file
launch-testnet-full.shdiffbeforeafterboth--- a/launch-testnet-full.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-cp launch-config-full.json ../polkadot-launch/launch-config-full.json
-
-cd ../polkadot-launch
-yarn install
-yarn build
-yarn start launch-config-full.json
launch-testnet.shdiffbeforeafterboth--- a/launch-testnet.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-cp launch-config.json ../polkadot-launch/launch-config.json
-
-cd ../polkadot-launch
-yarn install
-yarn build
-yarn start launch-config.json
launch-zombienet.tomldiffbeforeafterboth--- a/launch-zombienet.toml
+++ /dev/null
@@ -1,40 +0,0 @@
-# To launch this zombienet out-of-the-box, run `yarn frankenstein` in the `tests` folder.
-
-[settings]
-provider = "native"
-
-[relaychain]
-# RELAY_DIR is an environment variable. If you're launching ZN from the repository's root, you should likely specify it as ../polkadot/
-default_command = "{{RELAY_DIR}}target/release/polkadot"
-default_args = [ "-lparachain::candidate_validation=debug", "-lxcm=trace", ]
-chain = "rococo-local"
-
- [[relaychain.nodes]]
- name = "relay-alice"
- rpc_port = 9844
- p2p_port = 30444
- # Zombienet does not grant the default balance to nodes created with [[nodes]].
- balance = 2000000000000
-
- [[relaychain.node_groups]]
- name = "relay"
- count = 4
-
-[[parachains]]
-id = 1000
-
- [[parachains.collators]]
- name = "alice"
- # PARA_DIR is an environment variable. If you're launching ZN from the repository's root, you should likely specify it as ./
- command = "{{PARA_DIR}}target/release/unique-collator"
- rpc_port = 9944
- p2p_port = 31200
- args = [ "-lxcm=trace", ]
-
- [[parachains.collators]]
- name = "bob"
- # PARA_DIR is an environment variable. If you're launching ZN from the repository's root, you should likely specify it as ./
- command = "{{PARA_DIR}}target/release/unique-collator"
- rpc_port = 9945
- p2p_port = 31201
- args = [ "-lxcm=trace", ]