Skip to content

[Priority: Low] [Architecture] 设计多单租户实例的接入与编排模型 #167

@liujuanjuan1984

Description

@liujuanjuan1984

背景

在确认“一个 OpenCode + opencode-a2a-serve 实例对 = 一个 single-tenant trust boundary”之后,多租户能力不应默认由单实例内部承担。更合理的上层问题是:如果系统需要服务多个彼此不互信的租户,应该如何组织多个单租户实例、如何做统一接入、路由、凭证分发与审计。

这属于平台/网关/编排层设计,而不是单实例内部认证的直接延伸实现。

复现步骤

  1. 查看当前 README 与 guide:仓库已明确一个实例对不是 tenant-isolated runtime。
  2. 查看现有部署路径:deploy.sh / deploy_light.sh 都围绕“一个实例对应一个 workspace / 当前用户或 project user”展开。
  3. 对照历史认证讨论:JWT/OIDC/gateway 等问题容易同时触碰“实例内鉴权”和“多实例编排”,导致目标混淆。

实际行为

  • 仓库对“如何组织多个 single-tenant 实例”缺少明确设计 issue。
  • 平台层身份、路由、front-proxy/gateway、实例发现与审计边界没有收敛。
  • 容易把平台层诉求错误压到单实例认证设计里。

期望行为

  • 单独收敛多单租户实例的接入与编排模型。
  • 明确以下问题:
    • 是否存在统一 gateway / front-proxy / control plane。
    • 平台层是否负责统一身份认证与 token 验证。
    • 如何将请求安全地路由到租户专属实例。
    • 如何处理实例发现、凭证分发、审计与撤销。
    • 平台层与实例层的安全职责如何分层。

验收标准

  • 形成多单租户实例接入与编排的目标说明。
  • 明确平台层与实例层的认证/授权职责分界。
  • 明确后续是否需要 gateway / front-proxy / control plane 相关实现 issue。
  • 避免将平台层诉求混入单实例认证 issue。

关联

当前代码快照

  • git rev-parse HEAD: 2f471cb3bbc951bfb3f7356b49452db65fab280b

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:todoPlanned but not started

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions