Add initial coordinator e2e tests

This commit is contained in:
Luke Parker
2023-08-01 19:00:48 -04:00
parent e3a70ef0dc
commit d5c787fea2
15 changed files with 314 additions and 6 deletions

View File

@@ -0,0 +1,52 @@
FROM rust:1.71-slim-bookworm as builder
LABEL description="STAGE 1: Build"
# Add files for build
ADD common /serai/common
ADD crypto /serai/crypto
ADD coins /serai/coins
ADD message-queue /serai/message-queue
ADD processor /serai/processor
ADD coordinator /serai/coordinator
ADD substrate /serai/substrate
ADD tests /serai/tests
ADD Cargo.toml /serai
ADD Cargo.lock /serai
ADD AGPL-3.0 /serai
WORKDIR /serai
RUN apt update && apt upgrade -y && apt install -y pkg-config clang libssl-dev
# Add the wasm toolchain
RUN rustup target add wasm32-unknown-unknown
# Mount the caches and build
RUN --mount=type=cache,target=/root/.cargo \
--mount=type=cache,target=/usr/local/cargo/registry \
--mount=type=cache,target=/usr/local/cargo/git \
--mount=type=cache,target=/serai/target \
cd coordinator && \
cargo build --release --all-features && \
mkdir /serai/bin && \
mv /serai/target/release/serai-coordinator /serai/bin
# Prepare Image
FROM debian:bookworm-slim as image
LABEL description="STAGE 2: Copy and Run"
# Upgrade packages and install openssl
RUN apt update && apt upgrade -y && apt install -y libssl-dev
# Switch to a non-root user
RUN useradd --system --create-home --shell /sbin/nologin coordinator
USER coordinator
WORKDIR /home/coordinator
# Copy necessary files to run node
COPY --from=builder --chown=processsor /serai/bin/serai-coordinator /bin/
COPY --from=builder --chown=processsor /serai/AGPL-3.0 .
# Run coordinator
CMD ["serai-coordinator"]

View File

@@ -0,0 +1,9 @@
#!/bin/bash
export MESSAGE_QUEUE_KEY="0000000000000000000000000000000000000000000000000000000000000000"
export MESSAGE_QUEUE_RPC="http://127.0.0.1:2287"
export DB_PATH="./coordinator-db"
export SERAI_HOSTNAME="127.0.0.1"
serai-coordinator

View File

@@ -2,7 +2,7 @@ version: "3.9"
name: serai-dev
volumes:
serai-node:
serai:
serai-alice:
serai-bob:
serai-charlie:
@@ -78,6 +78,17 @@ services:
- "./processor/scripts:/scripts"
entrypoint: /scripts/entry-dev.sh
coordinator:
profiles:
- coordinator
build:
context: ../
dockerfile: ./orchestration/coordinator/Dockerfile
restart: unless-stopped
volumes:
- "./coordinator/scripts:/scripts"
entrypoint: /scripts/entry-dev.sh
# Serai runtime
runtime:
@@ -95,7 +106,7 @@ services:
_serai:
&serai_defaults
restart: unless-stopped
image: serai:dev
# image: serai:dev
profiles:
- _
build:
@@ -107,9 +118,9 @@ services:
volumes:
- "./serai/scripts:/scripts"
serai-node:
serai:
<<: *serai_defaults
hostname: serai-node
hostname: serai
profiles:
- serai
environment:

View File

@@ -3,7 +3,7 @@
export MESSAGE_QUEUE_KEY="0000000000000000000000000000000000000000000000000000000000000000"
export MESSAGE_QUEUE_RPC="http://127.0.0.1:2287"
export DB_PATH="./bitcoin-db"
export DB_PATH="./processor-bitcoin-db"
export ENTROPY="0001020304050607080910111213141516171819202122232425262728293031"
export NETWORK="bitcoin"
export NETWORK_RPC_LOGIN="serai:seraidex"