Author SHA1 Message Date
panxiao81 4f6b916ae5 docs: 更新 runner 默认提供 Docker 的接口约定
docs / check (pull_request) Successful in 24s
2026-09-24 08:29:55 +00:00
panxiao81 172c17bfa3 docs: 固定已合并的 Ayatori Database ADR 来源
docs / check (pull_request) Successful in 14s
2026-09-21 06:34:31 +00:00
panxiao81 e37957f12d 修正 Ayatori DBaaS 设计来源链接
docs / check (pull_request) Successful in 38s
2026-09-20 20:44:03 +00:00
panxiao81 0aaf689e2b 明确 DBaaS 完整设计合同直接复用
docs / check (pull_request) Successful in 34s
2026-09-20 20:30:35 +00:00
panxiao81 6d614d8d08 记录 Database API 统一到 Ayatori 域
docs / check (pull_request) Successful in 17s
2026-09-20 20:20:38 +00:00
panxiao81 6863474c01 明确 DBaaS 可无兼容负担重构
docs / check (pull_request) Successful in 36s
2026-09-20 20:11:57 +00:00
panxiao81 e43442c266 记录 Compute 方向与 DBaaS 合并决定
docs / check (pull_request) Successful in 39s
2026-09-20 20:02:10 +00:00
panxiao81 adf2812767 记录内置 API 与实现组件解耦原则
docs / check (pull_request) Successful in 27s
2026-09-20 19:52:58 +00:00
panxiao81 ceb58eb42b 补充 Ayatori 需求驱动的产品边界 2026-09-20 19:52:58 +00:00
panxiao81 8d0992f039 记录 Ayatori 控制面架构边界 2026-09-20 19:52:57 +00:00
panxiao81 7fdc97e02b Merge pull request '记录 Nexus 制品仓库 POC' (#2) from docs/nexus-poc into main
docs / check (push) Successful in 28s
Reviewed-on: #2
2026-09-20 19:49:16 +00:00
panxiao81 23ec3f4f5c 记录 Nexus 制品仓库 POC
docs / check (pull_request) Failing after 0s
2026-09-18 19:11:28 +00:00
panxiao81 56cf76a358 Merge pull request '迁移旧工作区的 DHCP 与 Samba 维护记录' (#1) from docs/migrate-old-workspace-notes into main
docs / check (push) Successful in 14s
Reviewed-on: #1
2026-09-17 13:27:32 +00:00
4 changed files with 61 additions and 9 deletions
+5
View File
@@ -34,6 +34,11 @@ Agent/CLI 和人工任务。当前 Job controller 是控制循环与 adapter 的
内部 Run 能力,不构成 FaaS、Cloud Run 或应用托管承诺。KaaS 只有出现实际需求时才评估,不是 内部 Run 能力,不构成 FaaS、Cloud Run 或应用托管承诺。KaaS 只有出现实际需求时才评估,不是
产品路线的必达终点。 产品路线的必达终点。
Compute 方向已被记录但延后实施:选择性复用 `core/v1 Node` 与 Lease,由 Ayatori Compute Agent
实现节点状态并由自有 controller 调度,不引入 kubelet、Pod 或 kube-scheduler。长期 VM 主路径
可以是普通 Linux 节点上的 libvirt/QEMU;Proxmox 用于 brownfield adopt 和过渡。OpenSandbox/Kata
microVM 属于 Run/Sandbox 的隔离实现,不因此成为 VirtualMachine 资源。
详细设计以 Ayatori 仓库的 详细设计以 Ayatori 仓库的
[ADR-0001](https://git.ddupan.top/panxiao81/ayatori/src/branch/main/docs/decisions/0001-kubernetes-api-machinery.md) [ADR-0001](https://git.ddupan.top/panxiao81/ayatori/src/branch/main/docs/decisions/0001-kubernetes-api-machinery.md)
、[ADR-0006](https://git.ddupan.top/panxiao81/ayatori/src/branch/main/docs/decisions/0006-demand-driven-resource-scope.md) 、[ADR-0006](https://git.ddupan.top/panxiao81/ayatori/src/branch/main/docs/decisions/0006-demand-driven-resource-scope.md)
+1
View File
@@ -9,6 +9,7 @@
| Ayatori 复用 Kubernetes API machinery,不复用其容器编排产品边界 | kube-apiserver/etcd 提供 API、watch、RBAC 与状态协调;领域调度、生命周期、恢复和 GC 属于 Ayatori controllers;Kubernetes workload 只是可替换 backend | [Ayatori 控制面边界](ayatori-control-plane.md) | | Ayatori 复用 Kubernetes API machinery,不复用其容器编排产品边界 | kube-apiserver/etcd 提供 API、watch、RBAC 与状态协调;领域调度、生命周期、恢复和 GC 属于 Ayatori controllers;Kubernetes workload 只是可替换 backend | [Ayatori 控制面边界](ayatori-control-plane.md) |
| Kubernetes 内置资源不绑定上游实现组件 | 可由 Ayatori Agent/controller 实现和消费 Node、Lease 等 API;使用 Node 不推导必须部署 kubelet、Pod 或 kube-scheduler | [Ayatori 控制面边界](ayatori-control-plane.md) | | Kubernetes 内置资源不绑定上游实现组件 | 可由 Ayatori Agent/controller 实现和消费 Node、Lease 等 API;使用 Node 不推导必须部署 kubelet、Pod 或 kube-scheduler | [Ayatori 控制面边界](ayatori-control-plane.md) |
| Ayatori 只为已验证的管理缺口新增北向资源 | 当前优先 Database、LoadBalancer、Bucket/Object Storage;VM 价值已确认但南向较重;Run 是内部切片,KaaS 按需,FaaS/PaaS 默认不做 | [Ayatori 控制面边界](ayatori-control-plane.md) | | Ayatori 只为已验证的管理缺口新增北向资源 | 当前优先 Database、LoadBalancer、Bucket/Object Storage;VM 价值已确认但南向较重;Run 是内部切片,KaaS 按需,FaaS/PaaS 默认不做 | [Ayatori 控制面边界](ayatori-control-plane.md) |
| Ayatori Compute 复用 Node/Lease API,但不引入 Kubernetes workload plane | Compute Agent 实现 Node 状态;libvirt 是长期候选主路径,PVE 是 brownfield 过渡;Kata microVM 属于 Sandbox backend | [Ayatori 控制面边界](ayatori-control-plane.md) |
| Samba AD、OCI、Proxmox 优先 IaC,以代码为准 | Ansible/Terraform 声明及任务优先于旧 README;声明不等于已验证部署 | 维护者于 2026-09-16 明确、各服务使用指南 | | Samba AD、OCI、Proxmox 优先 IaC,以代码为准 | Ansible/Terraform 声明及任务优先于旧 README;声明不等于已验证部署 | 维护者于 2026-09-16 明确、各服务使用指南 |
| 服务独立部署,Terraform root/state 按服务隔离 | 避免认证和变更影响范围绑在一起 | `AGENTS.md`、`CLAUDE.md` | | 服务独立部署,Terraform root/state 按服务隔离 | 避免认证和变更影响范围绑在一起 | `AGENTS.md`、`CLAUDE.md` |
| OpenBao 恢复不能依赖 k3s 或读取自己内部的恢复凭据 | 先恢复信任根,再恢复消费者 | `infrastructure/openbao/README.md`、`CLAUDE.md` | | OpenBao 恢复不能依赖 k3s 或读取自己内部的恢复凭据 | 先恢复信任根,再恢复消费者 | `infrastructure/openbao/README.md`、`CLAUDE.md` |
+12 -2
View File
@@ -2,7 +2,7 @@
title: Gitea Dynamic Runner title: Gitea Dynamic Runner
lifecycle: experimental lifecycle: experimental
evidence: documented evidence: documented
last_reviewed: 2026-09-16 last_reviewed: 2026-09-21
last_verified: null last_verified: null
sources: sources:
- https://git.ddupan.top/panxiao81/gitea-dynamic-runner/src/branch/main/README.md - https://git.ddupan.top/panxiao81/gitea-dynamic-runner/src/branch/main/README.md
@@ -48,13 +48,23 @@ runs-on: [self-hosted, vm]
| 接口 | 执行方式 | 使用时需要理解的边界 | | 接口 | 执行方式 | 使用时需要理解的边界 |
|---|---|---| |---|---|---|
| `pod` | 动态 Kubernetes privileged Pod;workflow 使用 host executor | Docker、BuildKit、kind 等工具由 pipeline 按需 setup;这里的 host executor 指 Pod 内执行环境 | | `pod` | 动态 Kubernetes privileged Pod;workflow 使用 host executor | 旧 README 要求 pipeline 按需 setup Docker;Docker 的新约定见下文。host executor 指 Pod 内执行环境 |
| `vm` | 动态 Cloud Hypervisor microVM | 每个任务创建独立 COW disk、seed 和 TAP,guest runner 执行一个 job 后关机并清理 | | `vm` | 动态 Cloud Hypervisor microVM | 每个任务创建独立 COW disk、seed 和 TAP,guest runner 执行一个 job 后关机并清理 |
两种接口不能仅凭“环境一次性”就认定具有相同的隔离边界。 两种接口不能仅凭“环境一次性”就认定具有相同的隔离边界。
接入前需要结合项目设计约束和实际部署确认任务的信任范围。 接入前需要结合项目设计约束和实际部署确认任务的信任范围。
旧 homelab-infra 文档中的 `kind-microvm` 是早期记录,不作为本项目当前 workflow 接口。 旧 homelab-infra 文档中的 `kind-microvm` 是早期记录,不作为本项目当前 workflow 接口。
### Docker 可用性约定更新
维护者于 2026-09-21 明确:CI 后端正在修复,后续由 runner 保证 dockerd 默认可用。
这取代旧说明中要求业务 workflow 自行启动 Docker daemon 的部分;不能据此推断 BuildKit、
kind 等其他工具也默认就绪。数据库集成测试不因使用 Docker 而要求 VM。
消费方 workflow 应检查 Docker 是否可用,而不重复启动 daemon、强制 storage driver 或
覆盖 runner 提供的 endpoint。[Ayatori #6](https://git.ddupan.top/panxiao81/ayatori/pulls/6)
正在按此约定调整。此处依据维护者说明,不表示后端修复已经部署或远端集成已经通过,
`last_verified` 保持不变。
## 组件如何协作 ## 组件如何协作
当前 README 描述的 bootstrap 路径为: 当前 README 描述的 bootstrap 路径为:
+43 -7
View File
@@ -2,7 +2,7 @@
title: PostgreSQL Tenant Operator(计划中的 DBaaS) title: PostgreSQL Tenant Operator(计划中的 DBaaS)
lifecycle: planned lifecycle: planned
evidence: documented evidence: documented
last_reviewed: 2026-09-16 last_reviewed: 2026-09-20
last_verified: null last_verified: null
sources: sources:
- https://git.ddupan.top/panxiao81/postgresql-tenant-operator - https://git.ddupan.top/panxiao81/postgresql-tenant-operator
@@ -26,10 +26,45 @@ homelab 资源有限,为每个应用维护一套数据库会浪费资源。绝
## 当前进度 ## 当前进度
2026-09-16 查阅[项目 README](https://git.ddupan.top/panxiao81/postgresql-tenant-operator/src/branch/main/README.md) 维护者于 2026-09-20 提供的阶段状态如下:
与架构文档时,项目记录为 **API 骨架阶段,尚未对 PostgreSQL 或 OpenBao 执行写操作**。
已批准的设计合同不等于已经实现的功能,本文不表示 DBaaS 已上线。 - 已合并 Instance 的 Endpoint、凭据引用、身份/版本、定义与观测目标等值对象;
项目首页还注明 `config/samples` 保留旧 API 骨架,不能将其直接当作最终使用接口。 - 已合并扩展支持能力模型,以及 Instance 最小生命周期与状态 checkpoint;
- CI PR #14 已合并:lint/test 使用 Pod runner,e2e 使用 VM runner;当前没有开放 PR;
- 上述领域基础尚未接入实际运行链路,不能理解为新设计已经可用;
- 仍缺完整 Ready 判定、Kubernetes Secret 管理凭据与连接刷新、应用层/数据库 adapter/controller
接入、CRD 与批准规格对齐及集成验证;
- Tenant 的完整创建、凭据交付和 Retain/Delete 生命周期仍未完成;
- 旧运行链路仍包含直接读取 OpenBao 管理凭据的逻辑。
本地暂停在 `feature/instance-extension-observations`,有两个未提交文件,实现 Instance 接收扩展
观测及其测试。该部分此前只通过领域包 lint,未运行本地测试、未提交、未推送;分支仍基于 #13,
未包含刚合并的 CI 改动。该工作区必须原样保留,不能作为已合并能力或迁移来源。
已批准的设计合同不等于已经实现的功能,本文不表示 DBaaS 已上线。生成的 CRD/API 与 samples
仍可能落后于批准规格,不能直接作为最终使用接口。
2026-09-20,维护者决定将该项目合并为 Ayatori 的 Database 领域模块。已批准的规格、领域模型、
状态机和测试继续作为迁移合同;不会把独立仓库的 manager、生成文件和当前工作树整仓复制。
首个迁移基线使用包含已合并 Instance 领域基础与 CI #14 的最新 main commit,再按领域层、API、
adapter 和 controller 的纵向切片进入 Ayatori;暂停中的两个未提交文件不进入首个切片。旧仓库
在迁移完成并验收前仍是现有设计与代码的来源,本决定不表示 DBaaS 已上线。
维护者同时确认目前没有可用版本,也没有 PostgreSQL 实例或 Tenant 被该 operator 托管。因此
合并不承担旧运行链路、旧 CRD/status 或数据的兼容责任:直接读取 OpenBao 管理凭据的旧路径可以
删除,未投入使用且落后于规范的 CRD/samples/实现结构不保留兼容层。
源项目已批准的系统规格、API 语义、Instance/Tenant 领域模型、状态机、ownership registry、
凭据交付、Retain/Delete、恢复和测试设计整体直接复用为 Ayatori DBaaS 合同。大胆重构针对旧运行
实现和项目装配,不表示可以静默改变这些已批准行为;合同变化仍须先修订规格并单独评审。
原 `database.ddupan.top/v1alpha1` API group 也不保留。Ayatori 中的目标 API 使用
`database.ayatori.ddupan.top/v1alpha1`,并纳入统一的 `api/database/v1alpha1` 与 Database 模块
结构;由于不存在已部署消费者,不建立 alias 或 conversion 入口。
合并边界记录在 Ayatori PR
[#3 的 ADR-0008](https://git.ddupan.top/panxiao81/ayatori/src/commit/33fb3ec9725dca8a10f2ad4bcd71cf83413932ee/docs/decisions/0008-merge-postgresql-tenant-operator.md);
该决定已于 2026-09-21 合并 main,链接固定到合并版本;设计合并不表示 Database 实现已完成。
## 计划中的使用方式 ## 计划中的使用方式
@@ -63,5 +98,6 @@ GitOps、Terraform、kubectl 和未来 Backstage 计划共用这套 Kubernetes A
- [部署](https://git.ddupan.top/panxiao81/postgresql-tenant-operator/src/branch/main/docs/deployment.md)与[安全](https://git.ddupan.top/panxiao81/postgresql-tenant-operator/src/branch/main/docs/security.md):依赖和权限。 - [部署](https://git.ddupan.top/panxiao81/postgresql-tenant-operator/src/branch/main/docs/deployment.md)与[安全](https://git.ddupan.top/panxiao81/postgresql-tenant-operator/src/branch/main/docs/security.md):依赖和权限。
- [迁移](https://git.ddupan.top/panxiao81/postgresql-tenant-operator/src/branch/main/docs/migration.md)与[运维](https://git.ddupan.top/panxiao81/postgresql-tenant-operator/src/branch/main/docs/operations.md):现有数据库、删除和恢复合同。 - [迁移](https://git.ddupan.top/panxiao81/postgresql-tenant-operator/src/branch/main/docs/migration.md)与[运维](https://git.ddupan.top/panxiao81/postgresql-tenant-operator/src/branch/main/docs/operations.md):现有数据库、删除和恢复合同。
具体实现进度回到[项目仓库](https://git.ddupan.top/panxiao81/postgresql-tenant-operator)查询, 迁移前的具体实现进度仍回到[项目仓库](https://git.ddupan.top/panxiao81/postgresql-tenant-operator)
后续查询前先向维护者对齐当前工作与 ticket。本页保留设计定位和带日期的阶段摘要。 查询;迁移后的实现与发布进度转到 Ayatori。后续查询前先向维护者对齐当前工作与 ticket。
本页保留设计定位和带日期的阶段摘要。