How sachinkondawar/containershield works
ContainerShield is a security dashboard for Docker inventory, image and source-code scanning, scan history, and AI-assisted interpretation of findings. The main workflow is: users inspect their Docker host or start a scan; the frontend calls the backend API; scan findings and history are returned for review, and the assistant answers questions grounded in stored findings. The provided tree contains only the frontend, so backend services and integrations are represented from README documentation, not sampled source.
Main entry points: App.jsx Routes and providers · dockerService.js Docker API client · NewScan.jsx Image scan setup · Dashboard.jsx Security dashboard
Components 20
Application shell
- Routes and providers
frontend/src/App.jsx - Security dashboard
frontend/src/pages/Dashboard.jsx
Docker inventory
- Container and image views
frontend/src/pages/Containers.jsx - Inventory details
frontend/src/pages/ContainerDetails.jsx - Docker API client
frontend/src/services/dockerService.js
Image scanning
- Image scan setup
frontend/src/pages/NewScan.jsx - Trivy API client
frontend/src/services/trivyService.js - Manifest matching
frontend/src/services/trivyService.js
Source and assistant
- Source scanner
frontend/src/pages/SourceScanner.jsx - Semgrep API client
frontend/src/services/semgrepService.js - Security assistant
frontend/src/pages/Assistant.jsx - Chat API client
frontend/src/services/chatService.js
Scan results
- Scan history and details
frontend/src/pages/ScanHistory.jsx - Scan history API client
frontend/src/services/scanService.js
Other components
- Security operator
- Spring Boot API
- Trivy scanner
- Semgrep scanner
- Ollama model
- PostgreSQL
Connections 28
- Security operator → Routes and providers: uses
- Routes and providers → Security dashboard: routes to
- Routes and providers → Container and image views: routes to
- Routes and providers → Inventory details: routes to
- Routes and providers → Image scan setup: routes to
- Routes and providers → Source scanner: routes to
- Routes and providers → Security assistant: routes to
- Routes and providers → Scan history and details: routes to
- Security dashboard → Docker API client: requests inventory
- Security dashboard → Scan history API client: requests summaries
- Container and image views → Docker API client: requests inventory
- Inventory details → Docker API client: requests details
- Image scan setup → Docker API client: loads images
- Image scan setup → Trivy API client: starts scan
- Image scan setup → Manifest matching: submits manifest
- Manifest matching → Spring Boot API: posts scan and file
- Trivy API client → Spring Boot API: requests image scan
- Docker API client → Spring Boot API: requests Docker data
- Source scanner → Semgrep API client: starts source scan
- Semgrep API client → Spring Boot API: requests source scan
- Security assistant → Chat API client: asks question
- Chat API client → Spring Boot API: sends chat request
- Scan history and details → Scan history API client: loads scan records
- Scan history API client → Spring Boot API: requests history
- Spring Boot API → Trivy scanner: runs image analysis
- Spring Boot API → Semgrep scanner: runs source analysis
- Spring Boot API → Ollama model: requests grounded answer
- Spring Boot API → PostgreSQL: stores and reads findings