From 70a9bb500d5ca68dae33dee4fa87bbcc1b0c252c Mon Sep 17 00:00:00 2001 From: kappa Date: Fri, 27 Mar 2026 15:34:53 +0900 Subject: [PATCH] =?UTF-8?q?Gitea:=20R2=20=EC=8A=A4=ED=86=A0=EB=A6=AC?= =?UTF-8?q?=EC=A7=80=20=EC=97=B0=EB=8F=99,=20BunnyCDN=20iron-git=20?= =?UTF-8?q?=EB=B6=84=EB=A6=AC,=20SSH=20=ED=8F=AC=ED=8A=B8=202202=20?= =?UTF-8?q?=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/gitea.md | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/services/gitea.md b/services/gitea.md index a30d791..0b10f37 100644 --- a/services/gitea.md +++ b/services/gitea.md @@ -1,6 +1,6 @@ --- title: Gitea 서버 및 CI/CD -updated: 2026-03-17 +updated: 2026-03-27 --- ## 서버 @@ -9,9 +9,10 @@ K3s 클러스터에서 Helm 차트(gitea/gitea 12.5.0)로 운영. 네임스페 - Gitea 1.25.4 + PostgreSQL 16 + Valkey - 도메인: gitea.anvil.it.com -- 트래픽: BunnyCDN(actions) → APISIX 서울 → K3s Traefik → gitea svc:3000 -- SSH 활성화, 외부 포트 2202 (relay4wd 경유: `ssh -p 2202 git@git.inouter.com`), MetalLB 192.168.9.54:22, SSH_DOMAIN: git.inouter.com -- 스토리지: Longhorn PVC 5Gi (data + PostgreSQL 각각) +- 트래픽: BunnyCDN(iron-git, BlockNoneReferrer: false) → HAProxy → Traefik → gitea svc:3000 +- SSH 활성화, 외부 포트 2202 (relay4wd APISIX stream_route 경유: `ssh -p 2202 git@git.inouter.com`), MetalLB 192.168.9.54:22, SSH_DOMAIN: git.inouter.com +- 스토리지: Git 저장소 Longhorn PVC 5Gi, **그 외 전부 R2** (패키지/LFS/첨부파일/아바타/아카이브/Actions) +- R2 버킷: `gitea-storage` (APAC), Vault `secret/cloud/r2-gitea`, K8s Secret `gitea-r2` - 시크릿: Vault `secret/apps/gitea` - Deployment strategy: Recreate (RWO PVC 충돌 방지) - 메일: Mailgun SMTP (`gitea@anvil.it.com`, 도메인 `anvil.it.com`) @@ -32,7 +33,23 @@ helm upgrade gitea gitea-charts/gitea -n gitea -f ~/k8s/gitea/values.yaml ## 이미지 레지스트리 -모든 gitea 이미지는 gitea.anvil.it.com/kaffa/ 경로 +모든 컨테이너 이미지는 `gitea.anvil.it.com/kaffa/` 경로. R2 `gitea-storage` 버킷에 저장. + +### R2 스토리지 설정 + +| 항목 | 값 | +|------|-----| +| STORAGE_TYPE | minio (S3 호환) | +| 엔드포인트 | `d8e5997eb4040f8b489f09095c0f623c.r2.cloudflarestorage.com` | +| 버킷 | `gitea-storage` | +| API 키 | Vault `secret/cloud/r2-gitea` (access_key_id, secret_access_key) | +| K8s Secret | `gitea-r2` (gitea 네임스페이스) | + +R2에 저장되는 데이터: packages, lfs, attachments, avatars, repo-avatars, repo-archive, actions_log, actions_artifacts + +### BunnyCDN Pull Zone 분리 (2026-03-27) + +Gitea는 iron-kr에서 **iron-git** (ID 5584382)으로 분리. 이유: iron-kr의 `BlockNoneReferrer: true`가 git 클라이언트(Referrer 없음)를 차단하여 git push/pull 403 에러 발생. iron-git은 `BlockNoneReferrer: false`로 설정. ## Act Runner