Watch
1
0
Fork
You've already forked RedFlag
0
RedFlag/docker-compose.yml
Fimeg 487ffa89ef feat: package-centric updates, version timeline, and registry-gap closure (v0.2.0.7)
Lands the long-dropped in-flight work plus two slices of the pinning-mirror direction.

Registry-gap closure (in-flight, was repeatedly dropped):
- Agent resolves canonical artifact hashes from its own signed repo metadata
  (dnf download + rpm header; apt-cache policy+show) — server no longer serves a
  placeholder dnf URL and says so honestly.
- Server pins the agent-reported closure and mints the capability token at the
  dependency-confirmation boundary; receipt updates package status.

Slice 1 — package detail pane:
- GET /updates/:id/fleet (cross-agent view). Detail pane gains Supply Chain card
  (pinned sha256, published/age, age-gate verdict, resolved closure) and Affected
  Agents card (per-host version delta + status, click-to-pivot).

Package-centric Updates list:
- ListAggregatedPackages rollup (GET /packages): one row per package across the
  fleet — agent/version counts, max severity, vuln + hash-pin rollups, status
  breakdown. List view rewritten to package rows that drill into the fleet view.

Slice 2 — version timeline catalog:
- migration 043 package_versions; idempotent upsert populated at scan, enriched at
  approval (OSV posture, publish date, hash) and at closure pin (per-artifact hash).
- GET /updates/:id/versions + Version Timeline card.

UI: description overflow fix, shared table density px-6->px-4, status label cleanup.
Version: 0.2.0.7 across versions.go, docker-compose, Makefile (Makefile was stale at
0.2.0.3/0.2.0).
2026-05-28 20:25:59 -04:00

54 lines
1.1 KiB
YAML

services:
postgres:
image: postgres:16-alpine
container_name: redflag-postgres
volumes:
- postgres-data:/var/lib/postgresql/data
- ./config/.env:/shared/.env:z
ports:
- "31338:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U redflag"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
env_file:
- ./config/.env
server:
build:
context: .
dockerfile: ./server/Dockerfile
args:
BUILD_VERSION: ${BUILD_VERSION:-0.2.0.7}
container_name: redflag-server
volumes:
- server-config:/app/config
- server-data:/app/data
- ./config/.env:/shared/.env:z
depends_on:
postgres:
condition: service_healthy
ports:
- "31337:8080"
command: ["./redflag-server"]
restart: unless-stopped
env_file:
- ./config/.env
web:
build:
context: ./web
dockerfile: Dockerfile
container_name: redflag-web
ports:
- "31336:80"
depends_on:
- server
restart: unless-stopped
volumes:
postgres-data:
server-data:
server-config: