Skip to main content

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

PropertyValue
Port8500
LanguagePython 3.12
FrameworkFastAPI + Uvicorn
Packagegospelib_plugin_registry
Entry pointsrc/gospelib_plugin_registry/main.pycreate_app()
Primary data storeRedis (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

MethodPathDescription
GET/healthLiveness probe
GET/readyReadiness probe (checks Redis)
POST/pluginsRegister a new plugin
GET/pluginsList 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

VariableDefaultDescription
GOSPELIB_REDIS_URLredis://localhost:6380Redis connection URL
LOG_LEVELINFOLog level
NODE_ENVdevelopmentEnvironment
VERSIONdevService version
OTEL_EXPORTER_OTLP_ENDPOINT(empty)OTLP gRPC endpoint