mirror of
https://github.com/hanzoai/bootnode.git
synced 2026-10-25 02:31:30 +00:00
- Replace eval() with json.loads() in usage tracker (security fix) - Webhook verification fails-closed in production when secret missing - Add Commerce env vars to K8s deployment (URL, API key, webhook secret) - Expose ZAP port 9999 in Dockerfile and K8s service - Replace Stripe env vars with Square in compose.yml - Update privacy/terms pages: Stripe→Square via Hanzo Commerce - Add full billing API client module to web/lib/api.ts (17 endpoints) - Fix hardcoded localhost URLs in dashboard/analytics/organization pages - Add production webhook rejection test (57 tests passing)
29 lines
919 B
Docker
29 lines
919 B
Docker
# syntax=docker/dockerfile:1
|
|
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Install system dependencies + kubectl for fleet management
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
curl \
|
|
&& curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \
|
|
&& install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl \
|
|
&& rm kubectl \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install uv for faster dependency installation
|
|
RUN pip install uv
|
|
|
|
# Copy project files
|
|
COPY pyproject.toml README.md ./
|
|
COPY bootnode/ bootnode/
|
|
|
|
# Install dependencies
|
|
# Hanzo SDKs are optional - in K8s, the KMS operator injects secrets as env vars
|
|
RUN uv pip install --system -e .
|
|
|
|
# Run the application (8000=HTTP API, 9999=ZAP Cap'n Proto RPC)
|
|
EXPOSE 8000 9999
|
|
CMD ["uvicorn", "bootnode.main:app", "--host", "0.0.0.0", "--port", "8000"]
|