guard/deploy/docker/Dockerfile.edge
loki5512344 15f474486a
feat!: universal redesign — drop Minecraft stack, single-crate architecture
- remove Java plugins (velocity/paper), dashboard, all MC-specific code
  (handshake, death_code, varint, hostname-HMAC); available in history pre-v0.2
- merge crates/* into one package with src/bin/{rampart,rampart-manager,rampart-cli}
- ProtocolHandler trait + registry (no implementations yet), universal PoW kept
- XDP: universal L3/L4 filter (xdp/core/) + pluggable hook API (xdp/hooks/),
  fix IPv6 saddr bug; clang build verified
- docs: bilingual knowledge base (docs/kb/: attacks x4, defense-levels,
  practice x3), rewrite README/architecture for universal concept
- TODO.md v4.0: <=300-line module limit, competitor benchmark section (ref/)
- deploy/CI/docs cleanup: no MC references, new binary names

cargo build/clippy(-D warnings)/test green (55 tests)
2026-08-24 01:50:22 +02:00

27 lines
972 B
Text

FROM rust:slim-bookworm AS builder
RUN apt-get update && apt-get install -y pkg-config libssl-dev clang libelf-dev libbpf-dev linux-libc-dev make && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY Cargo.toml Cargo.lock rustfmt.toml clippy.toml deny.toml build.rs ./
COPY src/ ./src/
COPY xdp/ ./xdp/
# Smoke-check: BPF-программа компилируется clang'ом (не грузится, только сборка)
RUN if command -v clang >/dev/null; then \
mkdir -p /app/target/xdp && \
clang -O2 -g -target bpf -c xdp/core/universal_filter.c -o /app/target/xdp/universal_filter.o; \
fi
RUN cargo build --release --features xdp --bin rampart && \
cp target/release/rampart /app/rampart && \
strip /app/rampart
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y ca-certificates libelf1 && rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/rampart /usr/local/bin/rampart
EXPOSE 25565 9090
ENTRYPOINT ["rampart"]