diff --git a/Cargo.lock b/Cargo.lock index 2d777c8..12fbf93 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4219,6 +4219,7 @@ dependencies = [ "clap", "eyre", "index-maker", + "openssl", "serde", "serde_json", "symm-core", diff --git a/Dockerfile b/Dockerfile index a8c3a2f..770ba28 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,6 +17,9 @@ RUN cargo build --release --target=x86_64-unknown-linux-musl --features alpine-d # Build tracker RUN cargo build --release -p tracker --target=x86_64-unknown-linux-musl --features alpine-deploy +# Build migrate_persistence +RUN cargo build --release -p migrate_persistence --target=x86_64-unknown-linux-musl --features alpine-deploy + # Stage 2: Create the final, minimal runtime image FROM --platform=linux/amd64 alpine:3.22 @@ -26,6 +29,7 @@ RUN apk add --no-cache ca-certificates COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/index-maker ./ COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/tracker ./ +COPY --from=builder /app/target/x86_64-unknown-linux-musl/release/migrate_persistence ./ COPY --from=builder /app/configs ./configs CMD ["./index-maker", "-b", "0.0.0.0:3000", "-c", "configs", "quote-server"] diff --git a/apps/migrate_persistence/Cargo.toml b/apps/migrate_persistence/Cargo.toml index bb8a9e2..1c5bfe4 100644 --- a/apps/migrate_persistence/Cargo.toml +++ b/apps/migrate_persistence/Cargo.toml @@ -3,10 +3,14 @@ name = "migrate_persistence" version = "0.1.0" edition = "2021" +[features] +alpine-deploy = ["openssl/vendored"] + [dependencies] +clap = { workspace = true} eyre = { workspace = true } +index-maker = { workspace = true } +openssl = { workspace = true, optional = true } serde = { workspace = true } serde_json = { workspace = true } -clap = { workspace = true} -index-maker = { workspace = true } symm-core = { workspace = true } diff --git a/deploy_templates/docker-compose.prod.yaml b/deploy_templates/docker-compose.prod.yaml index 5f28a14..a4fd873 100644 --- a/deploy_templates/docker-compose.prod.yaml +++ b/deploy_templates/docker-compose.prod.yaml @@ -96,6 +96,21 @@ services: restart: unless-stopped + +# migrate-persistence: +# platform: linux/amd64 +# image: ${DOCKER_IMAGE_NAME} +# ports: [] +# +# command: ["./migrate_persistence", "--file", "persistence/InvoiceManager.json" ] +# +# environment: +# RUST_LOG: ${RUST_LOG} +# +# volumes: +# - ./persistence_migration:/app/persistence +# + # index-maker-tracker: # platform: linux/amd64 # image: ${DOCKER_IMAGE_NAME}