MegaRepo: ein Artifact Repository Manager als eigenes Produkt

Vom ersten Commit bis zum betriebenen Produkt mit Dokumentation, Lizenzmodell und einer Firewall, die Downloads mit bekannten Sicherheitslücken blockiert.

Ausgangslage

Jedes Team, das Software baut, braucht einen Ort für Artefakte

Ein Artifact Repository Manager ist die Stelle, an der Entwicklerteams ihre Software-Bausteine ablegen und beziehen: Maven-Bibliotheken für die JVM-Welt, npm-Pakete für JavaScript, PyPI-Pakete für Python, dazu beliebige weitere Dateien. Er ist zugleich Zwischenspeicher für alles, was aus dem Internet nachgeladen wird – und damit das Nadelöhr, durch das fremder Code ins eigene Unternehmen gelangt.

MegaRepo ist unser eigenes Produkt in diesem Feld. Es entstand nicht als Auftragsarbeit, sondern als Beleg für eine These: Wenn die reine Implementierung dramatisch billiger wird, trägt sie keinen Enterprise-Preis mehr. Wir haben die These deshalb nicht aufgeschrieben, sondern gebaut. Die Begründung dazu steht im Blogbeitrag Warum wir MegaRepo nicht verkaufen werden.

Problem

Zwei Lücken: der Preis und der ungeprüfte Download

Die erste Lücke ist wirtschaftlich. Repository-Manager werden im Enterprise-Segment üblicherweise pro Nutzer lizenziert. Für kleine und mittlere Teams läuft das auf eine unbefriedigende Wahl hinaus: eine Lizenz, deren Preis in keinem Verhältnis zur Teamgröße steht, oder eine Behelfslösung aus Netzlaufwerk und Skripten, die niemand pflegt.

Die zweite Lücke ist sicherheitstechnisch und wiegt schwerer. Genau an der Stelle, an der ein Build-Client eine fremde Bibliothek aus dem Internet zieht, ist in vielen Unternehmen keine einzige Kontrolle aktiv. Log4Shell war deshalb so verheerend, weil kaum jemand wusste, welche Version gerade geladen wurde. Eine Prüfung im Download-Pfad ist die Stelle, an der man das ändern kann – bevor die Abhängigkeit im Produktivsystem liegt. Angeboten wird sie meist als Enterprise-Funktion, also genau dort, wo sie für kleinere Teams unerreichbar ist.

Lösung

Ein vollständiges Produkt, nicht ein Prototyp

MegaRepo unterstützt vier Paketformate – Maven, PyPI, npm und Raw – und drei Repository-Typen: Hosted für eigene Artefakte, Proxy zum Zwischenspeichern fremder Quellen und Group, um mehrere Repositories unter einer einzigen URL zusammenzufassen. Dazu kommt, was ein Produkt vom Prototyp unterscheidet: rollenbasierte Zugriffskontrolle mit JWT und HTTP-Basic-Auth, LDAP-Anbindung mit Gruppen-Mapping, Cleanup-Policies mit Vorschau vor der Ausführung, Volltextsuche über alle Repositories, zeitgesteuerte Aufgaben, Audit-Log, Zertifikatsverwaltung, Regeln für erlaubte und gesperrte Pfade sowie Import und Export der Konfiguration als YAML.

Das Sicherheitsmerkmal ist die NVD Firewall. Jeder Download wird gegen die Schwachstellendatenbank des NIST geprüft. Liegt für die angeforderte Version eine bekannte Schwachstelle oberhalb einer eingestellten CVSS-Schwelle vor, antwortet MegaRepo mit HTTP 403, listet die betroffenen CVEs auf und schreibt den Vorgang ins Block-Log. Damit die Regel im Alltag benutzbar bleibt, gibt es zwei Ausnahmewege: eine Whitelist für einzelne Komponenten und eine für einzelne CVEs – beide nur mit Begründung und mit Eintrag, wer sie wann gesetzt hat. Wie das im Detail funktioniert, steht im Beitrag MegaRepo NVD Firewall.

Veröffentlicht ist MegaRepo unter der Business Source License 1.1: Quellcode offen, Eigenbetrieb frei, Forks erlaubt, kein Weiterverkauf als kommerzieller SaaS-Dienst durch Dritte. Jede Version geht nach vier Jahren automatisch in Apache-2.0 über. Für Anwender ist es dauerhaft kostenlos, ohne Per-Seat-Kosten, ohne Lizenzserver und ohne Phone-Home.

Technik

Bewusst einfach im Betrieb

Ein Repository-Manager, der drei zusätzliche Dienste zur Installation verlangt, wird nicht installiert.

Laufzeit
Java 21+ und PostgreSQL 16+. Ein JAR und eine Datenbank – kein zusätzlicher Suchdienst, kein Koordinationsdienst.
Installation
Docker Compose, JAR oder Helm Chart. Die Installationswege sind dokumentiert, inklusive Reverse Proxy, TLS, Backup und Upgrade.
Speicher
Lokales Dateisystem oder S3-kompatibler Blob-Speicher, mehrere Blob-Stores parallel, Deduplikation über SHA-256.
Suche
Volltextsuche über alle Repositories mit PostgreSQL pg_trgm – unscharf und ohne zusätzlichen Dienst.
Proxy-Verhalten
Zwischenspeicher mit Request-Coalescing (parallele Anfragen auf dieselbe Datei werden zusammengefasst) und Negative-Cache.
NVD Firewall
Lokaler Spiegel von rund 345.000 CVEs, Erstbefüllung in etwa drei Minuten, danach täglicher inkrementeller Abgleich. Der Lookup im Download-Pfad läuft offline und liegt unter 20 Millisekunden.
Oberfläche und API
React-Oberfläche mit Vite und Tailwind 4, vollständige REST-API mit Swagger-Dokumentation, Live-Dashboard über WebSocket.
Härtung
Rate-Limiting mit exponentiellem Backoff gegen Brute-Force-Versuche, lückenloses Audit-Log für Downloads, Uploads, Löschungen und Admin-Aktionen.
Ergebnis

Im Betrieb, öffentlich, kostenlos

Die Beta ist seit dem 29. März 2026 öffentlich. Wir betreiben eine Instanz selbst unter bsnsoft.de/megarepo, der Quellcode liegt auf GitHub, die Dokumentation umfasst Erstinstallation, Betrieb, Monitoring, Backup, Upgrade und die Migration aus Nexus OSS.

Die Kern-Entwicklungszeit lag bei drei Tagen – ein Entwickler, KI-gestützt, mit Tests abgesichert. Das ist keine Prototyp-Demo: Log4Shell und Text4Shell wurden am laufenden System gegen Maven Central geprüft und korrekt blockiert, 22 Unit-Tests sichern den Weg von der NVD-Antwort über den Versionsvergleich bis zur 403-Entscheidung ab.

Für unsere Kunden ist die interessantere Zahl nicht die Entwicklungszeit, sondern das, was sie über Lizenzkosten aussagt. Wenn ein Funktionsumfang dieser Art in Tagen entsteht, lohnt sich bei jeder Enterprise-Lizenz im eigenen Portfolio die Frage, wofür genau man eigentlich zahlt.

Was dieser Fall zeigt

MegaRepo belegt drei Dinge zugleich. Erstens Produktentwicklung: nicht ein Feature, sondern ein fertiges Produkt mit Rechtemodell, Dokumentation, Migrationsweg und Lizenzentscheidung. Zweitens Betrieb: Installationswege, Speicheranbindung, zeitgesteuerte Aufgaben, Monitoring, Backup und Upgrade sind Teil des Produkts, nicht Hausaufgabe des Anwenders – und wir betreiben es selbst. Drittens Security Engineering im ursprünglichen Sinn: Zugriffskontrolle, Brute-Force-Schutz, Audit-Log und die Kontrolle der Lieferkette sitzen dort, wo der Datenfluss stattfindet. Das ist der Unterschied zu einem Sicherheitsbericht, der nachträglich feststellt, was schon im System liegt.

Produktentwicklung Softwarearchitektur Betrieb Security Engineering Supply-Chain-Sicherheit Open Source & Lizenzen

Weiterlesen

Warum wir Projekte so zuschneiden – und zwei weitere Fälle.

Mehr zum Produkt auf der MegaRepo-Produktseite und im Blog: Beta-Launch, NVD Firewall, warum wir es nicht verkaufen. Passende Leistungen: Software-Entwicklung, IT-Beratung und Sicherheit, Managed Hosting. Alle Projekte in der Übersicht auf der Seite Referenzen.

Eine Lizenz im Portfolio, die niemand mehr erklärt?

Wir schauen uns an, was Sie einsetzen, was Sie dafür zahlen und was davon heute anders lösbar wäre – ehrlich, auch wenn die Antwort lautet: alles bleibt.

Gespräch vereinbaren MegaRepo ausprobieren