Bessere Erkennung
Eine REST-API macht es einfacher, Plugins zu suchen, zu filtern, zu paginieren und Plugin-Versionen zu prüfen.
Die SemRels Plugin Registry ist unter registry.semrel.io live. Der Go-Web-Service stellt den öffentlichen Plugin-Katalog, die REST-API und authentifizierte Verwaltungsabläufe bereit. Der statische plugins.json-Index bleibt als maschinenlesbarer Kompatibilitäts-Endpunkt verfügbar.
Bessere Erkennung
Eine REST-API macht es einfacher, Plugins zu suchen, zu filtern, zu paginieren und Plugin-Versionen zu prüfen.
Operative Abläufe
Admin-Endpunkte ermöglichen verwaltete Plugin- und Versions-Updates, statt generierte Dateien von Hand zu bearbeiten.
Registry-UI und Dashboard
Die browserbasierte Registry-UI ist live und enthält ein authentifiziertes Admin-Dashboard für Registry-Maintainer.
plugins.json für Clients, die den maschinenlesbaren Index direkt konsumieren| Endpunkt | Zweck |
|---|---|
GET /health | Zustandsprüfung für Load Balancer und Deployment-Verifikation |
GET /api/v1/plugins | Plugins mit Paginierung und optionalen Filtern category, search und sort auflisten |
GET /api/v1/plugins/:id | Ein einzelnes Plugin anhand numerischer ID oder Plugin-Name abrufen |
GET /api/v1/plugins/:id/versions | Versionen eines Plugins mit limit und offset auflisten |
POST /api/v1/plugins | Einen Plugin-Datensatz erstellen (Authentifizierung erforderlich) |
PUT /api/v1/plugins/:id | Plugin-Metadaten aktualisieren (Eigentümer:in oder Admin) |
DELETE /api/v1/plugins/:id | Ein Plugin per Soft-Delete löschen (Eigentümer:in oder Admin) |
POST /api/v1/plugins/:id/versions | Einen Plugin-Versionsdatensatz erstellen (Eigentümer:in oder Admin) |
GET /api/v1/admin/status | Liefert den aktuellen Admin- und Service-Status (Admin-Zugriff erforderlich) |
Das produktive Backend nutzt:
golang-migrate zum automatischen Ausführen von SQL-Migrationen beim StartWichtige Laufzeiteinstellungen:
| Variable | Zweck |
|---|---|
PORT | HTTP-Listenadresse |
DATABASE_URL | PostgreSQL-Verbindungszeichenfolge |
MIGRATE_DIR | Migrationsverzeichnis, das beim Start geladen wird |
ENVIRONMENT | Laufzeitmodus wie dev oder prod |
ADMIN_TOKEN | Optionaler statischer Admin-Zugang für die lokale Entwicklung; in Produktion werden authentifizierte Admin-Sitzungen verwendet |
Für die lokale Entwicklung startest du PostgreSQL über docker compose und führst die API mit go run main.go aus.
docker compose up -dcp .env.example .envgo run main.gocurl http://localhost:8080/healthDas authentifizierte Admin-Dashboard ist für Registry-Maintainer verfügbar. Es bietet Abläufe zum:
Die öffentliche Registry-UI bleibt zum Durchsuchen von Plugins und Versionen ohne Authentifizierung verfügbar.