This guide provides an intro to Dagster managed elements. Managed elements allow you to centralize the configuration for your data stack, specifying configuration in Python code. You can check-in and version your config with version control or programatically generate config for more complex use-cases.
Currently, the following integrations support managed elements:
In order to use managed elements, you must first install the dagster-managed-elements package. This includes the base APIs used by each implementation, as well as making the managed elements CLI available, available as dagster-me.
Every managed element is controlled by a ManagedElementReconciler implementation. Typically, all of the reconcilers in your project are colocated in a single Python module, which the dagster-me CLI will use to discover reconcilers.
As an alternative to configuring Airbyte using its UI, you may create and update Airbyte sources, destinations, and connections using managed elements.
The first step is to create a reconciler, which is pointed at a specific Airbyte instance using an Airbyte resource. It is provided with a list of connections to reconcile, which we will set up next.
from dagster_airbyte import AirbyteManagedElementReconciler, airbyte_resource
airbyte_instance = airbyte_resource.configured({"host":"localhost","port":"8000",# If using basic auth, include username and password:"username":"airbyte","password":{"env":"AIRBYTE_PASSWORD"},})
airbyte_reconciler = AirbyteManagedElementReconciler(
airbyte=airbyte_instance,
connections=[],)