다른 PC에서 작업 시작하기. 시크릿은 git에 암호화돼 함께 들어갑니다(age 볼트).
git pull로 받음.git clone <repo> (또는 git pull)pnpm install — 워크스페이스 전체 의존성brew install age · Linux 패키지매니저 또는 github.com/FiloSottile/ageinfra/secrets/age-key.txt를 안전한 채널(1Password·암호화 메시지 등)로 1회 받아, 새 PC의 같은 경로 infra/secrets/age-key.txt에 둔다.bash scripts/vault-pull.sh → 모든 env 파일 자동 복원git pull 만으로 시크릿까지 동기화(누가 값 바꿔 push 했다면). 빌드/개발 바로 가능.cd workers/api && npx vitest run → 594 통과cd apps/customer-web && pnpm build (driver/admin 동일)| 암호화 볼트 | infra/secrets-vault.age — git 커밋됨(암호문). env 6종 묶음(고객·기사 .env.production.local/.env.local, workers/api/.dev.vars, infra/.env=DB비번) |
|---|---|
| 개인키 | infra/secrets/age-key.txt — 커밋 안 됨(gitignore). 1회만 전달 |
| 값 변경 시 | env 수정 → bash scripts/vault-push.sh → git add infra/secrets-vault.age && commit && push |
| 받기 | 다른 PC: git pull && bash scripts/vault-pull.sh |
NEXT_PUBLIC_* 키는 사실 공개값(번들 노출). 프로덕션 워커 시크릿(JWT/VAPID/INTERNAL 등)은 Cloudflare에 별도 저장(wrangler secret list) — 로컬 .dev.vars는 wrangler dev 때만 필요.
| Cloudflare 로그인 | 다른 PC에서 npx wrangler login 1회 |
|---|---|
| DB 마이그레이션 | psql로 직접 적용 (workers/api/src/db/migrations/*.sql, 최신 0020). 비번은 infra/.env |
| 워커 | cd workers/api && npx wrangler deploy |
| PWA(Pages) | npx wrangler pages deploy apps/<app>/out --project-name=ktaxi-<app> --branch=main --commit-message="ascii" --commit-hash="$(git rev-parse HEAD)" · 배포 전 version.ts + sw.js 버전 범프 |
| 가이드 사이트 | npx wrangler pages deploy docs/guide-site --project-name=t-taxi-guide ... |
ALTER USER + wrangler hyperdrive update 5e7158b6... --origin-password <새비번> 둘 다 해야 함(하나만 하면 API가 DB 접속 잃음). 이후 infra/.env + vault-push.