코인충 서버를 nodejs => go로 마이그레이션중이었는데, 방금 슬랙으로 보고받음
--------
🚀 coinsect-api Go 마이그레이션 완료 (2026-09-26 12:44~13:20 KST)
• 컷오버: Node(pm2) → Go(systemd). 다운타임 약 4초. 5xx 0건, 오류 재시작 0회. RSS 371MB → 50~175MB
• 검증: go test -race 2086개 통과. 운영 shadow 비교 302건, 미등록 차이 0건
• 보안: 감사 S1–S29 중 28건 수정. S9(Slack 버튼 서명)는 소유자 결정으로 수용(P4-48), response_url만 제한. 클라이언트 XSS(v-html·linkify)도 정리
• 버그: B1–B36 처리. Node와 달라진 동작은 docs/intended-differences.md(DIFF-001~119)
• 기능: 고래 알림·가격예측 삭제. 매매 스레드, 리치 에디터(동영상·X/인스타 임베드) 서버 지원 추가
• 클라이언트: nuxt #14, web #6, admin #1 머지·배포 완료
• 운영: systemd + ci 성공 뒤 자동 배포(workflow_run). nginx X-Real-IP, 4100 외부 차단, Prometheus/promtail 전환
• 데이터: 익명 비밀번호 1,785건 argon2id로 감쌈, 본문 1,218건 재정화(이미지·영상·링크 손실 0), whale_alerts 덤프 후 DROP, 스키마 003a/003b/004
• 사후 수정: CoinGecko 429 때 요청마다 재시도하던 문제 백오프(e85dc0a, 배포됨)
• 캡처: 바탕화면 아이콘을 Go capture.exe로 바꿔 둠. 지금 떠 있는 Node 캡처 창을 닫고 아이콘으로 다시 띄우면 끝
남은 일: Firebase 서비스 계정 키·METRICS_TOKEN 교체(원하실 때), D+14 백업 테이블 정리(롤백 창 ~10/10), 레포 이름 변경(Task 24)
완료 보고서 (보안 구멍 사후 보고 포함) · 컷오버 런북·롤백 절차
----
직접 하려다 엄두도 못내던건데 그냥 딸깍으로 한 사흘쯤 걸린 듯
놀랍다 Opus 5.5