feat: add capnp

Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
2026-02-27 12:15:35 +01:00
parent 3162971c89
commit 749ae245c7
115 changed files with 16596 additions and 31 deletions

View File

@@ -0,0 +1,40 @@
FROM rust:1.84-bookworm AS builder
WORKDIR /app
# Copy workspace manifests first for dependency caching.
COPY Cargo.toml Cargo.lock ./
COPY crates/sq-grpc-interface/Cargo.toml crates/sq-grpc-interface/Cargo.toml
COPY crates/sq-models/Cargo.toml crates/sq-models/Cargo.toml
COPY crates/sq-storage/Cargo.toml crates/sq-storage/Cargo.toml
COPY crates/sq-cluster/Cargo.toml crates/sq-cluster/Cargo.toml
COPY crates/sq-server/Cargo.toml crates/sq-server/Cargo.toml
COPY crates/sq-sdk/Cargo.toml crates/sq-sdk/Cargo.toml
COPY crates/sq-sim/Cargo.toml crates/sq-sim/Cargo.toml
# Stub sources for dependency caching layer.
RUN for d in crates/sq-grpc-interface crates/sq-models crates/sq-storage crates/sq-cluster crates/sq-sdk crates/sq-sim; do \
mkdir -p $d/src && echo "" > $d/src/lib.rs; \
done && \
mkdir -p crates/sq-server/src && echo "fn main() {}" > crates/sq-server/src/main.rs
RUN cargo build --release -p sq-server 2>/dev/null || true
# Copy real sources.
COPY . .
# Touch all source files so cargo rebuilds them.
RUN find crates -name "*.rs" -exec touch {} +
RUN cargo build --release -p sq-server
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/sq-server /usr/local/bin/sq-server
EXPOSE 6060 6062
ENTRYPOINT ["sq-server"]
CMD ["serve"]