10~20대 학습자를 위한 폴더형 메모 서비스
EKS 위에 GitOps 방식으로 배포
(현재 서버를 내린 상태이기 때문에 접속할 수 없습니다.)
Foldy는 공부 내용을 폴더와 태그로 정리할 수 있는 메모 서비스입니다.
학습자가 자신만의 노트를 체계적으로 관리할 수 있도록 돕습니다.
| 영역 | 기술 |
|---|---|
| Backend | Spring Boot 3.5, JPA, Spring Security |
| Frontend | Thymeleaf, Bootstrap |
| DB | MySQL 8.0 (RDS) |
| Storage | AWS S3 |
| Container | Docker, Amazon ECR |
| Orchestration | Amazon EKS |
| IaC | Terraform |
| CI | GitHub Actions (OIDC) |
| CD | ArgoCD (GitOps) |
| Monitoring | kube-prometheus-stack, Grafana |
GitOps 정석(CI는 App 레포, CD는 Config 레포)에 따라 레포를 분리 운영합니다.
| 레포 | 책임 | 주요 내용 |
|---|---|---|
| team3-app (현재 레포) | 애플리케이션 + CI | Spring Boot 소스, Dockerfile, GitHub Actions (OIDC → ECR) |
| team3-config | 인프라 + 배포 (CD) | Terraform(infra/), k8s 매니페스트, ArgoCD Application, 관측성 |
| team3-testApp | 파이프라인 테스트용 | Hello 컨트롤러만 포함. CI/CD(빌드→ECR→ArgoCD) 흐름을 본 서비스 적용 전 먼저 검증한 레포 |
💡 앱 코드와 인프라/매니페스트를 분리하여, ArgoCD가 Config 레포를 단일 진실 공급원(SSoT)으로 추적합니다.
인프라 프로비저닝·배포 방법은 team3-config 의 README를 참고하세요.
| 브랜치 | 설명 |
|---|---|
main |
최종 배포 브랜치 |
develop |
통합 개발 브랜치 |
feature/* |
기능 개발 |
fix/* |
버그 수정 |
chore/* |
설정/빌드 변경 |
ci/* |
CI/CD 변경 |
infra/* |
인프라 변경 |
형식: 타입/이름_날짜/기능설명
feature/HKD_20260522/login-api
feature/HKD_20260522/memo-crud
fix/HKD_20260522/jwt-expire-error
chore/HKD_20260522/dockerfile-update
infra/HKD_20260522/vpc-module형식: <타입>: <한 줄 요약>
| 타입 | 설명 |
|---|---|
feat |
새로운 기능 추가 |
fix |
버그 수정 |
refactor |
리팩토링 |
chore |
빌드/설정 변경 |
ci |
CI/CD 변경 |
infra |
인프라 변경 |
docs |
문서 수정 |
feat: 메모 생성 API 구현
fix: JWT 만료 처리 오류 수정
chore: Dockerfile JDK 17 변경
ci: GitHub Actions OIDC role-to-assume 적용
infra: EKS 노드그룹 인스턴스 타입 변경git commit -m "수정"
git commit -m "작업중"
git commit -m "aaaa"feature/*→develop방향으로만 PR 생성- PR 제목 형식:
[feat] 메모 생성 API 구현 - PR 본문 템플릿 반드시 작성
- 인프라 변경 PR은
terraform plan결과 첨부 필수 - 팀원 1인 이상 리뷰 후 approve → merge
- approve 없이 merge 금지
[PR 생성] → 빌드 / 테스트 [main merge]→ Docker 빌드(git SHA 태그) → OIDC로 ECR push → team3-config의 image tag 갱신 → ArgoCD가 감지 → (manual) sync → EKS 배포
- CI: GitHub Actions, AWS 인증은 OIDC (Access Key 미사용)
- CD: ArgoCD (manual sync), Config 레포가 SSoT
| 문서 | 위치 |
|---|---|
| 기획안 | 프로젝트2_3팀[기획안] |
| 아키텍처 설계서 | 프로젝트2_3팀[아키텍처] |
| 인프라 / 배포 (Terraform, ArgoCD) | team3-config 레포 |
| 트러블슈팅 / 일일 기록 | 팀 노션 |