Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Principle:Apache Dolphinscheduler Plugin Artifact Provisioning

From Leeroopedia


Knowledge Sources
Domains Operations, Plugin_Management
Last Updated 2026-02-10 00:00 GMT

Overview

Principle that defines how plugin artifacts are downloaded from a repository and organized on disk based on a declarative configuration, enabling modular runtime extension.

Description

Plugin Artifact Provisioning addresses the need to keep a plugin-based system modular by not bundling all plugins into the base distribution. Instead, a declarative configuration file lists which plugins are needed, grouped by category (task plugins, alert plugins, etc.). A provisioning script reads this configuration, creates the appropriate directory structure, and downloads the correct versioned artifacts from a central repository. This enables operators to install only the plugins they need, reducing deployment size and attack surface.

Usage

Apply this principle when designing a pluggable system where plugins are distributed as separate artifacts. The declarative configuration file serves as the single source of truth for which plugins are installed. Operators modify this file to add or remove plugins, then re-run the provisioning script.

Theoretical Basis

The provisioning process follows a Declarative Configuration → Imperative Resolution pattern:

1. Parse Configuration: Read a structured file that maps categories to artifact identifiers.

2. Create Directory Structure: Ensure the target directory tree matches the declared categories.

3. Resolve and Download: For each artifact, query the repository for the specified version and download the artifact to the correct directory.

# Abstract algorithm description
config = parse_plugin_config(config_file)
for category, artifacts in config.items():
    create_directory(plugins_dir / category)
    for artifact_id in artifacts:
        jar = repository.download(
            group="org.apache.dolphinscheduler",
            artifact=artifact_id,
            version=target_version,
            classifier="shade"
        )
        install(jar, plugins_dir / category)

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment