Skip to content

Merge dev → main: Vercel Blob 제거, OneDrive 직접 읽기 - #73

Merged
hsol merged 5 commits into
mainfrom
dev
Sep 26, 2026
Merged

hsol merged 5 commits into
mainfrom
dev

Conversation

@hsol

@hsol hsol commented Sep 26, 2026

Copy link
Copy Markdown
Owner

사이트가 개인 OneDrive(hsol-info-blob)를 Microsoft Graph 로 직접 읽는다. Vercel Blob 의존과 동기화 단계를 없앴다.

  • 런타임: site-data, 원페이저, 이력서 PDF, Ask Hansol 문맥, /files 를 OneDrive 에서 읽음. 토큰은 Neon onedrive_token
  • CI: watch-onedrive(매시 변경 감시, 기사 반영, 빌드 디스패치), 빌드는 rclone 으로 vault 를 받고 생성물을 OneDrive 에 게시
  • 프리뷰 검증: /, /resume, /resume/pdf(ko,en), /files public 200, Range 206, private 404, Ask Hansol 응답 200

🤖 Generated with Claude Code

https://claude.ai/code/session_013AJufoD68ZCmdcq1fhN2az

hsol and others added 5 commits September 27, 2026 02:45
서브모듈을 없애면서 refresh 의 vault 변경 감지(부모 커밋의 서브모듈 포인터 비교)가 항상
"변경 없음"이 됐다. OneDrive 에서 vault 를 고쳐도 site-data, 원페이저가 다시 만들어지지 않는다.

- sync-onedrive-to-blob: vault 트랙이 실제로 올리거나 지운 경로(생성물 제외)를 출력으로 넘기고,
  있으면 Build With Vault Refresh 를 vault_changed_files 입력과 함께 디스패치한다.
- build-with-vault-refresh: 그 입력을 VAULT_CHANGED_FILES 로 넘긴다. 입력 없는 수동 실행만 강제.
  같은 ref 실행을 직렬화하고, 생성물 업로드에 cacheControlMaxAge 60 을 준다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013AJufoD68ZCmdcq1fhN2az
Blob 을 걷어내기 위한 첫 단계. 토큰 저장소 모듈(ops/scripts/lib/onedrive-token.mjs)을 두고,
MAINT_OP=migrate-token-to-neon 이 Blob 토큰을 새 키로 암호화해 Neon onedrive_token 에 넣는다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013AJufoD68ZCmdcq1fhN2az
콘텐츠 정본인 개인 OneDrive hsol-info-blob 폴더를 사이트가 Microsoft Graph 로 직접 읽는다.
Blob 은 복사본 캐시였을 뿐이라 동기화 단계와 함께 없앤다.

런타임
- src/lib/onedrive/graph.ts: Graph 읽기 클라이언트. 토큰은 Neon onedrive_token(암호화), 만료 시 리프레시 후 되쓰기
- site-data, 원페이저: OneDrive -> 로컬 vault -> 번들 폴백. Next 데이터 캐시 5분(stale-while-revalidate)
- Ask Hansol 문맥: vault-context.ts 로 교체(blob_lookup -> vault_lookup)
- /files/<키>: OneDrive assets/<키> 를 단기 다운로드 URL 로 받아 흘려보냄(Range, HEAD 유지)
- /resume/pdf: OneDrive vault/object-views/onepager-<lang>.pdf

CI
- watch-onedrive.yml(매시): vault 변경 감지 -> 기사 Neon 반영과 dbId 역기록, 바뀐 경로로 빌드 디스패치.
  기준선은 Neon onedrive_sync_state
- build-with-vault-refresh: rclone 으로 vault 를 받고, 바뀐 생성물과 PDF 만 OneDrive 에 게시
- ops/scripts/lib/rclone-onedrive.mjs, with-onedrive.mjs, publish-generated.mjs
- 제거: sync-onedrive-to-blob, pull-blob-to-vault, @vercel/blob

기타: /architecture 도식과 문구, AGENTS.md 갱신. tsconfig 가 OneDrive 링크 폴더를 훑지 않게 제외

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013AJufoD68ZCmdcq1fhN2az
@vercel

vercel Bot commented Sep 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
hsol-info Ready Ready Preview Sep 26, 2026 7:08pm UTC

Request Review

@hsol
hsol merged commit 68bade3 into main Sep 26, 2026
3 checks passed

This branch was successfully deployed

1 active deployment
Preview — c3b8c592 Deployed Sep 26, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant