Skip to content

Commit 5a458ab

Browse files
ohritejparr
andauthored
Add composer-dev for local Airflow (#3874)
* Remove old local airflow setup * Add composer-local-dev setup * Delete unused gitkeep file * Update README.md * Build and test make file Signed-off-by: Doc Ritezel <[email protected]> * Reorganize README.md to reflect the Makefile updates --------- Signed-off-by: Doc Ritezel <[email protected]> Co-authored-by: Jeff Parr <[email protected]>
1 parent f01ef63 commit 5a458ab

14 files changed

+314
-1063
lines changed

airflow/.development.env

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
AIRFLOW_VAR_EXTRACT_BUCKET=gs://gtfs-data
2+
AIRFLOW_ENV=cal-itp-data-infra-staging
3+
AIRFLOW_CONN_GOOGLE_CLOUD_DEFAULT='google-cloud-platform://'
4+
AIRFLOW_CONN_HTTP_NTD=https://data.transportation.gov
5+
AIRFLOW_CONN_HTTP_BLACKCAT=https://services.blackcattransit.com
6+
AIRFLOW_CONN_HTTP_MOBILITY_DATABASE=https://bit.ly/catalogs-csv
7+
GOOGLE_CLOUD_PROJECT=cal-itp-data-infra-staging
8+
CALITP_USER=pipeline
9+
CALITP_AUTH=cloud
10+
CALITP_BQ_MAX_BYTES=50000000000
11+
CALITP_BQ_LOCATION=us-west2
12+
POD_LOCATION=us-west2
13+
CALITP__ELAVON_SFTP_HOSTNAME=34.145.56.125
14+
CALITP__ELAVON_SFTP_PORT=2200
15+
CALITP__ELAVON_SFTP_USERNAME=elavon
16+
DBT_TARGET=staging
17+
SENTRY_DSN=https://[email protected]/2
18+
SENTRY_ENVIRONMENT=cal-itp-data-infra-staging
19+
CALITP_BUCKET__AGGREGATOR_SCRAPER=gs://calitp-staging-aggregator-scraper
20+
CALITP_BUCKET__AIRTABLE=gs://calitp-staging-airtable
21+
CALITP_BUCKET__AMPLITUDE_BENEFITS_EVENTS=gs://calitp-staging-amplitude-benefits-events
22+
CALITP_BUCKET__ANALYSIS_OUTPUT_MODELS=gs://calitp-staging-analysis-output-models
23+
CALITP_BUCKET__DBT_ARTIFACTS=gs://calitp-staging-dbt-artifacts
24+
CALITP_BUCKET__DBT_DOCS=gs://calitp-staging-dbt-docs
25+
CALITP_BUCKET__ELAVON_PARSED=gs://calitp-staging-elavon-parsed
26+
CALITP_BUCKET__ELAVON_RAW=gs://calitp-staging-elavon-raw
27+
CALITP_BUCKET__GTFS_DOWNLOAD_CONFIG=gs://calitp-staging-gtfs-download-config
28+
CALITP_BUCKET__GTFS_DOWNLOAD_CONFIG_PROD_SOURCE=gs://calitp-staging-gtfs-download-config
29+
CALITP_BUCKET__GTFS_DOWNLOAD_CONFIG_TEST_DESTINATION=gs://calitp-staging-gtfs-download-config-test
30+
CALITP_BUCKET__GTFS_RT_PARSED=gs://calitp-staging-gtfs-rt-parsed
31+
CALITP_BUCKET__GTFS_RT_RAW=gs://calitp-staging-gtfs-rt-raw-v2
32+
CALITP_BUCKET__GTFS_RT_VALIDATION=gs://calitp-staging-gtfs-rt-validation
33+
CALITP_BUCKET__GTFS_SCHEDULE_PARSED=gs://calitp-staging-gtfs-schedule-parsed
34+
CALITP_BUCKET__GTFS_SCHEDULE_PARSED_HOURLY=gs://calitp-staging-gtfs-schedule-parsed-hourly
35+
CALITP_BUCKET__GTFS_SCHEDULE_RAW=gs://calitp-staging-gtfs-schedule-raw-v2
36+
CALITP_BUCKET__GTFS_SCHEDULE_UNZIPPED=gs://calitp-staging-gtfs-schedule-unzipped
37+
CALITP_BUCKET__GTFS_SCHEDULE_UNZIPPED_HOURLY=gs://calitp-staging-gtfs-schedule-unzipped-hourly
38+
CALITP_BUCKET__GTFS_SCHEDULE_VALIDATION=gs://calitp-staging-gtfs-schedule-validation
39+
CALITP_BUCKET__GTFS_SCHEDULE_VALIDATION_HOURLY=gs://calitp-staging-gtfs-schedule-validation-hourly
40+
CALITP_BUCKET__KUBA=gs://calitp-staging-kuba
41+
CALITP_BUCKET__LITTLEPAY_PARSED=gs://calitp-staging-payments-littlepay-parsed
42+
CALITP_BUCKET__LITTLEPAY_PARSED_V3=gs://calitp-staging-payments-littlepay-parsed-v3
43+
CALITP_BUCKET__LITTLEPAY_RAW=gs://calitp-staging-payments-littlepay-raw
44+
CALITP_BUCKET__LITTLEPAY_RAW_V3=gs://calitp-staging-payments-littlepay-raw-v3
45+
CALITP_BUCKET__NTD_API_DATA_PRODUCTS=gs://calitp-staging-ntd-api-products
46+
CALITP_BUCKET__NTD_REPORT_VALIDATION=gs://calitp-staging-ntd-report-validation
47+
CALITP_BUCKET__NTD_XLSX_DATA_PRODUCTS__CLEAN=gs://calitp-staging-ntd-xlsx-products-clean
48+
CALITP_BUCKET__NTD_XLSX_DATA_PRODUCTS__RAW=gs://calitp-staging-ntd-xlsx-products-raw
49+
CALITP_BUCKET__PUBLISH=gs://calitp-staging-publish
50+
CALITP_BUCKET__SENTRY_EVENTS=gs://calitp-staging-sentry
51+
CALITP_BUCKET__STATE_GEOPORTAL_DATA_PRODUCTS=gs://calitp-staging-state-geoportal-scrape

airflow/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ logs/*
22
airflow.sh
33
*.db
44
.env
5+
/composer

airflow/Dockerfile

Lines changed: 0 additions & 20 deletions
This file was deleted.

airflow/Dockerfile.composer

Lines changed: 0 additions & 25 deletions
This file was deleted.

airflow/Makefile

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
.PHONY: clean sync setup start restart stop
2+
3+
COMPOSER_ENVIRONMENT_SOURCE := calitp-staging-composer
4+
COMPOSER_ENVIRONMENT_NAME := calitp-development-composer
5+
COMPOSER_ENVIRONMENT_PATH := composer/$(COMPOSER_ENVIRONMENT_NAME)
6+
7+
COMPOSER_VERSION := composer-2.8.6-airflow-2.6.3
8+
COMPOSER_PROJECT := cal-itp-data-infra-staging
9+
COMPOSER_LOCATION := us-west2
10+
11+
WAREHOUSE_PATH := ../warehouse
12+
WAREHOUSE_TARGET := staging
13+
14+
restart: sync
15+
poetry run composer-dev restart
16+
17+
start: sync
18+
poetry run composer-dev start
19+
20+
stop:
21+
poetry run composer-dev stop
22+
23+
sync: $(WAREHOUSE_PATH)/target/manifest.json $(COMPOSER_ENVIRONMENT_PATH)
24+
rsync -ar plugins/ $(COMPOSER_ENVIRONMENT_PATH)/plugins/
25+
rsync -ar $(WAREHOUSE_PATH)/ $(COMPOSER_ENVIRONMENT_PATH)/data/warehouse/
26+
cp -f requirements.txt $(COMPOSER_ENVIRONMENT_PATH)/requirements.txt
27+
cp -f .development.env $(COMPOSER_ENVIRONMENT_PATH)/variables.env
28+
cat .env >> $(COMPOSER_ENVIRONMENT_PATH)/variables.env
29+
30+
$(WAREHOUSE_PATH)/target/manifest.json:
31+
cd $(WAREHOUSE_PATH) && \
32+
poetry install && \
33+
poetry run dbt deps && \
34+
poetry run dbt compile --target $(WAREHOUSE_TARGET)
35+
36+
$(COMPOSER_ENVIRONMENT_PATH):
37+
poetry run composer-dev create \
38+
--project $(COMPOSER_PROJECT) \
39+
--from-source-environment $(COMPOSER_ENVIRONMENT_SOURCE) \
40+
--location $(COMPOSER_LOCATION) \
41+
--port 8080 \
42+
--dags-path dags/ \
43+
--database postgresql \
44+
$(COMPOSER_ENVIRONMENT_NAME)
45+
46+
setup: $(COMPOSER_ENVIRONMENT_PATH)
47+
48+
clean:
49+
ifneq (,$(wildcard $(COMPOSER_ENVIRONMENT_PATH)/data))
50+
rm -r $(COMPOSER_ENVIRONMENT_PATH)/data
51+
endif
52+
ifneq (,$(wildcard $(COMPOSER_ENVIRONMENT_PATH)/plugins))
53+
rm -r $(COMPOSER_ENVIRONMENT_PATH)/plugins
54+
endif
55+
ifneq (,$(wildcard $(COMPOSER_ENVIRONMENT_PATH)/requirements.txt))
56+
rm -r $(COMPOSER_ENVIRONMENT_PATH)/requirements.txt
57+
endif
58+
ifneq (,$(wildcard $(COMPOSER_ENVIRONMENT_PATH)/variables.env))
59+
rm -r $(COMPOSER_ENVIRONMENT_PATH)/variables.env
60+
endif
61+
62+
teardown: stop
63+
rm -r $(COMPOSER_ENVIRONMENT_PATH)

0 commit comments

Comments
 (0)