Files
bootnode/operator/Dockerfile
T
zeekay 0aa9c4e346 feat: add Explorer + MPC product pages, fleet management, operator, Helm charts, and CI/CD
- Add Explorer product page with branded block explorer deployment, contract
  verification, Etherscan-compatible API, and multi-chain support
- Add MPC product page with deep Lux MPC integration: CGGMP21 (ECDSA),
  FROST (EdDSA), LSS resharing, 15+ chain support, threshold signing API
- Update landing page with 6-product grid (Node, Data, Wallets, Explorer,
  MPC, Rollups) and 8 API cards including Explorer API and MPC Signing
- Update navbar and command menu with Explorer and MPC products
- Add Lux fleet management dashboard, observability, and services pages
- Add AI chat component and unified navigation with org switcher
- Add Kubernetes operator (Rust) for multi-chain node lifecycle management
- Add Lux Helm charts with genesis configs for devnet/testnet/mainnet
- Add docker-release.yml CI/CD pipeline for automated DOKS deployment
- Add monitoring, network policies, web deployments, and ingress updates
- Refactor API: fleet management, billing tracker, observability endpoints
- Update brand config, API client, and infrastructure manifests
2026-03-12 14:48:40 -07:00

53 lines
1.2 KiB
Docker

# Multi-stage build for bootnode-operator
# Stage 1: Build the Rust binary
FROM rust:1.88-bookworm AS builder
RUN apt-get update && apt-get install -y \
pkg-config \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /build
# Limit parallelism to reduce memory usage
ENV CARGO_BUILD_JOBS=2
# Copy manifest first for dependency caching
COPY Cargo.toml Cargo.lock ./
# Create dummy source for dependency caching
RUN mkdir -p src/drivers && \
echo "fn main() {}" > src/main.rs
# Build dependencies only (cached layer)
RUN cargo build --release 2>/dev/null || true
# Copy actual source code
COPY src/ src/
# Touch to invalidate cache
RUN touch src/main.rs
# Build the operator
RUN cargo build --release
# Stage 2: Minimal runtime image
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y \
ca-certificates \
libssl3 \
&& rm -rf /var/lib/apt/lists/*
# Create non-root user
RUN groupadd -f bootnode && useradd -r -s /bin/false -g bootnode bootnode
COPY --from=builder /build/target/release/bootnode-operator /usr/local/bin/bootnode-operator
RUN chmod +x /usr/local/bin/bootnode-operator
USER bootnode
EXPOSE 8080 8081
ENTRYPOINT ["/usr/local/bin/bootnode-operator"]