Files
warehouse13/docs/FEATURES.md
2025-10-14 23:32:38 -05:00

5.8 KiB

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:

# 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:

# Generate 25 artifacts (default)
python seed.py

# Generate specific number
python seed.py 100

# Clear all data
python seed.py clear

Advanced Usage:

# 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