다크 모드
Functions (Lambda)
개요
truloop-functions는 서버리스 Lambda 함수를 관리하는 레포지토리입니다. EventBridge Scheduler가 호출하는 Lambda 함수가 truloop-core Internal API에서 트리거 대상을 조회하고, SQS를 통해 소비자 서비스로 이벤트를 라우팅합니다.
현재 단일 Lambda 함수(trigger-dispatcher)로 구성되어 있으며, 향후 추가 Lambda 함수가 이 레포에 포함될 수 있습니다.
기술 스택
| 항목 | 기술 | 버전 |
|---|---|---|
| 런타임 (Lambda) | Python | 3.13 |
| IaC | Pulumi (TypeScript) | - |
| 린터/포매터 | Biome | - |
| CI/CD | GitHub Actions | - |
정보
Lambda 함수는 외부 의존성 없이 Python 표준 라이브러리만 사용합니다. boto3는 Lambda 런타임에 기본 포함되어 별도 패키징이 불필요합니다.
프로젝트 구조
truloop-functions/
├── trigger-dispatcher/ # Lambda: EventBridge → Core API → SQS 라우팅
│ └── handler.py # Lambda 핸들러 (단일 파일)
├── infra/ # Pulumi IaC (TypeScript)
│ ├── index.ts # 메인 엔트리 포인트
│ └── src/
│ ├── env-config.ts # 환경 설정 (ESC 주입)
│ └── stack-reference.ts # 다른 Pulumi 스택 참조
└── .github/workflows/ # CI/CD
├── ci.yml # Biome + TypeScript 검사
├── cd.yml # Pulumi 배포 오케스트레이션
├── _deploy-pulumi.yml # 배포 실행 (재사용 워크플로우)
├── _notify-deploy.yml # Slack 알림 (재사용 워크플로우)
├── branch-deploy.yml # 브랜치 배포
└── rollback.yml # 롤백서비스 간 위치
truloop-core의 EventBridge Scheduler가 특정 시점에 Lambda를 비동기 호출하면, Lambda가 Core API에서 대상 사용자 그룹을 페이지네이션으로 조회한 뒤 SQS 메시지로 변환하여 소비자 서비스(현재 truloop-assistant)에 전달합니다.
하위 문서
변경 이력
| 날짜 | 내용 |
|---|---|
| 2026-03-11 | 최초 작성 — truloop-functions 레포 기술 문서 |