Files
compliance-scanner-agent/Dockerfile.dashboard
Sharang ParnerkarandClaude Fable 5 fda91b6e29
CI / Check (pull_request) Successful in 5m12s
CI / Detect Changes (pull_request) Has been skipped
CI / Deploy Agent (pull_request) Has been skipped
CI / Deploy Dashboard (pull_request) Has been skipped
CI / Deploy Docs (pull_request) Has been skipped
CI / Deploy MCP (pull_request) Has been skipped
fix(ci): authenticate tramiton fetch in dashboard + mcp image builds
The main deploy after #145 failed on Deploy Dashboard and Deploy MCP: because
compliance-agent (a workspace member) depends on the private tramiton-core git
repo, cargo/dx must resolve it even when building the dashboard or mcp — and
those Dockerfiles had no git auth ("unknown SSH host key"). Deploy Agent (fixed
in #143) succeeded.

Apply the same BuildKit-secret fix to Dockerfile.dashboard (dx build) and
Dockerfile.mcp (cargo build), and pass the secret in the deploy-dashboard and
deploy-mcp jobs. Dockerfile.docs is node-only and unaffected.

Refs #118.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 23:43:13 +02:00

33 lines
1.1 KiB
Docker

FROM rust:1.94-bookworm AS builder
RUN cargo install dioxus-cli --version 0.7.3 --locked
ARG DOCS_URL=/docs
WORKDIR /app
COPY . .
ENV DOCS_URL=${DOCS_URL}
# compliance-agent (a workspace member) depends on the private tramiton-core git
# repo, so the workspace resolve needs it even to build the dashboard.
# Authenticate the fetch with a PAT passed as a BuildKit secret.
RUN --mount=type=secret,id=tramiton_token \
if [ -s /run/secrets/tramiton_token ]; then \
git config --global \
url."https://sharang:$(cat /run/secrets/tramiton_token)@gitea.meghsakha.com/".insteadOf \
"ssh://git@gitea.meghsakha.com:22222/"; \
fi && \
CARGO_NET_GIT_FETCH_WITH_CLI=true dx build --release --package compliance-dashboard
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y ca-certificates libssl3 && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=builder /app/target/dx/compliance-dashboard/release/web/compliance-dashboard /app/compliance-dashboard
COPY --from=builder /app/target/dx/compliance-dashboard/release/web/public /app/public
ENV IP=0.0.0.0
EXPOSE 8080
ENTRYPOINT ["./compliance-dashboard"]