커밋 그래프

22 커밋

작성자 SHA1 메시지 날짜
b1daa36911 ci: deploy.yml에 OpenSky 크레덴셜 환경변수 추가 2026-03-19 11:02:28 +09:00
7fa4e2bfb1 feat: 센서 그래프 개선 + 지진 마커 + 시설 아이콘 정렬 + SSH 재시도 v2
- SensorChart: 히스토리 1H/2H/3H/6H, 기압 SLP 보정, 데이터 범위 확장(y축 시작)
- SensorChart Tooltip: KST 시간 포맷, 위치 상단 고정, 스타일 통일
- 지진 포인트 클릭 → 지도 flyTo + SeismicMarker 진도별 펄스 원형 표시
- SatelliteMap flyTo 지원 추가
- OilFacilityLayer: planned ring SVG 내부로 이동 (아이콘 중심 정렬 수정)
- 밝은 테마 text-shadow CSS 변수 분리 (dark/light)
- deploy.yml: SSH SCP+실행 각 3회 재시도 (kex_exchange 거부 대응)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:02:55 +09:00
b41324aa54 fix(deploy): SSH 연결 재시도 로직 추가 (kex_exchange 거부 대응)
- 본 명령 실행 전 SSH 연결 테스트 (최대 3회, 10초 간격)
- ServerAliveInterval=15 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:59:35 +09:00
c9f295288c fix(deploy): SSH set -e 제거 + curl fallback (#49)
All checks were successful
Deploy KCG / deploy (push) Successful in 1m14s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 08:45:33 +09:00
7b05598714 fix(deploy): SSH 디버그 + printf 키 저장 (#48)
Some checks failed
Deploy KCG / deploy (push) Failing after 1m12s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 08:42:19 +09:00
6182a79ae4 fix(deploy): SSH 호스트 내부 IP 고정 (signal-batch 패턴) (#47)
Some checks failed
Deploy KCG / deploy (push) Failing after 1m11s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 08:38:49 +09:00
5d01b0e6e5 fix(deploy): gateway 감지 ip → /proc/net/route (#46)
Some checks failed
Deploy KCG / deploy (push) Failing after 1m15s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 08:35:17 +09:00
db8334b08e fix(deploy): SSH 호스트 IP 동적 감지 + health check 개선 (#45)
Some checks failed
Deploy KCG / deploy (push) Failing after 1m6s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 08:31:34 +09:00
1549adafc7 fix(deploy): health check + PressureCollector 중복 방지 (#44)
Some checks failed
Deploy KCG / deploy (push) Failing after 1m12s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 08:25:52 +09:00
351a7c6466 fix(deploy): SSH 호스트 IP 수정 (Docker bridge gateway) (#36)
Some checks failed
Deploy KCG / deploy (push) Failing after 1m39s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 06:52:22 +09:00
282adff6a7 fix(deploy): SSH 기반 백엔드 자동 재시작 (#35)
Some checks failed
Deploy KCG / deploy (push) Failing after 1m8s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 06:34:24 +09:00
49c493b9da fix(deploy): CI에서 직접 백엔드 서비스 재시작 (#33)
Some checks failed
Deploy KCG / deploy (push) Failing after 1m6s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 06:13:35 +09:00
fe1de4bf51 fix(deploy): 배포 자동화 + 수집기 모니터링 + 이란 signal-batch 연동 (#32)
All checks were successful
Deploy KCG / deploy (push) Successful in 1m10s
Co-authored-by: htlee <htlee@gcsc.co.kr>
Co-committed-by: htlee <htlee@gcsc.co.kr>
2026-03-18 05:46:55 +09:00
985315d147 fix(ci): JDK 21 설치 — Adoptium Temurin APT 저장소 사용
node:24(Debian bookworm) 기본 apt에 openjdk-21 없음.
Adoptium GPG 키 + 저장소 추가 후 temurin-21-jdk 설치.
2026-03-17 16:58:26 +09:00
1e4c51e76b feat(aircraft): 항공기 백엔드 수집기 구현 + 프론트엔드 전환
- Airplanes.live / OpenSky @Scheduled 수집기 (60초 주기)
- 인메모리 캐시 + PostGIS DB 적재 (향후 리플레이용)
- GET /api/aircraft?region=iran|korea REST API
- 프론트엔드 LIVE→백엔드 API, REPLAY→샘플 전용
- JDK 17→21 업그레이드 (pom, sdkmanrc, CI/CD, systemd)
2026-03-17 16:50:17 +09:00
3931c23939 fix(ci): .env에 빈 secrets 기록 방지 (JWT_SECRET 빈 값 문제) 2026-03-17 16:05:30 +09:00
7cde0c57d8 feat(frontend): UI 브랜딩 개선 + 배포 설정 정리
- 로그인 화면: kcg.svg 로고 적용 (이모지 교체)
- 헤더 우측: 사용자 프로필/이름 + 로그아웃 버튼 추가
- 브라우저 탭: favicon → kcg.svg, 제목 → kcg-dashboard-demo
- 프로덕션 빌드: console/debugger 자동 제거
- CORS: CorsFilter 최우선 순위 등록 (AuthFilter 이전)
- deploy.yml: secrets → .env 파일로 배포
- systemd/nginx: 경로 /devdata/services/kcg/ 반영
2026-03-17 15:50:05 +09:00
7d594ba632 fix(ci): deploy.yml 전면 재구성 (act 컨테이너 환경 대응)
- sudo 제거 (컨테이너 내 root)
- apt-get으로 JDK/Maven 설치 (sudo 없이)
- actions/setup-node 제거 (node:24 이미지 기본 제공)
- systemctl → .deploy-trigger + systemd path unit
- kcg-backend-watcher.path/.service 추가
2026-03-17 15:17:56 +09:00
bdf87c1822 fix(ci): @rollup/rollup-darwin-arm64 직접 의존성 제거 (플랫폼 호환) 2026-03-17 14:48:45 +09:00
6607960df8 fix(ci): package-lock.json 제거 후 npm install (플랫폼 호환)
macOS에서 생성된 package-lock.json에 darwin-arm64 전용
optional dependency가 고정되어 Linux 러너에서 EBADPLATFORM 에러.
CI에서 lock 파일 없이 fresh install하여 플랫폼에 맞는 의존성 설치.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 14:29:09 +09:00
c5ab82fd19 fix(ci): npm ci → npm install --no-optional (Linux 플랫폼 호환)
macOS ARM64용 @rollup/rollup-darwin-arm64가 package-lock.json에
고정되어 Linux x64 러너에서 EBADPLATFORM 에러 발생.
npm install --no-optional로 플랫폼별 optional dependency를 건너뜀.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 14:21:16 +09:00
fea77361d8 chore: CI/CD 파이프라인 + 배포 설정 + 루트 정리
- .gitea/workflows/deploy.yml: main merge 시 frontend/backend 자동 빌드·배포
- deploy/kcg-backend.service: systemd 서비스 (JDK 17, 2~4GB 힙)
- deploy/nginx-kcg.conf: SSL + SPA 서빙 + API 프록시 + 외부 API CORS 프록시
- .githooks/pre-commit: 모노레포 대응 (frontend tsc+eslint, backend mvn compile)
- .gitignore: frontend/backend/prediction 각각 빌드 산출물 추가
- CLAUDE.md: 모노레포 구조 반영

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 13:55:21 +09:00