# n8n Helm Chart - CLAUDE.md ## リポジトリ概要 n8n ワークフロー自動化ツールを Kubernetes 上にデプロイするHelmチャートです。 Raspberry Pi などのベアメタル上で動作する Kubernetes クラスタを想定した構成になっています。 `n8nio/n8n` 公式マルチアーキテクチャイメージ(linux/arm64 対応)を使用します。 ## ARM 対応について `n8nio/n8n` は linux/arm64 に対応したマルチアーキテクチャイメージです。 Raspberry Pi 4 以降(arm64)で動作します。 ## Git 情報 - **ユーザー名**: Claude - **メールアドレス**: claude@cafepieters.com - **リポジトリ**: ssh://git@192.168.9.65/helmchart/n8n.git ## チャート構成 | リソース | 説明 | |---|---| | Deployment | n8n 本体(シングルコンテナ) | | Service | LoadBalancer / ClusterIP(ポート 5678) | | PVC | n8n データ(ワークフロー・認証情報・SQLite DB)永続化 | | Secret | 暗号化キー・Basic認証パスワード・DBパスワード | | Ingress | オプション(nginx ingress controller 対応) | | HPA | オプション(※SQLiteモード時はスケールアウト非推奨) | | PDB | Pod Disruption Budget | | NetworkPolicy | オプション | ## データ永続化 n8n のデータは `/home/node/.n8n` に保存されます。 `persistence.enabled: true`(デフォルト)で PVC に永続化されます。 **persistence.enabled: false の場合、Pod 再起動でデータが失われます。** ## データベース - デフォルト: SQLite(`/home/node/.n8n/database.sqlite`) - 本番推奨: PostgreSQL(`n8n.database.type: postgresdb`) ## 更新時のルール **チャートに何らかの変更を加えた場合、必ず `README.md` を最新状態に更新してからコミットすること。** 更新内容に応じて以下を反映する: - イメージバージョン・設定値の変更 → values の表を更新 - テンプレート追加・削除 → チャート構成表を更新 - 設定項目の追加・変更 → 設定リファレンス表を更新 - 注意事項・制限事項の変更 → 該当セクションを更新 ## リリースフローのルール ### バージョン番号の方針 - Helmチャートのバージョン番号(`Chart.yaml` の `version` / `appVersion`)は、**n8n のバージョン番号と同一**とする。 ### 自動リリース条件 - **n8n バージョン更新時**: `values.yaml` と `Chart.yaml` を更新し、Gitタグ・Giteaリリース・Gitea Package Registry への発行まで行う。 ### 手動リリース(臨時) - 改修作業などで手動リリースが必要な場合は、バージョン末尾にアルファベットを付与する。 - 例: `2.19.2` → `2.19.2-a`, `2.19.2-b` ## ワークフロー構成 ### `.gitea/workflows/image-update-and-release.yaml` 毎週月曜日 3:00 AM(JST 12:00 PM)に自動実行され、以下を行う: 1. Docker Hub から n8n の最新バージョンを取得 2. 更新がある場合は `values.yaml` と `Chart.yaml` を更新 3. Gitタグ・Giteaリリース・Gitea Package Registry への発行を実施 ### `.gitea/workflows/helm-release.yaml` `main` ブランチへのプッシュ時に自動実行。Gitea Package Registry にチャートを発行する。 ## 必要な Gitea Secrets | シークレット名 | 用途 | |---|---| | `GITEA_TOKEN` | Gitea API(リリース作成・タグ操作) | | `REGISTRY_USER` | Gitea Package Registry ユーザー名 | | `REGISTRY_TOKEN` | Gitea Package Registry トークン |