Introduction
Plugwerk is self-hosted plugin management and marketplace software for the Java/PF4J ecosystem — the missing link between the PF4J plugin framework and a product’s plugin ecosystem.
Think Maven Central, but for runtime plugins instead of build dependencies.
What Problem Does Plugwerk Solve?
Section titled “What Problem Does Plugwerk Solve?”PF4J is excellent at loading and managing plugins at runtime. But it doesn’t answer:
- Where do plugins come from?
- How do users discover, install, and update them?
- How do you manage versions, compatibility, and security?
Plugwerk fills this gap with a self-hosted server and a client SDK that integrates directly into your PF4J application.
Two Artifacts
Section titled “Two Artifacts”| Artifact | Purpose |
|---|---|
| Plugwerk Server | Spring Boot web application: REST API, plugin catalog, upload, versioning, download, review workflow |
| Plugwerk Client SDK | Kotlin library deployed as a PF4J plugin: discovery, download, install, and update lifecycle |
Key Features
Section titled “Key Features”- 🔍 Plugin catalog with search and tags
- 📦 Upload & versioning with SemVer and SHA-256 integrity
- 🏢 Namespace isolation for multi-product / multi-org use
- 🔐 RBAC with namespace roles (Admin, Member, Read-Only)
- 🔑 OIDC multi-issuer authentication
- ✅ Review & approval workflow for plugin releases
- 🔌 PF4J-compatible
plugins.jsonendpoint for catalog feeds - 📚 Client SDK as PF4J plugin with isolated classloader
Next Steps
Section titled “Next Steps”Ready to get started? Head to the Quickstart guide.