# Features Overview ## Core Features ### Storage & Backend - **Multi-format Support**: CSV, JSON, binary files, and PCAP (packet capture) files - **Dual Storage Backend**: - **AWS S3** for cloud deployments - **MinIO** for air-gapped/self-hosted deployments - **Automatic Backend Selection**: Based on deployment mode feature flag - **Storage Abstraction**: Seamlessly switch between S3 and MinIO via configuration ### Database & Metadata - **PostgreSQL Database**: Stores all artifact metadata - **Rich Metadata Support**: - Test information (name, suite, configuration, result) - Custom metadata (JSON format) - Tags for categorization - File versioning support - Timestamps and audit trail ### API Features - **RESTful API**: Built with FastAPI - **File Operations**: - Upload with metadata - Download (direct or presigned URLs) - Delete - Query with filters - **Advanced Querying**: - Filter by filename, file type, test name, test suite, test result - Tag-based filtering - Date range queries - Pagination support - **Auto-generated Documentation**: Swagger UI and ReDoc ### Feature Flags #### Deployment Mode Toggle between cloud and air-gapped environments: ```bash # Air-gapped mode (default) DEPLOYMENT_MODE=air-gapped # Automatically uses MinIO for storage # Cloud mode DEPLOYMENT_MODE=cloud # Automatically uses AWS S3 for storage ``` **Benefits**: - Single codebase for both deployment scenarios - Automatic backend configuration - Easy environment switching - No code changes required ### Test Utilities #### Seed Data Generation Generate realistic test data for development and testing: **Quick Usage**: ```bash # Generate 25 artifacts (default) python seed.py # Generate specific number python seed.py 100 # Clear all data python seed.py clear ``` **Advanced Usage**: ```bash # Using the module directly python -m utils.seed_data generate --count 50 # Clear all artifacts python -m utils.seed_data clear ``` **Generated Data Includes**: - CSV files with test results - JSON configuration files - Binary test data files - PCAP network capture files - Realistic metadata: - Test names and suites - Pass/fail/skip/error results - Random tags - Test configurations - Version information - Timestamps (last 30 days) ### Frontend (Angular 19) **Modern Web Interface**: - Built with Angular 19 standalone components - Material Design theming and layout - Responsive design **Key Components**: - **Artifact List**: Browse and manage artifacts with pagination - **Upload Form**: Upload files with metadata input - **Query Interface**: Advanced filtering and search - **Detail View**: View full artifact information - **Download/Delete**: Quick actions **Features**: - Real-time deployment mode indicator - File type icons and badges - Result status chips (pass/fail/skip/error) - Responsive data tables - Drag-and-drop file upload ### Deployment #### Docker Support - **Dockerized Application**: Single container for API - **Docker Compose**: Complete stack (API + PostgreSQL + MinIO) - **Multi-stage Builds**: Optimized image size #### Kubernetes/Helm - **Single Helm Chart**: Deploy entire stack - **Configurable Values**: Resources, replicas, storage - **Auto-scaling Support**: HPA for production - **Health Checks**: Liveness and readiness probes #### CI/CD - **GitLab CI Pipeline**: Automated testing and deployment - **Multi-environment**: Dev, staging, production - **Manual Gates**: Control production deployments - **Container Registry**: Automatic image building ### Security & Reliability **Application**: - Non-root container user - Health check endpoints - Structured logging - Error handling and rollback **Storage**: - Presigned URLs for secure downloads - UUID-based file naming (prevents conflicts) - Automatic bucket creation **Database**: - Connection pooling - Transaction management - Indexed queries for performance ### Monitoring & Observability **Health Checks**: - `/health` endpoint for liveness - Database connectivity check - Storage backend verification **Logging**: - Structured logging format - Configurable log levels - Request/response logging **Metrics** (Future): - Prometheus endpoint - Upload/download metrics - Storage usage tracking ## Feature Comparison Matrix | Feature | Cloud Mode | Air-Gapped Mode | |---------|-----------|-----------------| | Storage Backend | AWS S3 | MinIO | | Database | RDS/Self-hosted PostgreSQL | Self-hosted PostgreSQL | | Authentication | IAM/OAuth | Internal | | Deployment | EKS/Cloud K8s | On-premise K8s | | Cost Model | Pay-per-use | Fixed infrastructure | | Scalability | Unlimited | Hardware-limited | | Internet Required | Yes | No | ## Use Cases ### Test Automation - Store test execution results (CSV) - Archive test configurations (JSON) - Track test history and trends - Query by test suite, result, date ### Network Testing - Store packet captures (PCAP) - Associate captures with test runs - Query by tags and metadata - Download for analysis ### Build Artifacts - Store binary test data - Version control for test files - Track across builds - Query by version ### Compliance & Audit - Immutable artifact storage - Timestamp tracking - Metadata for traceability - Easy retrieval for audits ## Future Enhancements ### Planned Features - [ ] Authentication & Authorization (OAuth, RBAC) - [ ] File preview in UI - [ ] Bulk upload API - [ ] Advanced analytics dashboard - [ ] Webhook notifications - [ ] Full-text search (Elasticsearch) - [ ] Automatic artifact retention policies - [ ] Data export/import tools - [ ] Performance metrics dashboard - [ ] API rate limiting ### Under Consideration - [ ] Multi-tenant support - [ ] Artifact comparison tools - [ ] Integration with CI/CD systems - [ ] Automated report generation - [ ] Machine learning for test prediction - [ ] Distributed tracing - [ ] Artifact deduplication - [ ] Cost analysis dashboard