Files
aitbc/apps/aitbc-edge
aitbc b58ca5db7c
Some checks failed
Blockchain Synchronization Verification / sync-verification (push) Waiting to run
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Waiting to run
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Waiting to run
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Waiting to run
Cross-Chain Functionality Tests / aggregate-results (push) Blocked by required conditions
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Waiting to run
Multi-Node Blockchain Health Monitoring / health-check (push) Waiting to run
Node Failover Simulation / failover-test (push) Waiting to run
P2P Network Verification / p2p-verification (push) Waiting to run
API Endpoint Tests / test-api-endpoints (push) Has been cancelled
Coverage Phase 1 (70% Target) / test-coverage-70 (push) Has been cancelled
Coverage Phase 2 (85% Target) / test-coverage-85 (push) Has been cancelled
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Production Tests / Production Integration Tests (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
CLI Tests / test-cli (push) Has been cancelled
Remove zero-address dev mode fallback and harden security: update JWT secret, enforce authentication, add SSL verification option, implement actual resource handlers with system metrics
2026-05-27 12:20:07 +02:00
..

Edge API Service

REST API for AITBC island and edge operations, providing HTTP equivalents for CLI commands.

Overview

The Edge API Service exposes island and edge operations via REST API, following the coordinator-api pattern. It integrates with the existing GPU service and blockchain node RPC.

Architecture

  • Port: 8103
  • Database: PostgreSQL (aitbc_edge)
  • Communication:
    • Blockchain node RPC: localhost:8006
    • GPU service: localhost:8101
  • Authentication: JWT tokens (same as coordinator-api)

Installation

cd /opt/aitbc/apps/edge-api
pip install -e .

Database Setup

Create PostgreSQL database and user:

sudo -u postgres psql
CREATE DATABASE aitbc_edge;
CREATE USER aitbc_edge WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE aitbc_edge TO aitbc_edge;
\q

Running

Development

cd /opt/aitbc/apps/edge-api
python -m edge_api.main

Production (systemd)

# Install service
sudo cp edge-api.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable edge-api
sudo systemctl start edge-api

API Endpoints

Health Checks

  • GET /health - Health check
  • GET /ready - Readiness check

Island Operations (Phase 2)

  • POST /v1/islands/join - Join an island
  • POST /v1/islands/leave - Leave an island
  • GET /v1/islands - List all islands
  • GET /v1/islands/{island_id} - Get island details
  • POST /v1/islands/bridge - Request bridge

GPU Operations (Phase 3)

  • POST /v1/gpu/listings - List GPU on island
  • GET /v1/gpu/listings - Get GPU listings
  • DELETE /v1/gpu/listings/{listing_id} - Remove GPU listing
  • GET /v1/gpu/scan - Scan GPUs

Edge Database Operations (Phase 4)

  • POST /v1/database/init - Initialize edge database
  • GET /v1/database - Get edge database status
  • DELETE /v1/database - Delete edge database
  • POST /v1/database/sync - Sync edge database

Edge Serve Operations (Phase 5)

  • POST /v1/serve/start - Start serving
  • POST /v1/serve/stop - Stop serving
  • GET /v1/serve/status - Get serve status
  • GET /v1/serve/requests - Get pending requests
  • POST /v1/serve/requests/{request_id}/complete - Complete request

Edge Metrics (Phase 6)

  • GET /v1/metrics - Get edge metrics
  • GET /v1/metrics/gpu - Get GPU metrics
  • GET /v1/metrics/database - Get database metrics

Implementation Status

Phase 1: Foundation

  • Service structure
  • FastAPI application
  • Database configuration
  • Basic stub endpoints

Phase 2: Island Operations

  • Island join/leave endpoints
  • Blockchain RPC integration
  • Island listing

Phase 3: GPU Operations

  • GPU listing endpoints
  • GPU service integration
  • GPU metrics

Phase 4: Edge Database

  • Database initialization
  • Database sync
  • Database management

Phase 5: Edge Serve

  • Serve start/stop
  • Request queue
  • Request processing

Phase 6: Metrics

  • Metrics collection
  • Metrics endpoints
  • Performance monitoring

CLI Integration

CLI commands will be updated to use REST API instead of placeholder implementations:

  • aitbc island joinPOST /v1/islands/join
  • aitbc gpu list-islandPOST /v1/gpu/listings
  • aitbc database init-edgePOST /v1/database/init
  • aitbc edge servePOST /v1/serve/start
  • aitbc edge metricsGET /v1/metrics

Agent SDK Integration

Agent SDK will be updated to use REST API for island and edge operations.

Dependencies

  • FastAPI
  • SQLAlchemy + SQLModel
  • PostgreSQL
  • httpx
  • PyJWT
  • uvicorn