Skip to content

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.

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.

ArtifactPurpose
Plugwerk ServerSpring Boot web application: REST API, plugin catalog, upload, versioning, download, review workflow
Plugwerk Client SDKKotlin library deployed as a PF4J plugin: discovery, download, install, and update lifecycle
  • 🔍 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.json endpoint for catalog feeds
  • 📚 Client SDK as PF4J plugin with isolated classloader

Ready to get started? Head to the Quickstart guide.