fix(meltano): remove catalog capability and switch elt to run
All checks were successful
Build and Push Docker Images / Build Backend (FastAPI) (push) Successful in 34s
Build and Push Docker Images / Build Frontend (Next.js) (push) Successful in 1m9s
Build and Push Docker Images / Build Integrator (push) Successful in 57s
Build and Push Docker Images / Build Kestra Init (push) Successful in 31s
Build and Push Docker Images / Build Pipeline (Meltano + dbt + Airflow) (push) Successful in 1m26s
Build and Push Docker Images / Trigger Portainer Update (push) Successful in 0s

The `catalog` capability forced Meltano to run --discover and generate
a catalog file (tap.properties.json) before each extraction. This fails
because our Singer SDK taps emit schemas inline and don't need external
catalog files. Removing the capability makes Meltano invoke taps
directly without catalog generation.

Also switch from deprecated `meltano elt` to `meltano run` for
Meltano 4.x compatibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-26 13:45:23 +00:00
parent 1c77a6c593
commit c576bba06a
2 changed files with 3 additions and 20 deletions

View File

@@ -50,7 +50,7 @@ with DAG(
with TaskGroup("extract") as extract_group: with TaskGroup("extract") as extract_group:
extract_gias = BashOperator( extract_gias = BashOperator(
task_id="extract_gias", task_id="extract_gias",
bash_command=f"cd {PIPELINE_DIR} && {MELTANO_BIN} elt tap-uk-gias target-postgres", bash_command=f"cd {PIPELINE_DIR} && {MELTANO_BIN} run tap-uk-gias target-postgres",
) )
validate_raw = BashOperator( validate_raw = BashOperator(
@@ -114,7 +114,7 @@ with DAG(
extract_ofsted = BashOperator( extract_ofsted = BashOperator(
task_id="extract_ofsted", task_id="extract_ofsted",
bash_command=f"cd {PIPELINE_DIR} && {MELTANO_BIN} elt tap-uk-ofsted target-postgres", bash_command=f"cd {PIPELINE_DIR} && {MELTANO_BIN} run tap-uk-ofsted target-postgres",
) )
dbt_build_ofsted = BashOperator( dbt_build_ofsted = BashOperator(
@@ -145,7 +145,7 @@ with DAG(
with TaskGroup("extract_ees") as extract_ees_group: with TaskGroup("extract_ees") as extract_ees_group:
extract_ees = BashOperator( extract_ees = BashOperator(
task_id="extract_ees", task_id="extract_ees",
bash_command=f"cd {PIPELINE_DIR} && {MELTANO_BIN} elt tap-uk-ees target-postgres", bash_command=f"cd {PIPELINE_DIR} && {MELTANO_BIN} run tap-uk-ees target-postgres",
) )
dbt_build_ees = BashOperator( dbt_build_ees = BashOperator(

View File

@@ -7,22 +7,15 @@ plugins:
namespace: uk_gias namespace: uk_gias
pip_url: ./plugins/extractors/tap-uk-gias pip_url: ./plugins/extractors/tap-uk-gias
executable: tap-uk-gias executable: tap-uk-gias
capabilities:
- catalog
- state
settings: settings:
- name: download_url - name: download_url
kind: string kind: string
description: GIAS bulk CSV download URL description: GIAS bulk CSV download URL
value: https://ea-edubase-api-prod.azurewebsites.net/edubase/downloads/public/edubasealldata.csv
- name: tap-uk-ees - name: tap-uk-ees
namespace: uk_ees namespace: uk_ees
pip_url: ./plugins/extractors/tap-uk-ees pip_url: ./plugins/extractors/tap-uk-ees
executable: tap-uk-ees executable: tap-uk-ees
capabilities:
- catalog
- state
settings: settings:
- name: base_url - name: base_url
kind: string kind: string
@@ -35,9 +28,6 @@ plugins:
namespace: uk_ofsted namespace: uk_ofsted
pip_url: ./plugins/extractors/tap-uk-ofsted pip_url: ./plugins/extractors/tap-uk-ofsted
executable: tap-uk-ofsted executable: tap-uk-ofsted
capabilities:
- catalog
- state
settings: settings:
- name: mi_url - name: mi_url
kind: string kind: string
@@ -47,16 +37,11 @@ plugins:
namespace: uk_parent_view namespace: uk_parent_view
pip_url: ./plugins/extractors/tap-uk-parent-view pip_url: ./plugins/extractors/tap-uk-parent-view
executable: tap-uk-parent-view executable: tap-uk-parent-view
capabilities:
- catalog
- name: tap-uk-fbit - name: tap-uk-fbit
namespace: uk_fbit namespace: uk_fbit
pip_url: ./plugins/extractors/tap-uk-fbit pip_url: ./plugins/extractors/tap-uk-fbit
executable: tap-uk-fbit executable: tap-uk-fbit
capabilities:
- catalog
- state
settings: settings:
- name: base_url - name: base_url
kind: string kind: string
@@ -66,8 +51,6 @@ plugins:
namespace: uk_idaci namespace: uk_idaci
pip_url: ./plugins/extractors/tap-uk-idaci pip_url: ./plugins/extractors/tap-uk-idaci
executable: tap-uk-idaci executable: tap-uk-idaci
capabilities:
- catalog
loaders: loaders:
- name: target-postgres - name: target-postgres