All checks were successful
build-and-push / build (push) Successful in 32s
- Project.ClientDomain 필드, MailNote(프로젝트 구성원 공동 메모) 모델
- internal/mailsync: 서비스계정+도메인위임으로 팀 메일함을 도메인 검색·집계(stdlib만, push 패턴 재사용)
· GOOGLE_SA_CREDENTIALS_FILE 미설정 시 비활성(graceful)
- GET /projects/{id}/mails (3분 캐시), GET/PUT /projects/{id}/mail-notes
- fix: handlePatchProject map-key Updates가 camelCase 멀티워드 필드(consultingType·
scopeText·pmEmail·clientDomain·날짜)를 컬럼에 못 맞춰 저장 실패하던 버그 → snakeKeys 변환
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
spin-backend
배포: infra repo → manifests/apps/internal/spin-backend/ → ArgoCD ApplicationSet apps → internal ns.
CI
master 또는 main push → Gitea Actions 가 image build + push (:<sha> + :latest) → git.special-partners.com/admin/spin-backend.
빌드 결과는 자동 배포됩니다 — ArgoCD Image Updater 가 :latest digest 변화를 추적해
infra repo 에 digest 를 write-back 하고 ArgoCD 가 새 이미지로 sync 합니다. (kubectl set image 불필요)
필요 repo secrets (Settings → Actions → Secrets and Variables)
REGISTRY_USER— Gitea usernameREGISTRY_TOKEN— Gitea PAT (scope:read:package,write:package)
환경 변수
.env.sample 참고. 클러스터에선 K8s Secret/value로 자동 주입.
컨테이너 port
8080 (Dockerfile EXPOSE). 변경 시 deployment.yaml의 containerPort 같이 수정.
Description
Languages
Go
99.7%
Dockerfile
0.3%