Principle:Datahub project Datahub Actions Framework Installation
Metadata
| Field | Value |
|---|---|
| Principle ID | P-DHACT-001 |
| Title | Actions Framework Installation |
| Category | Event-Driven Automation |
| Status | Active |
| Last Updated | 2026-02-10 |
| Repository | Datahub_project_Datahub |
| Knowledge Sources | GitHub - datahub-project/datahub, DataHub Documentation |
| Domains | Event_Processing, Automation, Metadata_Management |
Overview
The practice of installing the DataHub Actions framework for event-driven metadata automation. The Actions framework provides a plugin-based event processing pipeline that reacts to real-time metadata changes emitted by DataHub, enabling automated workflows such as notifications, tag propagation, and metadata synchronization.
Description
Actions framework installation provisions the datahub-actions CLI and all built-in action plugins. The framework is distributed as a Python package (acryl-datahub-actions) that bundles both the core pipeline runtime and a suite of pre-built action plugins.
The framework depends on:
- Core DataHub SDK:
acryl-datahub[datahub-kafka]for metadata model classes and Kafka integration - Pipeline runtime: Click CLI, PyYAML, Pydantic, tenacity (retry logic), prometheus-client (monitoring)
- Kafka client:
confluent-kafka[schemaregistry]for consuming metadata change events
Upon installation, the following built-in action plugins are registered via Python entry points:
| Plugin Name | Class | Purpose |
|---|---|---|
| executor | ExecutorAction |
Execute ingestion recipes remotely |
| slack | SlackNotificationAction |
Send Slack notifications on metadata changes |
| teams | TeamsNotificationAction |
Send Microsoft Teams notifications |
| metadata_change_sync | MetadataChangeSyncAction |
Synchronize metadata changes across DataHub instances |
| tag_propagation | TagPropagationAction |
Propagate tags through lineage |
| term_propagation | TermPropagationAction |
Propagate glossary terms through lineage |
| snowflake_tag_propagation | SnowflakeTagPropagatorAction |
Propagate tags to Snowflake |
| doc_propagation | DocPropagationAction |
Propagate documentation through lineage |
Usage
Use this principle when setting up event-driven automation that reacts to real-time metadata changes in DataHub. This is the required first step before configuring any action pipeline. Common scenarios include:
- Setting up Slack or Teams notifications for metadata changes
- Enabling automated tag or glossary term propagation across lineage
- Deploying custom metadata synchronization workflows
- Building custom actions that respond to DataHub events
Theoretical Basis
Plugin-based framework architecture: The Actions framework follows a core-plus-plugins design. The core framework provides the event pipeline infrastructure (Kafka consumer, event deserialization, pipeline orchestration, retry logic), while action plugins provide specific behaviors. Installation registers all plugins via Python entry points under the datahub_actions.action.plugins namespace, enabling the framework to discover and instantiate plugins by name at runtime. This architecture supports extensibility -- third-party plugins can be installed separately and discovered automatically through the same entry point mechanism.
Related
- Implemented by: Datahub_project_Datahub_Pip_Install_Datahub_Actions
Implementation:Datahub_project_Datahub_Pip_Install_Datahub_Actions