Some checks failed
API Endpoint Tests / test-api-endpoints (push) Successful in 15s
Blockchain Synchronization Verification / sync-verification (push) Failing after 1s
CLI Tests / test-cli (push) Failing after 5s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Successful in 3s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 4s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Has been skipped
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Successful in 3s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped
Cross-Node Transaction Testing / transaction-test (push) Successful in 12s
Deploy to Testnet / deploy-testnet (push) Successful in 1m12s
Documentation Validation / validate-docs (push) Successful in 11s
Documentation Validation / validate-policies-strict (push) Successful in 6s
Integration Tests / test-service-integration (push) Successful in 2m39s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 2s
Multi-Node Stress Testing / stress-test (push) Successful in 2s
Node Failover Simulation / failover-test (push) Successful in 2s
P2P Network Verification / p2p-verification (push) Successful in 2s
Package Tests / Python package - aitbc-agent-sdk (push) Failing after 30s
Package Tests / Python package - aitbc-core (push) Successful in 14s
Package Tests / Python package - aitbc-crypto (push) Successful in 8s
Package Tests / Python package - aitbc-sdk (push) Successful in 9s
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 7s
Package Tests / JavaScript package - aitbc-token (push) Successful in 19s
Python Tests / test-python (push) Successful in 14s
Security Scanning / security-scan (push) Failing after 31s
Deploy to Testnet / notify-deployment (push) Successful in 2s
AITBC API Gateway
Routes requests to AITBC microservices.
Service Registry
The gateway routes requests to the following services:
- GPU Service (port 8101):
/gpu/*→ GPU resource management - Marketplace Service (port 8102):
/marketplace/*→ GPU marketplace - Agent Service (port 8103):
/agent/*→ Agent operations - Trading Service (port 8104):
/trading/*→ Trading operations - Governance Service (port 8105):
/governance/*→ Governance operations - Coordinator API (port 8000):
/coordinator/*→ Coordinator API (default)
Installation
cd /opt/aitbc
poetry install --with api-gateway
Running
# Development
python -m api_gateway.main
# Production (systemd)
sudo systemctl start api-gateway
sudo systemctl enable api-gateway
Testing
Prerequisites
- All microservices installed via Poetry
- At least one microservice running (e.g., GPU service)
- Microservice database created (if testing that service)
Start Gateway (Development)
python -m api_gateway.main
Health Check
curl http://localhost:8080/health
Expected response:
{"status": "healthy", "service": "api-gateway"}
Service Registry
curl http://localhost:8080/services
Expected response:
{
"services": [
{
"name": "gpu",
"url": "http://localhost:8101",
"health_check": "/health",
"routes": ["/gpu/*"]
},
{
"name": "marketplace",
"url": "http://localhost:8102",
"health_check": "/health",
"routes": ["/marketplace/*"]
},
{
"name": "trading",
"url": "http://localhost:8104",
"health_check": "/health",
"routes": ["/trading/*"]
},
{
"name": "governance",
"url": "http://localhost:8105",
"health_check": "/health",
"routes": ["/governance/*"]
}
]
}
Test Routing to GPU Service
-
Start GPU service in another terminal:
python -m gpu_service.main -
Test through gateway:
curl http://localhost:8080/gpu/health
Expected response:
{"status": "healthy", "service": "gpu-service"}
Test Routing to Marketplace Service
-
Start Marketplace service in another terminal:
python -m marketplace_service.main -
Test through gateway:
curl http://localhost:8080/marketplace/health
Expected response:
{"status": "healthy", "service": "marketplace-service"}
Test Routing to Trading Service
-
Start Trading service in another terminal:
python -m trading_service.main -
Test through gateway:
curl http://localhost:8080/trading/health
Expected response:
{"status": "healthy", "service": "trading-service"}
Test Routing to Governance Service
-
Start Governance service in another terminal:
python -m governance_service.main -
Test through gateway:
curl http://localhost:8080/governance/health
Expected response:
{"status": "healthy", "service": "governance-service"}
For comprehensive testing procedures, see MICROSERVICES_TESTING_GUIDE.md.
Endpoints
GET /health- Health checkGET /services- List registered services/*- Proxy all other requests to appropriate microservice
Configuration
Service URLs are configured in main.py under the SERVICES dictionary.