diff --git a/AGENTS.md b/AGENTS.md index 59ec7d90..fa1250bf 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -58,7 +58,7 @@ HWLAB 是硬件实验室运行面和控制面项目。本文是 agent、指挥 - 用户反馈分流规则:[docs/reference/user-feedback-triage.md](docs/reference/user-feedback-triage.md) - 文档治理与 docs-spec 本地权威:[docs/reference/documentation-governance.md](docs/reference/documentation-governance.md) - 架构和 M3 主线:[docs/reference/architecture.md](docs/reference/architecture.md) -- v0.2 多用户访问模型、code agent session 归属和 device pod 授权:[docs/reference/multi-user-access.md](docs/reference/multi-user-access.md) +- v0.2 用户和权限管理规格、code agent session 归属和 device pod 授权:[docs/reference/spec-user-access.md](docs/reference/spec-user-access.md) - DEV 运行态、端口、k3s 和 DB DNS 边界:[docs/reference/dev-runtime-boundary.md](docs/reference/dev-runtime-boundary.md) - G14 GitOps 发布、SecretRef preflight、runner/host 边界、镜像发布和单纯文档/CLI 直推规则:[docs/reference/g14-gitops-cicd.md](docs/reference/g14-gitops-cicd.md)、[docs/reference/commander-collaboration.md](docs/reference/commander-collaboration.md) - G14 GitOps CI/CD、Tekton/Argo CD、集群内 registry 和无锁镜像化发布:[docs/reference/g14-gitops-cicd.md](docs/reference/g14-gitops-cicd.md) diff --git a/docs/plan/v02-multi-user-migration.md b/docs/plan/v02-multi-user-migration.md index 05295157..9b4a3c39 100644 --- a/docs/plan/v02-multi-user-migration.md +++ b/docs/plan/v02-multi-user-migration.md @@ -1,12 +1,12 @@ # v0.2 多用户访问迁移计划 -本文记录 v0.2 当前源码状态、与目标多用户访问模型的差距,以及推荐迁移路径。长期目标和稳定判定标准以 [../reference/multi-user-access.md](../reference/multi-user-access.md) 为准。 +本文记录 v0.2 当前源码状态、与目标用户和权限管理规格的差距,以及推荐迁移路径。长期目标和稳定判定标准以 [../reference/spec-user-access.md](../reference/spec-user-access.md) 为准。 ## 当前态 从 v0.2 源码看,当前系统还没有真正的多用户访问控制: -- `docs/reference/multi-user-access.md` 已定义 `admin/user`、session owner 和 device pod grant 的目标模型,但还没有对应实现。 +- `docs/reference/spec-user-access.md` 已定义 `admin/user`、session owner 和 device pod grant 的目标规格,但还没有对应实现。 - `internal/db/migrations/0001_cloud_core_skeleton.sql` 已有 `projects`、`gateway_sessions`、`hardware_operations`、`audit_events`、`agent_sessions`、`worker_sessions`、`agent_trace_events`、`evidence_records` 和 migration ledger;没有 `users`、`user_sessions`、`device_pods`、`device_pod_grants`、`device_leases`,`agent_sessions` 也没有 `owner_user_id`。 - `internal/db/runtime-store.mjs` 支持 memory/postgres runtime store 和 readiness,但主要服务 L1 硬件 runtime 数据;用户身份和授权尚未进入 runtime store。 - `web/hwlab-cloud-web/auth.mjs` 是轻量登录前端,默认 `admin/hwlab2026`,并有 local session fallback;它不是正式用户体系。 diff --git a/docs/reference/architecture.md b/docs/reference/architecture.md index f2d59f24..01aa7e79 100644 --- a/docs/reference/architecture.md +++ b/docs/reference/architecture.md @@ -41,10 +41,10 @@ For M3 hardware proof, the required runtime participants are: 能力;正式 profile authority、REST/job 和服务部署规格见 [spec-device-pod.md](spec-device-pod.md)。 -`v0.2` 多用户访问模型只保留 `admin` 和 `user` 两类角色:code agent +`v0.2` 用户和权限管理规格只保留 `admin` 和 `user` 两类角色:code agent session 归属于创建用户,device pod 由 `admin` 管理并按用户授权,授权即全权限; Kubernetes 只做运行时隔离和资源兜底,不承载最终用户权限。权威口径见 -[multi-user-access.md](multi-user-access.md)。 +[spec-user-access.md](spec-user-access.md)。 ## M3 Trusted Loop diff --git a/docs/reference/multi-user-access.md b/docs/reference/spec-user-access.md similarity index 97% rename from docs/reference/multi-user-access.md rename to docs/reference/spec-user-access.md index 78616137..c9746f50 100644 --- a/docs/reference/multi-user-access.md +++ b/docs/reference/spec-user-access.md @@ -1,8 +1,10 @@ -# v0.2 多用户访问模型 +# v0.2 用户和权限管理规格 -本文是 HWLAB `v0.2` 多用户系统的长期参考口径。目标是用最少概念支持真实用户使用 code agent session 和管理员分配 device pod 权限,同时避免把用户体系、Kubernetes 租户、设备授权、硬件证据链和审计系统混成一套复杂门禁。 +本文是 HWLAB `v0.2` 用户和权限管理的规格说明。目标是用最少概念支持真实用户使用 code agent session 和管理员分配 device pod 权限,同时避免把用户体系、Kubernetes 租户、设备授权、硬件证据链和审计系统混成一套复杂门禁。 -## 设计目标 +本规格与 [spec-device-pod.md](spec-device-pod.md) 配套:用户和权限规格定义谁可以看见、创建和使用 device pod;device-pod 规格定义 profile authority、REST/job 和硬件执行边界。 + +## 规格目标 - 只保留两类角色:`admin` 和 `user`。 - `code agent session` 直接归属于创建它的用户;普通用户只能查看、继续和取消自己的 session。 @@ -13,9 +15,9 @@ - 普通用户不获得 Kubernetes 用户、kubeconfig、namespace 管理权或直接访问 device pod Service 的权限;所有用户权限判断在 cloud-api 应用层完成。 - v0.2 权限数据必须与 `hwlab-dev`/`hwlab-prod` 运行数据隔离。优先在 `hwlab-v02` namespace 内使用独立 Postgres StatefulSet/PVC;若未来显式复用共享 Postgres 实例,也必须使用独立 database 或 schema、独立 Secret 和独立 migration ledger,不得直接复用 `hwlab-dev` 的 pgdata。 -## 简化前后 +## 简化边界 -| 模块 | 复杂方案 | v0.2 MVP 方案 | +| 模块 | 不采用的复杂方案 | v0.2 规格方案 | | --- | --- | --- | | 用户角色 | `platform_admin`、`device_admin`、`developer`、`viewer` | `admin`、`user` | | 用户组 | `groups`、`group_members` | 不引入 |