From fad091c41349697ed76ed344556b83d4eadd26e6 Mon Sep 17 00:00:00 2001 From: Evan Feenstra Date: Wed, 14 Sep 2022 15:01:29 -0700 Subject: [PATCH] broker Dockerfile --- Cargo.toml | 2 +- broker/Cargo.toml | 2 +- broker/Dockerfile | 42 ++++++++++++++++++++++++++++++++++++++++++ broker/README.md | 8 ++++++++ broker/src/run_test.rs | 1 + 5 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 broker/Dockerfile diff --git a/Cargo.toml b/Cargo.toml index 8bad12b..ad62d92 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,6 @@ members = [ "signer", - "broker", "parser", "tester", ] @@ -10,4 +9,5 @@ members = [ exclude = [ "sphinx-key", "persister", + "broker", ] diff --git a/broker/Cargo.toml b/broker/Cargo.toml index fe2df13..46a3d3e 100644 --- a/broker/Cargo.toml +++ b/broker/Cargo.toml @@ -6,6 +6,7 @@ default-run = "sphinx-key-broker" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +sphinx-key-parser = { path = "../parser" } vls-protocol = { git = "https://gitlab.com/lightning-signer/validating-lightning-signer.git" } vls-proxy = { git = "https://gitlab.com/lightning-signer/validating-lightning-signer.git" } vls-frontend = { git = "https://gitlab.com/lightning-signer/validating-lightning-signer.git" } @@ -13,7 +14,6 @@ vls-protocol-client = { git = "https://gitlab.com/lightning-signer/validating-li rumqttd = { git = "https://github.com/Evanfeenstra/rumqtt", branch = "metrics" } pretty_env_logger = "0.4.0" confy = "0.4.0" -sphinx-key-parser = { path = "../parser" } secp256k1 = { version = "0.24.0", features = ["rand-std", "bitcoin_hashes"] } anyhow = {version = "1", features = ["backtrace"]} log = "0.4" diff --git a/broker/Dockerfile b/broker/Dockerfile new file mode 100644 index 0000000..12c1406 --- /dev/null +++ b/broker/Dockerfile @@ -0,0 +1,42 @@ +# Rust as the base image +FROM rust:latest as build + +RUN rustup toolchain install nightly + +RUN rustup component add rustfmt --toolchain nightly-x86_64-unknown-linux-gnu + +# Create a new empty shell project +RUN USER=root cargo new --bin sphinx-key-broker +WORKDIR /sphinx-key-broker + +# Copy parser dep +COPY ../parser ../parser + +# Copy our manifests +COPY ./broker/Cargo.lock ./Cargo.lock +COPY ./broker/Cargo.toml ./Cargo.toml + +# Build only the dependencies to cache them +RUN cargo +nightly build --release +RUN rm src/*.rs + +# Copy the source code +COPY ./broker/src ./src + +# Build for release. +RUN rm ./target/release/deps/sphinx_key_broker* +RUN cargo +nightly build --release + +# The final base image +FROM debian:bullseye-slim + +# get root CA certs +# RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates + +# Copy from the previous build +COPY --from=build /sphinx-key-broker/target/release/sphinx-key-broker /usr/src/sphinx-key-broker +# COPY --from=build /sphinx-key-broker/target/release/sphinx-key-broker/target/x86_64-unknown-linux-musl/release/sphinx-key-broker . + +# rocket +ENV ROCKET_ADDRESS=0.0.0.0 +EXPOSE 8000 diff --git a/broker/README.md b/broker/README.md index 5caeb18..1731fc4 100644 --- a/broker/README.md +++ b/broker/README.md @@ -1,3 +1,11 @@ +### build w docker + +navigate to top level (sphinx-key) + +`docker build -f broker/Dockerfile -t sphinx-key-broker .` + +### test test locally + To run the broker test against the esp32-c3: `cargo run -- --test` diff --git a/broker/src/run_test.rs b/broker/src/run_test.rs index 27baeb1..572769a 100644 --- a/broker/src/run_test.rs +++ b/broker/src/run_test.rs @@ -52,6 +52,7 @@ pub async fn run_test() -> rocket::Rocket { launch_rocket(tx) } +#[allow(dead_code)] pub async fn iteration( id: u16, sequence: u16,