
Homelab for Shelken
Homelab GitOps 仓库。Kubernetes 集群、基础设施组件、应用、外部 Compose 服务、备份和运维文档都从这里管理。
- 容器编排:Kubernetes / k3s
- GitOps:Flux CD v2
- 网络:Cilium、Multus、Envoy Gateway、External-DNS
- 密钥:SOPS、External Secrets、Azure KeyVault
- 存储:Longhorn、CloudNativePG、SMB
- 备份:Volsync、MinIO、Kopia
- 外部服务:
compose/sakamoto/、compose/vps/
完整架构见 docs/ARCHITECTURE.md。
| 文档 | 用途 |
|---|---|
docs/README.md |
文档总索引 |
docs/ARCHITECTURE.md |
物理部署、服务分布、入口流量、监控采集、备份链路 |
docs/network-inventory.md |
LoadBalancer、Multus 和固定服务地址清单 |
docs/operations-notes.md |
常见 Flux、Cilium、Longhorn、SMB、Multus 排障入口 |
docs/router/README.md |
OpenWrt、BGP、VLAN、mDNS 配置 |
postmortems/README.md |
事故复盘和长期规则 |
| 路径 | 用途 |
|---|---|
k8s/clusters/staging/kustomization.yaml |
Flux 监控的应用与基础设施入口 |
k8s/apps/common/ |
应用部署 |
k8s/infra/common/ |
基础设施部署 |
k8s/components/ |
可复用组件模板 |
compose/sakamoto/ |
sakamoto Docker Compose 服务 |
compose/vps/ |
VPS Docker Compose 服务 |
bootstrap/ |
集群引导资源 |
ansible/ |
节点初始化和系统配置 |
.taskfile/ |
Task 子任务定义 |
docs/ |
架构、部署和运维文档 |
- 常规变更走 Git + Flux,不直接
kubectl apply。 - 资源删除必须先确认目标和影响范围。
- 本地未提交/未推送的文件不是集群状态。
- 新增或禁用
k8s/apps/common/应用时,同步维护.renovate/packageRules.json5。 - 需要暴露单独地址时,优先确认 LoadBalancer、Multus、Gateway、External-DNS 的责任边界。
- 需要容器镜像时固定版本和 digest,并交给 Renovate 后续更新。
task --list更多命令见 Taskfile.yaml 和 .taskfile/。
