feat(pipeline): add Meltano + dbt + Airflow ELT pipeline scaffold
All checks were successful
Build and Push Docker Images / Build Backend (FastAPI) (push) Successful in 35s
Build and Push Docker Images / Build Frontend (Next.js) (push) Successful in 1m9s
Build and Push Docker Images / Build Integrator (push) Successful in 56s
Build and Push Docker Images / Build Kestra Init (push) Successful in 32s
Build and Push Docker Images / Trigger Portainer Update (push) Successful in 1s
All checks were successful
Build and Push Docker Images / Build Backend (FastAPI) (push) Successful in 35s
Build and Push Docker Images / Build Frontend (Next.js) (push) Successful in 1m9s
Build and Push Docker Images / Build Integrator (push) Successful in 56s
Build and Push Docker Images / Build Kestra Init (push) Successful in 32s
Build and Push Docker Images / Trigger Portainer Update (push) Successful in 1s
Replaces the hand-rolled integrator with a production-grade ELT pipeline using Meltano (Singer taps), dbt Core (medallion architecture), and Apache Airflow (orchestration). Adds Typesense for search and PostGIS for geospatial queries. - 6 custom Singer taps (GIAS, EES, Ofsted, Parent View, FBIT, IDACI) - dbt project: 12 staging, 5 intermediate, 12 mart models - 3 Airflow DAGs (daily/monthly/annual schedules) - Typesense sync + batch geocoding scripts - docker-compose: add Airflow, Typesense; upgrade to PostGIS - Portainer stack definition matching live deployment topology Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
22
pipeline/transform/profiles.yml
Normal file
22
pipeline/transform/profiles.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
school_compare:
|
||||
target: dev
|
||||
outputs:
|
||||
dev:
|
||||
type: postgres
|
||||
host: "{{ env_var('PG_HOST', 'localhost') }}"
|
||||
port: "{{ env_var('PG_PORT', '5432') | int }}"
|
||||
user: "{{ env_var('PG_USER', 'postgres') }}"
|
||||
password: "{{ env_var('PG_PASSWORD', 'postgres') }}"
|
||||
dbname: "{{ env_var('PG_DATABASE', 'school_compare') }}"
|
||||
schema: public
|
||||
threads: 4
|
||||
|
||||
production:
|
||||
type: postgres
|
||||
host: "{{ env_var('PG_HOST') }}"
|
||||
port: "{{ env_var('PG_PORT') | int }}"
|
||||
user: "{{ env_var('PG_USER') }}"
|
||||
password: "{{ env_var('PG_PASSWORD') }}"
|
||||
dbname: "{{ env_var('PG_DATABASE') }}"
|
||||
schema: public
|
||||
threads: 4
|
||||
Reference in New Issue
Block a user