mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-08 04:09:23 +00:00
Add initial coordinator e2e tests
This commit is contained in:
52
orchestration/coordinator/Dockerfile
Normal file
52
orchestration/coordinator/Dockerfile
Normal 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"]
|
||||
9
orchestration/coordinator/scripts/entry-dev.sh
Normal file
9
orchestration/coordinator/scripts/entry-dev.sh
Normal 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
|
||||
@@ -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:
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user