update
This commit is contained in:
54
PRD.md
Normal file
54
PRD.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# PocketBase Helm Chart 设计文档
|
||||
|
||||
## 概述
|
||||
|
||||
使用 Helm Chart 管理多个 PocketBase 实例,每个实例对应独立的域名。
|
||||
|
||||
使用k3s集群部署,Traefik作为Ingress控制器,SQLite作为本地存储。
|
||||
|
||||
## 需求
|
||||
|
||||
- 批量部署多个 PocketBase Pod
|
||||
- 每个实例绑定独立域名:`{id}.pb.xiongxiao.me`
|
||||
- 使用 Traefik 作为反向代理和入口控制器
|
||||
- 通过 Helm 实现统一配置管理
|
||||
- 使用 SQLite 本地存储(默认)
|
||||
|
||||
## 架构
|
||||
|
||||
```
|
||||
Traefik Ingress
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────┐
|
||||
│ Helm Release (values.id) │
|
||||
│ ├── pocketbase-{id} Service │
|
||||
│ │ │ │
|
||||
│ │ ▼ │
|
||||
│ │ pocketbase-{id} Pod │
|
||||
│ │ │ │
|
||||
│ └─────────┼──→ {id}.pb.xiongxiao.me
|
||||
│
|
||||
▼
|
||||
SQLite (本地存储)
|
||||
```
|
||||
|
||||
## 配置方式
|
||||
|
||||
通过 `values.yaml` 配置实例列表:
|
||||
|
||||
```yaml
|
||||
instances:
|
||||
- id: "app1"
|
||||
domain: "app1.pb.xiongxiao.me"
|
||||
replicaCount: 1
|
||||
- id: "app2"
|
||||
domain: "app2.pb.xiongxiao.me"
|
||||
replicaCount: 1
|
||||
```
|
||||
|
||||
## 部署命令
|
||||
|
||||
```bash
|
||||
helm install pocketbase ./pocketbase -f values.yaml
|
||||
```
|
||||
Reference in New Issue
Block a user