Backend: - Add agent_events table (V5) and lifecycle event recording - Add route catalog endpoint (GET /routes/catalog) - Add route metrics endpoint (GET /routes/metrics) - Add agent events endpoint (GET /agents/events-log) - Enrich AgentInstanceResponse with tps, errorRate, activeRoutes, uptimeSeconds - Add TimescaleDB retention/compression policies (V6) Frontend: - Replace custom Mission Control UI with @cameleer/design-system components - Rebuild all pages: Dashboard, ExchangeDetail, RoutesMetrics, AgentHealth, AgentInstance, RBAC, AuditLog, OIDC, DatabaseAdmin, OpenSearchAdmin, Swagger - New LayoutShell with design system AppShell, Sidebar, TopBar, CommandPalette - Consume design system from Gitea npm registry (@cameleer/design-system@0.0.1) - Add .npmrc for scoped registry, update Dockerfile with REGISTRY_TOKEN arg CI: - Pass REGISTRY_TOKEN build-arg to UI Docker build step Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
24 lines
615 B
Docker
24 lines
615 B
Docker
FROM --platform=$BUILDPLATFORM node:22-alpine AS build
|
|
WORKDIR /app
|
|
|
|
ARG REGISTRY_TOKEN
|
|
COPY package.json package-lock.json .npmrc ./
|
|
RUN echo "//gitea.siegeln.net/api/packages/cameleer/npm/:_authToken=${REGISTRY_TOKEN}" >> .npmrc && \
|
|
npm ci && \
|
|
rm -f .npmrc
|
|
|
|
COPY . .
|
|
|
|
ARG VITE_ENV_NAME=PRODUCTION
|
|
ENV VITE_ENV_NAME=$VITE_ENV_NAME
|
|
RUN npm run build
|
|
|
|
FROM nginx:1.27-alpine
|
|
COPY --from=build /app/dist /usr/share/nginx/html
|
|
COPY nginx.conf /etc/nginx/templates/default.conf.template
|
|
|
|
# Default API URL — override via K8s env or docker run -e
|
|
ENV CAMELEER_API_URL=http://cameleer3-server:8081
|
|
|
|
EXPOSE 80
|