Plugin Registry Service
The Plugin Registry service is a FastAPI backend that handles plugin manifest submission, validation, discovery, and semver versioning policy enforcement for the GospeLib plugin ecosystem.
Quick Reference
| Property | Value |
|---|---|
| Port | 8500 |
| Language | Python 3.12 |
| Framework | FastAPI + Uvicorn |
| Package | gospelib_plugin_registry |
| Entry point | src/gospelib_plugin_registry/main.py → create_app() |
| Primary data store | Redis (port 6380) |
Responsibilities
- Plugin submission — Accept and validate plugin manifests from developers
- Plugin discovery — List and search published plugins for the plugin gallery
- Version management — Enforce semver versioning policy and breaking change detection
- Plugin metadata — Store and serve plugin metadata (permissions, tier requirements, etc.)
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /health | Liveness probe |
| GET | /ready | Readiness probe (checks Redis) |
| POST | /plugins | Register a new plugin |
| GET | /plugins | List all published plugins |
| GET | /plugins/{id} | Get a single plugin by ID |
| PUT | /plugins/{id} | Publish a new version (with version policy check) |
Running Locally
cd services/plugin-registry
uv sync --extra dev
uv run uvicorn gospelib_plugin_registry.main:create_app --factory --reload --port 8500
Environment Variables
| Variable | Default | Description |
|---|---|---|
GOSPELIB_REDIS_URL | redis://localhost:6380 | Redis connection URL |
LOG_LEVEL | INFO | Log level |
NODE_ENV | development | Environment |
VERSION | dev | Service version |
OTEL_EXPORTER_OTLP_ENDPOINT | (empty) | OTLP gRPC endpoint |
Related Pages
- Services Overview — all services at a glance
- Plugin Ecosystem (M26) — milestone spec