From e0f9ebdbfdae0678d18e002ce5ee1aaf537bc8bd Mon Sep 17 00:00:00 2001 From: Ruk Doe Date: Wed, 16 Sep 2026 16:01:38 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20ArgoCD=20=E3=81=8C=E8=A6=8B=E3=82=8B=20F?= =?UTF-8?q?orgejo=20=E3=81=AE=E7=B5=84=E7=B9=94=E5=90=8D=E3=82=92=20doa=20?= =?UTF-8?q?=E3=81=AB=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 組織を danything → doa に改名したあと、ArgoCD が旧名の URL を叩いて 307 を 受け、worklog / todoroku / tamasagashi の 3 つが Unknown で同期停止していた (ArgoCD の git クライアントはリダイレクトを追わない)。scmProvider の owner を doa にして、改名時に直す場所をコメントに書いた。 bootstrap/ は手で適用するので、マージ後に kubectl apply が要る。 Infisical /argocd/forgejo-repo-creds の url も doa に直すこと(repo-creds は URL の接頭辞で照合するため)。 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01JgGYf5qbjDXYhtzcpLsGvv --- apps/forgejo/README.md | 4 ++-- apps/forgejo/argocd-creds.yaml | 4 ++-- bootstrap/argocd/repos.yaml | 8 ++++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/apps/forgejo/README.md b/apps/forgejo/README.md index 1ee833b..5063f55 100644 --- a/apps/forgejo/README.md +++ b/apps/forgejo/README.md @@ -45,7 +45,7 @@ 1. Forgejo に組織 `danything` を作る 2. ArgoCD 用のアクセストークンを作り(`read:repository` と `read:organization`)、Infisical `/argocd/forgejo-repo-creds` に - `url` = `https://fj.doany.io/danything` / `username` / `password` = トークン で入れる([argocd-creds.yaml](argocd-creds.yaml))。 + `url` = `https://fj.doany.io/doa` / `username` / `password` = トークン で入れる([argocd-creds.yaml](argocd-creds.yaml))。 **スコープは repository・organization・issue の読み取り。** issue が無いと、非公開リポジトリができた時点で ApplicationSet が `token does not have at least one of required scope(s): [read:issue]` で止まる(2026-09-15) 3. `bootstrap/argocd/repos.yaml` に Forgejo の generator を足す PR をマージする(**Forgejo とトークンが揃ってから**。 @@ -55,7 +55,7 @@ 1. Forgejo の「新しい移行」で組織 `danything` の下に取り込む(Issue / PR / リリースも)。非公開のまま入り、チーム members が読める 2. ワークフローを Forgejo 向けに直す(`.github/workflows/` のままで読まれる) - - イメージは `ghcr.io/danything/` → `fj.doany.io/danything/`。push はワークフローの `secrets.GITHUB_TOKEN`(Forgejo のトークン)で通る + - イメージは `ghcr.io/danything/` → `fj.doany.io/doa/`。push はワークフローの `secrets.GITHUB_TOKEN`(Forgejo のトークン)で通る - クラスタが pull できるように、アプリの namespace に `imagePullSecrets` を足す(Forgejo の `read:package` トークンを Infisical から `kubernetes.io/dockerconfigjson` で) - claude-review(GitHub App)のワークフローは消す。Forgejo では動かない 3. Forgejo で CI とイメージの push が通るのを確かめる diff --git a/apps/forgejo/argocd-creds.yaml b/apps/forgejo/argocd-creds.yaml index a758370..cd1e53b 100644 --- a/apps/forgejo/argocd-creds.yaml +++ b/apps/forgejo/argocd-creds.yaml @@ -1,8 +1,8 @@ -# ArgoCD が Forgejo の danything/* を読むための資格情報(repo-creds)。 +# ArgoCD が Forgejo の doa/* を読むための資格情報(repo-creds)。 # bootstrap/argocd/repos.yaml の gitea scmProvider の API スキャンにも同じトークンを使う。 # # Infisical /argocd/forgejo-repo-creds に 3 つ: -# url https://fj.doany.io/danything +# url https://fj.doany.io/doa ← 組織名を変えたらここも直す(接頭辞で照合する) # username トークンを作ったユーザー名 # password Forgejo のアクセストークン(read:repository と read:organization だけ) # diff --git a/bootstrap/argocd/repos.yaml b/bootstrap/argocd/repos.yaml index ff0d2d2..68da360 100644 --- a/bootstrap/argocd/repos.yaml +++ b/bootstrap/argocd/repos.yaml @@ -43,7 +43,11 @@ spec: revision: '{{ .branch }}' files: - path: deploy/argocd.yaml - # 同じ形で Forgejo(fj.doany.io)の danything も見る。**プライベートのリポジトリは GitHub に置かず + # 同じ形で Forgejo(fj.doany.io)の doa(2026-09-16 に danything から改名)も見る。 + # **改名したら必ずここを直す。** 旧名のままだと Forgejo が 307 を返し、ArgoCD の + # git クライアントはリダイレクトを追わないので、対象のアプリが丸ごと Unknown で止まる。 + # あわせて Infisical /argocd/forgejo-repo-creds の url も直すこと(repo-creds は URL の + # 接頭辞で照合するため、ずれると資格情報が付かない)。**プライベートのリポジトリは GitHub に置かず # Forgejo にだけ置く**方針(2026-09-15。GitHub Actions の課金はプライベートにだけ掛かる)。 # Forgejo の API は Gitea と同じなので gitea の scmProvider で読める。 # 読むための資格情報は apps/forgejo/argocd-creds.yaml(Infisical から)。scan と clone の両方に使う。 @@ -54,7 +58,7 @@ spec: - scmProvider: cloneProtocol: https gitea: - owner: danything + owner: doa api: https://fj.doany.io/ allBranches: false tokenRef: