0b6b542f77
Helm Chart Release / release-chart (push) Successful in 4s
- n8nio/n8n 2.19.2 (multi-arch, linux/arm64 ready) - Single-container deployment with persistent storage - SQLite default / PostgreSQL option - Basic auth, encryption key via Secret - Ingress, HPA, PDB, NetworkPolicy support - Gitea CI: weekly auto-update + release workflow Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
74 lines
3.1 KiB
Markdown
74 lines
3.1 KiB
Markdown
# 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`)
|
||
|
||
## リリースフローのルール
|
||
|
||
### バージョン番号の方針
|
||
- 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 トークン |
|