Commit Graph

7 Commits

Author SHA1 Message Date
chpark 5390beaed9 fix(ci): secrets source를 docker build 이전으로 이동
Deploy / deploy (push) Successful in 1m4s
2026-04-23 01:38:55 +09:00
chpark 11b65d5b88 fix(ci): secrets 파일 덮어쓰기 방지 (write_kv 사용)
Deploy / deploy (push) Successful in 1m0s
2026-04-23 01:35:42 +09:00
chpark c53cc69d97 fix(kakao): Kakao SDK v2 authorize 방식으로 전환 + code 교환 엔드포인트
Deploy / deploy (push) Failing after 0s
- Kakao SDK v2.7에서 Auth.login() 제거 → authorize() 리다이렉트 플로우 사용
- services/kakao.ts: kakaoWebLoginStart() redirect 시작
- RootNavigator: 웹 URL의 code + state=kakao_login 감지 → kakaoCodeLogin 호출
- useAuthStore.kakaoCodeLogin 추가 (authApi.kakaoCode 호출)
- 백엔드 /auth/kakao/code: REST API 키로 code→access_token 교환 후 기존 processKakaoLogin 재사용
- api-secrets에 kakaoRestApiKey/kakaoClientSecret 슬롯 추가
- 환경변수: KAKAO_REST_API_KEY 서버에 저장 완료

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 01:27:49 +09:00
chpark 49639252bf ci: self-hosted runner 직접 실행 (SSH 불필요) + root 모드 sudo 자동 스킵
Deploy / deploy (push) Failing after 0s
2026-04-23 01:20:50 +09:00
chpark d05685935d feat: 클라이언트 빌드 시 카카오/네이버 JS 키 주입
Deploy via SSH / remote-deploy (push) Failing after 1s
2026-04-23 01:17:18 +09:00
chpark cfd550bed8 feat: AI판정/OCR/알림톡/소셜로그인/푸시/CODEF 전체 구현 + CI SSH 전환
Deploy via SSH / remote-deploy (push) Failing after 6s
Backend (server/src):
- services/anthropic.ts — Claude API 래퍼 (키 없으면 룰베이스 fallback)
- services/ocr.ts — Naver Clova + Google Vision 듀얼 연동 + 영수증 필드 파서
- services/solapi.ts — 카카오 알림톡 HMAC 서명 + 드라이런
- services/expoPush.ts — Expo Push API 전송
- services/codef.ts — 보험 통합조회 mock + 실연동 포인트
- routes/ai.ts, ocr.ts, devices.ts, social.ts (naver/apple), alimtalk.ts, codef.ts
- Prisma: PushDevice 모델 + binaryTargets linux-musl-openssl-3.0.x
- Dockerfile: apk add openssl (Prisma schema engine 정상화)
- api-secrets에 9개 외부 API 키 슬롯 추가 (optional)

Frontend:
- api/endpoints.ts: aiApi, ocrApi, deviceApi, socialApi, codefApi
- services/kakao.ts — Kakao JS SDK 동적 로드 + Auth.login
- services/push.ts — expo-notifications 권한/토큰 등록 + 서버 전송
- LoginScreen — 카카오/네이버/애플 버튼 (웹은 토큰 입력 fallback)
- AIJudgeScreen — 실제 /ai/claim-judge 호출, source(llm/rules) 표시
- ClaimScreen — 영수증 촬영 시 자동 OCR → 병원/날짜/제목 자동 기입
- useAuthStore hydrate 시 푸시 토큰 등록

Infra:
- eas.json (development/preview/production 빌드 프로필)
- API_KEYS.md — 9개 외부 서비스 발급/등록 가이드
- scripts/deploy-remote.sh 개선 (sudo 정확히, traefik cp 버그 수정, API fail 시 로그 출력)
- deploy/k8s/api.yaml — 외부 API 키 환경변수 매핑 (optional=true)

CI/CD:
- .gitea/workflows/deploy.yml → SSH 기반으로 전환
  (appleboy/ssh-action으로 서버 접속 → deploy-remote.sh 실행)
- 필요 Secrets: SSH_HOST, SSH_USER, SSH_PASSWORD

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 00:56:06 +09:00
chpark ff18784983 fix: 서버 k3s/Traefik 인프라에 맞춰 매니페스트 재작성
Build & Deploy / build-and-deploy (push) Failing after 11s
- image: Gitea registry → 서버 로컬 registry(localhost:5000)로 변경
- Service: ClusterIP + Ingress → NodePort(30200/30201) + Traefik docker dynamic 파일
- deploy/traefik-dynamic.yml: /opt/docker/traefik/dynamic/insurance.yml 배치용
- scripts/deploy-remote.sh: 서버 수동 배포 스크립트 (build→push→k3s apply→traefik 설정)
- legacy ingress.yaml / ingressroute-traefik.yaml 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 00:44:05 +09:00