LLM WikiAccess-protected knowledge portal

WIKI

labrador-data-platform

AI Summary Purpose Airflow Astronomer DAG 모노레포. labrador scrapers 의 컨테이너 컴포넌트를 K8s Pod로 스케줄 실행한다. Key points DAG는 dags/<name .py , 컨테이너 이미지는 dags/envs/images.py 에 등록. 태스크는 build container operator image=..., args= ... , mount path="/resourc

경로ai/repo-notes/labrador-data-platform.md
카테고리Repo Note
태그#airflow #cicd #data #infra #kubernetes #labrador #notes #platform #repo #repo-note #security

# labrador-data-platform

AI Summary

Purpose:

K8s Pod로 스케줄 실행한다.

Key points:

mount_path="/resources"가 cluster 모드에서 PVC 마운트(증분 git working copy 보존처).

{{ ti.xcom_pull(task_ids='push_db_url_to_xcom', key='db_url') }}.

Relevant when:

Do not read full document unless:

Linked documents:

Repo Info

Architecture Notes

<name> = f"{namespace}/<image>:latest" 로 등록. DAG에서 from envs.images import <name>.

trigger_rule=, force_pull=True, mount_path="/resources", ...)DEPLOYMENT_TYPE` Variable(standalone=DockerOperator / cluster=KubernetesPodOperator)에 따라 분기.

push_db_url_to_xcom → 컨테이너 태스크 (osv_vuln.py 참고).

(gatheringdb/labradordb).

DAG: openssf_mal

mount_path="/resources"(PVC), force_pull=True.

prev commit 증분이 동작(휘발 시 매번 full reconcile로 안전 하강하나 비효율).

Common Commands

# DAG 파싱/테스트 (devcontainer 필요 — astro CLI)
astro dev parse
astro dev pytest
python3 -m py_compile dags/<name>.py dags/envs/images.py   # 로컬 빠른 구문 검사

Known Pitfalls

- prepare-commit-msg${VAR^^}(bash 4+)를 써서 시스템 bash 3.2에서 bad substitution으로 실패 → 커밋 abort. (--no-verify로는 prepare-commit-msg가 안 건너뛰어짐 → git -c core.hooksPath=/dev/null commit으로 전체 훅 우회.) - pre-pushastro dev parse/pytest를 실행하는데 로컬에 astro 미설치 → "command not found"로 실패 → git push --no-verify. (DAG 검증은 devcontainer/CI에서.) - 우회 전 py_compile과 black/mypy(pre-commit이 통과)로 최소 품질은 확인할 것.

prepare-commit-msg가 자동 prepend.

Current Work