Skip to main content

Lineage reference

Requirements​

Apache Hop2.20 or later: Putki 2026.12 Professional or Enterprise, or Apache Hop with the Lineage delivery plugin
Docker Compose2.20 or later
jqFor install-lineage.sh --hop-home and --hop-config

Bundle contents​

PathWhat it is
docker-compose-lineage.ymlMarquez, its database, the lineage UI, and the proxy in front of them
.env.exampleTemplate for .env, the only file you edit
init-env.shWrites .env from .env.example and fills in the required settings: asks, or --generate makes up the passwords. Never changes a value already set
install-lineage.shPoints a Hop installation at the bundle
caddy/CaddyfileThe proxy's two doors
config/marquez.ymlMarquez's configuration, read from the environment
VERSIONThe bundle version, for support requests

.env settings​

SettingDefaultMeaning
MARQUEZ_DB_PASSWORDrequiredPassword of Marquez's database
MARQUEZ_API_KEYrequiredThe key Hop sends lineage with
MARQUEZ_UI_PASSWORDrequiredPassword to sign in to the lineage UI
MARQUEZ_UI_USERadminUser to sign in to the lineage UI
LINEAGE_INGEST_PORT5080Host port Hop sends lineage to
LINEAGE_UI_PORT3001Host port of the lineage UI
LINEAGE_BIND_ADDR127.0.0.1Interface both ports listen on
LINEAGE_NETWORKputki-lineageDocker network; a Hop container on it reaches lineage-proxy:5080

install-lineage.sh options​

OptionMeaning
--hop-home DIRThe Hop installation; edits DIR/config/hop-config.json and checks the OpenLineage plugin is there
--hop-config FILEA hop-config.json elsewhere
--print-envPrint the settings as NAME=value lines instead of editing a file
--api-key KEYRequired: MARQUEZ_API_KEY
--url URLWhere to send lineage. Default http://localhost:5080/api/v1/lineage
--namespace NAMEOpenLineage namespace. Default putki
--disableSwitch lineage off, keeping the other settings
--dry-runShow what would change, change nothing

Hop settings​

Set in hop-config.json, as environment variables (which win over the file), or as -D options (which win over both).

SettingSet toMeaning
HOP_LINEAGE_ENABLEDYSwitches the lineage hub on
HOP_LINEAGE_SINK_IDSopenlineageWhich sink receives the events
HOP_LINEAGE_OPENLINEAGE_URLthe ingest URLWhere the OpenLineage events go
HOP_LINEAGE_OPENLINEAGE_NAMESPACEputkiNamespace of the jobs in Marquez
HOP_LINEAGE_OPENLINEAGE_API_KEYMARQUEZ_API_KEYSent as Authorization: Bearer <key>
HOP_LINEAGE_OPENLINEAGE_FILE_SPEC_NAMINGYNames file datasets by their full path and scheme. Choose before Marquez has data: changing it later gives every file a second node
HOP_LINEAGE_OPENLINEAGE_SHUTDOWN_DRAIN_MS5000 in containersHow long Hop waits at exit to send what is left. Default 30000
PUTKI_LINEAGE_SETTLE_MS500Lineage delivery plugin: how long hop-run waits for a run's last events before it exits