updates to get it working

This commit is contained in:
Kyle Montag 2024-11-18 09:17:22 -05:00
parent b3438d7353
commit b693b4bfd1
No known key found for this signature in database
2 changed files with 121 additions and 116 deletions

View File

@ -1,6 +1,6 @@
FROM python:3.9-slim-buster FROM python:3.9-slim-buster
ENV POETRY_VERSION=1.1.12 ENV POETRY_VERSION=1.8.4
RUN useradd --create-home flashbot \ RUN useradd --create-home flashbot \
&& apt-get update \ && apt-get update \
@ -17,8 +17,7 @@ WORKDIR /app/
USER flashbot USER flashbot
RUN poetry config virtualenvs.create false \ RUN poetry install
&& poetry install
COPY --chown=flashbot . /app COPY --chown=flashbot . /app

44
mev
View File

@ -4,15 +4,15 @@ set -e
DB_NAME=mev_inspect DB_NAME=mev_inspect
function get_kube_secret(){ function get_kube_secret() {
kubectl get secrets $1 -o jsonpath="{.data.$2}" | base64 --decode kubectl get secrets $1 -o jsonpath="{.data.$2}" | base64 --decode
} }
function get_kube_db_secret(){ function get_kube_db_secret() {
kubectl get secrets mev-inspect-db-credentials -o jsonpath="{.data.$1}" | base64 --decode kubectl get secrets mev-inspect-db-credentials -o jsonpath="{.data.$1}" | base64 --decode
} }
function db(){ function db() {
host=$(get_kube_secret "mev-inspect-db-credentials" "host") host=$(get_kube_secret "mev-inspect-db-credentials" "host")
username=$(get_kube_secret "mev-inspect-db-credentials" "username") username=$(get_kube_secret "mev-inspect-db-credentials" "username")
password=$(get_kube_secret "mev-inspect-db-credentials" "password") password=$(get_kube_secret "mev-inspect-db-credentials" "password")
@ -23,7 +23,7 @@ function db(){
-- $DB_NAME --host=$host --user=$username -- $DB_NAME --host=$host --user=$username
} }
function redis(){ function redis() {
echo "To continue, enter 'shift + r'" echo "To continue, enter 'shift + r'"
redis_password=$(get_kube_secret "redis" "redis-password") redis_password=$(get_kube_secret "redis" "redis-password")
kubectl run -i --rm --tty \ kubectl run -i --rm --tty \
@ -34,51 +34,51 @@ function redis(){
} }
case "$1" in case "$1" in
db) db)
echo "Connecting to $DB_NAME" echo "Connecting to $DB_NAME"
db db
;; ;;
redis) redis)
echo "Connecting to redis" echo "Connecting to redis"
redis redis
;; ;;
listener) listener)
kubectl exec -ti deploy/mev-inspect -- ./listener $2 kubectl exec -ti deploy/mev-inspect -- ./listener $2
;; ;;
block-list) block-list)
echo "Backfilling blocks from stdin" echo "Backfilling blocks from stdin"
kubectl exec -i deploy/mev-inspect -- poetry run enqueue-block-list kubectl exec -i deploy/mev-inspect -- poetry run enqueue-block-list
;; ;;
backfill) backfill)
after_block_number=$2 after_block_number=$2
before_block_number=$3 before_block_number=$3
echo "Backfilling from $after_block_number to $before_block_number" echo "Backfilling from $after_block_number to $before_block_number"
kubectl exec -ti deploy/mev-inspect -- poetry run enqueue-many-blocks $after_block_number $before_block_number kubectl exec -ti deploy/mev-inspect -- poetry run enqueue-many-blocks $after_block_number $before_block_number
;; ;;
inspect) inspect)
block_number=$2 block_number=$2
echo "Inspecting block $block_number" echo "Inspecting block $block_number"
kubectl exec -ti deploy/mev-inspect -- poetry run inspect-block $block_number kubectl exec -ti deploy/mev-inspect -- poetry run inspect-block $block_number
;; ;;
inspect-many) inspect-many)
after_block_number=$2 after_block_number=$2
before_block_number=$3 before_block_number=$3
echo "Inspecting from block $after_block_number to $before_block_number" echo "Inspecting from block $after_block_number to $before_block_number"
kubectl exec -ti deploy/mev-inspect -- \ kubectl exec -ti deploy/mev-inspect -- \
poetry run inspect-many-blocks $after_block_number $before_block_number poetry run inspect-many-blocks $after_block_number $before_block_number
;; ;;
test) test)
shift shift
echo "Running tests" echo "Running tests"
kubectl exec -ti deploy/mev-inspect -- poetry run pytest tests $@ kubectl exec -ti deploy/mev-inspect -- poetry run pytest tests $@
;; ;;
fetch) fetch)
block_number=$2 block_number=$2
echo "Fetching block $block_number" echo "Fetching block $block_number"
kubectl exec -ti deploy/mev-inspect -- poetry run fetch-block $block_number kubectl exec -ti deploy/mev-inspect -- poetry run fetch-block $block_number
;; ;;
prices) prices)
shift shift
case "$1" in case "$1" in
fetch-all) fetch-all)
@ -96,34 +96,40 @@ case "$1" in
*) *)
echo "prices usage: "$1" {fetch-all}" echo "prices usage: "$1" {fetch-all}"
exit 1 exit 1
;;
esac esac
;; ;;
backfill-export) backfill-export)
after_block=$2 after_block=$2
before_block=$3 before_block=$3
echo "Sending $after_block to $before_block export to queue" echo "Sending $after_block to $before_block export to queue"
kubectl exec -ti deploy/mev-inspect -- poetry run enqueue-many-s3-exports $after_block $before_block kubectl exec -ti deploy/mev-inspect -- poetry run enqueue-many-s3-exports $after_block $before_block
;; ;;
enqueue-s3-export) enqueue-s3-export)
block_number=$2 block_number=$2
echo "Sending $block_number export to queue" echo "Sending $block_number export to queue"
kubectl exec -ti deploy/mev-inspect -- poetry run enqueue-s3-export $block_number kubectl exec -ti deploy/mev-inspect -- poetry run enqueue-s3-export $block_number
;; ;;
s3-export) s3-export)
block_number=$2 block_number=$2
echo "Exporting $block_number" echo "Exporting $block_number"
kubectl exec -ti deploy/mev-inspect -- poetry run s3-export $block_number kubectl exec -ti deploy/mev-inspect -- poetry run s3-export $block_number
;; ;;
exec) migrate)
echo "Applying database migrations"
kubectl exec -ti deploy/mev-inspect -- poetry run alembic upgrade head
;;
exec)
shift shift
kubectl exec -ti deploy/mev-inspect -- $@ kubectl exec -ti deploy/mev-inspect -- $@
;; ;;
*) *)
echo "Usage: "$1" {db|backfill|inspect|test}" echo "Usage: "$1" {db|backfill|inspect|test}"
exit 1 exit 1
;;
esac esac
exit 0 exit 0