Enterprise-Grade Testbed for Provability Fabric
- Python 3.8+
- Node.js 18+
- Docker (optional)
- Git
# Clone the repository
git clone https://github.com/provability-fabric/pf-testbed.git
cd pf-testbed
# Install dependencies (automatically detects your platform)
make deps
# Or use the advanced dependency manager
python scripts/manage-deps.py --install
# Start all services
make up
# Run quality checks
make quality-check
# Generate evidence pack
make evidence
# Run security testing
make redteam
# Dependency Management
make deps # Install all dependencies
make deps-clean # Clean and reinstall
make deps-update # Update to latest versions
make deps-audit # Security audit
make deps-report # Generate dependency report
# Development
make build # Build all components
make test # Run all tests
make lint # Code quality checks
make format # Format code
make quality-check # Comprehensive quality validation
# Operations
make up # Start all services
make down # Stop all services
make seed # Seed data and populate indices
make soak # Load testing and performance validation
make redteam # Security testing and adversarial validation
make evidence # Generate evidence pack export
make metering # Generate billing and usage reports
# CI/CD
make ci # Run CI pipeline locally
make cd # Run CD pipeline locally
make deploy # Deploy to target environment
# Use run.bat for Windows environments
run.bat up # Start services
run.bat evidence # Generate evidence
run.bat soak # Run load tests
run.bat redteam # Security testing
run.bat metering # Billing reports
pf-testbed/
├── scripts/manage-deps.py # Advanced dependency manager
├── Makefile # Cross-platform build system
├── .github/workflows/ # CI/CD pipeline
├── .pre-commit-config.yaml # Quality gates
├── docker-compose.yml # Service orchestration
├── testbed/ # Core testbed components
├── external/ # External integrations
└── docs/ # Comprehensive documentation
- Gateway Service - API gateway and routing
- Ingress Controller - Self-serve portal
- Ledger Service - Blockchain and transaction management
- Monitoring Stack - Prometheus, Grafana, and alerting
- Security Tools - Redteam testing and vulnerability scanning
# Clone and setup
git clone <repository-url>
cd pf-testbed
make deps
make quality-check
# Development workflow
make build
make test
make format
make lint
- Python - PEP 8, Black, isort, flake8, mypy
- JavaScript/TypeScript - ESLint, Prettier, type checking
- Testing - >80% code coverage, comprehensive test suites
- Documentation - Clear APIs, examples, and guides
- Documentation - Comprehensive guides and examples
- Issues - GitHub Issues for bug reports and feature requests
- Discussions - Community forums and Q&A
- Security - [email protected] for security issues
- Quick Start Guide -
docs/quickstart.md
- Dependency Management -
DEPENDENCY_MANAGEMENT.md
- API Documentation -
docs/api/
- Architecture Guide -
docs/architecture.md
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Provability Fabric Team - Core development and architecture
- Open Source Community - Dependencies and tools
- Security Researchers - Vulnerability reporting and testing
- Contributors - Code, documentation, and testing