Details
-
Epic
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
Extensible MariaDB
Description
Goal
MariaDB has always supported plugins and external contributions. This epic collects the work needed to make a plugin practical to build, distribute and install independently of the server release cycle, so that third-party developers can write, maintain and ship plugins on their own schedule and users can find and install them with confidence.
The target experience for a plugin developer is to go from an empty repository to a working, installable external plugin in an afternoon. The target experience for a user is to discover a plugin, verify where it came from, and install it into a running server without rebuilding anything.
Scope
Plugin development interface. A complete MariaDB-devel package, explicit and stable exposure of server symbols to plugins, server services exported as a versioned ABI, and documentation of every plugin type a developer can implement.
Plugin API capabilities. Extensions to what plugins can do, such as pluggable aggregate functions, and easier loading of plugins.
Plugin metadata. A standard package description covering identity, version, license, compatibility and dependencies on other plugins.
Build, test and signing (Foundry). Building external plugins against supported MariaDB Server versions in buildbot, testing them, and producing signed RPM, DEB and tarball packages, starting with the plugins that ship with the server.
Distribution and installation. The mariadb-plugin command-line tool, the Plugin Manager and its catalog, the package signing platform for the MariaDB Foundation, and provenance information that lets users see who built and signed a plugin.
Managed environments. Requirements gathered with hosting and cloud providers so that plugins can be offered safely in managed MariaDB services.
Distros. Requirements gathered from distro maintainers so that plugins can be packaged there.
How to use this epic
Tasks live in both the MDEV (server) and MDBF (Foundation infrastructure) projects. Add any task that removes friction for external plugin developers or for users installing external plugins, and link related research and design issues with "relates to".
Attachments
Issue Links
- includes
-
MDEV-9934 Easier loading of plugins
-
- Open
-
-
MDEV-34451 Document FUNCTION plugin type
-
- Open
-
-
MDEV-40672 Pluggable aggregate functions
-
- Approved
-
- relates to
-
MDEV-37333 Research Enhancements for Enabling MariaDB to be more Extensible
-
- Open
-