Skip to content

Commit

Permalink
add local setup using kurtosis to make it easier to dev locally
Browse files Browse the repository at this point in the history
  • Loading branch information
pk910 committed Jul 7, 2024
1 parent 8ba4667 commit 014a184
Show file tree
Hide file tree
Showing 6 changed files with 86 additions and 1 deletion.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ bin
tmp
example/config/test.yaml
test.yaml
test-*.yaml
test-*.yaml

.hack/devnet/generated-**.yaml
22 changes: 22 additions & 0 deletions .hack/devnet/assertoor.devnet.config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# this overrides settings in the generated config file
# leave out setting you want to take over (endpoints, globalVars)

web:
server:
host: "0.0.0.0"
port: 8080
frontend:
enabled: true
debug: true
pprof: true
api:
enabled: true

validatorNames:
inventoryYaml: "${DEVNET_DIR}/generated-validator-ranges.yaml"

#globalVars:
# additionalGlobalVar: xx

externalTests:
#- file: ./test-playbook1.yaml
7 changes: 7 additions & 0 deletions .hack/devnet/cleanup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ENCLAVE_NAME="${ENCLAVE_NAME:-assertoor}"
kurtosis enclave rm -f "$ENCLAVE_NAME"

echo "Cleaning up generated files..."
rm -f "${__dir}/generated-*.yaml"
14 changes: 14 additions & 0 deletions .hack/devnet/kurtosis.devnet.config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
participants:
- el_type: geth
el_image: ethereum/client-go:stable
cl_type: lighthouse
cl_image: sigp/lighthouse:latest
count: 3
network_params:
seconds_per_slot: 12
additional_services:
- assertoor
snooper_enabled: true
assertoor_params:
run_stability_check: false
run_block_proposal_check: false
31 changes: 31 additions & 0 deletions .hack/devnet/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/bin/bash
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

## Run devnet using kurtosis
ENCLAVE_NAME="${ENCLAVE_NAME:-assertoor}"
if kurtosis enclave inspect "$ENCLAVE_NAME" > /dev/null; then
echo "Kurtosis enclave '$ENCLAVE_NAME' is already up."
else
kurtosis run github.com/ethpandaops/ethereum-package --enclave "$ENCLAVE_NAME" --args-file "${__dir}/kurtosis.devnet.config.yaml"

# Stop assertoor instance within ethereum-package if running
kurtosis service stop "$ENCLAVE_NAME" assertoor > /dev/null || true
fi

# Get generated configs
kurtosis files inspect "$ENCLAVE_NAME" validator-ranges validator-ranges.yaml | tail -n +2 > "${__dir}/generated-validator-ranges.yaml"
kurtosis files inspect "$ENCLAVE_NAME" assertoor-config assertoor-config.yaml | tail -n +2 > "${__dir}/generated-assertoor-config.yaml"

# Inject dev settings
export DEVNET_DIR="${__dir}"
cat "${__dir}/assertoor.devnet.config.yaml" | envsubst > "${__dir}/generated-assertoor-config-custom.yaml"
yq eval-all '. as $item ireduce ({}; . *+ $item)' "${__dir}/generated-assertoor-config.yaml" "${__dir}/generated-assertoor-config-custom.yaml" > "${__dir}/generated-assertoor-config-final.yaml"
mv "${__dir}/generated-assertoor-config-final.yaml" "${__dir}/generated-assertoor-config.yaml"
rm "${__dir}/generated-assertoor-config-custom.yaml"

cat <<EOF
============================================================================================================
Assertoor config at ${__dir}/generated-assertoor-config.yaml
Validator ranges at ${__dir}/generated-validator-ranges.yaml
============================================================================================================
EOF
9 changes: 9 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,12 @@ docs:

clean:
rm -f bin/*

devnet:
.hack/devnet/run.sh

devnet-run: devnet
go run main.go --config .hack/devnet/generated-assertoor-config.yaml

devnet-clean:
.hack/devnet/cleanup.sh

0 comments on commit 014a184

Please sign in to comment.