Some checks failed
API Endpoint Tests / test-api-endpoints (push) Successful in 10s
Blockchain Synchronization Verification / sync-verification (push) Failing after 3s
CLI Tests / test-cli (push) Failing after 4s
Documentation Validation / validate-docs (push) Successful in 8s
Documentation Validation / validate-policies-strict (push) Successful in 4s
Integration Tests / test-service-integration (push) Successful in 38s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 2s
P2P Network Verification / p2p-verification (push) Successful in 3s
Security Scanning / security-scan (push) Successful in 40s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 15s
Smart Contract Tests / lint-solidity (push) Successful in 8s
- Relocate blockchain-event-bridge README content to docs/apps/blockchain/blockchain-event-bridge.md - Relocate blockchain-explorer README content to docs/apps/blockchain/blockchain-explorer.md - Replace app READMEs with redirect notices pointing to new documentation location - Consolidate documentation in central docs/ directory for better organization
224 lines
4.7 KiB
Markdown
224 lines
4.7 KiB
Markdown
# Plugin Marketplace
|
|
|
|
## Status
|
|
✅ Operational
|
|
|
|
## Overview
|
|
Marketplace plugin for discovering, installing, and managing AITBC plugins and extensions.
|
|
|
|
## Architecture
|
|
|
|
### Core Components
|
|
- **Plugin Catalog**: Catalog of available plugins
|
|
- **Plugin Installer**: Handles plugin installation and updates
|
|
- **Dependency Manager**: Manages plugin dependencies
|
|
- **Version Manager**: Handles plugin versioning
|
|
- **License Manager**: Manages plugin licenses
|
|
|
|
## Quick Start (End Users)
|
|
|
|
### Prerequisites
|
|
- Python 3.13+
|
|
- Internet access for plugin downloads
|
|
- Sufficient disk space for plugins
|
|
|
|
### Installation
|
|
```bash
|
|
cd /opt/aitbc/apps/plugin-marketplace
|
|
.venv/bin/pip install -r requirements.txt
|
|
```
|
|
|
|
### Configuration
|
|
Set environment variables in `.env`:
|
|
```bash
|
|
PLUGIN_REGISTRY_URL=https://plugins.aitbc.com
|
|
INSTALLATION_PATH=/opt/aitbc/plugins
|
|
AUTO_UPDATE_ENABLED=false
|
|
```
|
|
|
|
### Running the Service
|
|
```bash
|
|
.venv/bin/python main.py
|
|
```
|
|
|
|
## Developer Guide
|
|
|
|
### Development Setup
|
|
1. Clone the repository
|
|
2. Create virtual environment: `python -m venv .venv`
|
|
3. Install dependencies: `pip install -r requirements.txt`
|
|
4. Configure plugin registry
|
|
5. Run tests: `pytest tests/`
|
|
|
|
### Project Structure
|
|
```
|
|
plugin-marketplace/
|
|
├── src/
|
|
│ ├── plugin_catalog/ # Plugin catalog
|
|
│ ├── plugin_installer/ # Plugin installation
|
|
│ ├── dependency_manager/ # Dependency management
|
|
│ ├── version_manager/ # Version management
|
|
│ └── license_manager/ # License management
|
|
├── tests/ # Test suite
|
|
└── pyproject.toml # Project configuration
|
|
```
|
|
|
|
### Testing
|
|
```bash
|
|
# Run all tests
|
|
pytest tests/
|
|
|
|
# Run installer tests
|
|
pytest tests/test_installer.py
|
|
|
|
# Run dependency manager tests
|
|
pytest tests/test_dependencies.py
|
|
```
|
|
|
|
## API Reference
|
|
|
|
### Plugin Catalog
|
|
|
|
#### List Plugins
|
|
```http
|
|
GET /api/v1/marketplace/plugins?category=analytics&limit=20
|
|
```
|
|
|
|
#### Get Plugin Details
|
|
```http
|
|
GET /api/v1/marketplace/plugins/{plugin_id}
|
|
```
|
|
|
|
#### Search Plugins
|
|
```http
|
|
POST /api/v1/marketplace/plugins/search
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"query": "analytics",
|
|
"filters": {
|
|
"category": "string",
|
|
"version": "string"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Plugin Installation
|
|
|
|
#### Install Plugin
|
|
```http
|
|
POST /api/v1/marketplace/plugins/install
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"plugin_id": "string",
|
|
"version": "string",
|
|
"auto_dependencies": true
|
|
}
|
|
```
|
|
|
|
#### Uninstall Plugin
|
|
```http
|
|
DELETE /api/v1/marketplace/plugins/{plugin_id}
|
|
```
|
|
|
|
#### Update Plugin
|
|
```http
|
|
POST /api/v1/marketplace/plugins/{plugin_id}/update
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"version": "string"
|
|
}
|
|
```
|
|
|
|
#### Get Installation Status
|
|
```http
|
|
GET /api/v1/marketplace/plugins/{plugin_id}/status
|
|
```
|
|
|
|
### Dependencies
|
|
|
|
#### Get Plugin Dependencies
|
|
```http
|
|
GET /api/v1/marketplace/plugins/{plugin_id}/dependencies
|
|
```
|
|
|
|
#### Resolve Dependencies
|
|
```http
|
|
POST /api/v1/marketplace/dependencies/resolve
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"plugin_ids": ["plugin1", "plugin2"]
|
|
}
|
|
```
|
|
|
|
### Versions
|
|
|
|
#### List Plugin Versions
|
|
```http
|
|
GET /api/v1/marketplace/plugins/{plugin_id}/versions
|
|
```
|
|
|
|
#### Get Version Compatibility
|
|
```http
|
|
GET /api/v1/marketplace/plugins/{plugin_id}/compatibility?version=1.0.0
|
|
```
|
|
|
|
### Licenses
|
|
|
|
#### Validate License
|
|
```http
|
|
POST /api/v1/marketplace/licenses/validate
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"plugin_id": "string",
|
|
"license_key": "string"
|
|
}
|
|
```
|
|
|
|
#### Get License Info
|
|
```http
|
|
GET /api/v1/marketplace/plugins/{plugin_id}/license
|
|
```
|
|
|
|
## Configuration
|
|
|
|
### Environment Variables
|
|
- `PLUGIN_REGISTRY_URL`: URL for plugin registry
|
|
- `INSTALLATION_PATH`: Path for plugin installation
|
|
- `AUTO_UPDATE_ENABLED`: Enable automatic plugin updates
|
|
- `MAX_CONCURRENT_INSTALLS`: Maximum concurrent installations
|
|
|
|
### Plugin Categories
|
|
- **Analytics**: Data analysis and reporting plugins
|
|
- **Security**: Security scanning and monitoring plugins
|
|
- **Infrastructure**: Infrastructure management plugins
|
|
- **Trading**: Trading and exchange plugins
|
|
|
|
### Installation Parameters
|
|
- **Installation Path**: Directory for plugin installation
|
|
- **Dependency Resolution**: Automatic dependency handling
|
|
- **Version Constraints**: Version compatibility checks
|
|
|
|
## Troubleshooting
|
|
|
|
**Plugin installation failed**: Check plugin compatibility and dependencies.
|
|
|
|
**License validation failed**: Verify license key and plugin ID.
|
|
|
|
**Dependency resolution failed**: Check dependency conflicts and versions.
|
|
|
|
**Auto-update not working**: Verify auto-update configuration and registry connectivity.
|
|
|
|
## Security Notes
|
|
|
|
- Validate plugin signatures before installation
|
|
- Scan plugins for security vulnerabilities
|
|
- Use HTTPS for plugin downloads
|
|
- Implement plugin sandboxing
|
|
- Regularly update plugins for security patches
|
|
- Monitor for malicious plugin behavior
|