Skip to main content

Aisphere Kernel

Aisphere Kernel 是 Aisphere 项目的规范驱动微服务基础框架

核心理念

业务声明契约,Kernel 负责检查、生成、装配、治理和验证。业务项目优先写 proto contract 和领域逻辑,不手写 transport glue、错误协议转换、访问控制、审计、限流或 Gateway 分发 glue。

仓库边界

Kernel 仓库现在只维护以下内容:

  • runtime packages:errorxserverxaccessxauthnauthzgatewayx 等;
  • proto options、公共契约和契约检查器;
  • cmd/protoc-gen-* 代码生成器;
  • cmd/kernel CLI 的 layout 解析和项目创建行为。

生成服务模板、生成服务 Makefile、deploy manifest 模板、layout 文档和 layout smoke tests 已归属独立仓库:

https://github.com/aisphereio/kernel-layout

validation/ 已从 Kernel runtime tree 移除。后续场景验证应放到独立验证仓库、生成项目自己的 tests,或 CI 中临时生成测试工程。

快速开始

创建业务服务:

go install github.com/aisphereio/kernel/cmd/kernel@latest
kernel new todo-service
cd todo-service
make tools
make api
make deploy
make proto-check
make verify
make run

说明:这里的 make deploy生成服务项目的 Makefile 能力,由 kernel-layout 提供;不是 Kernel 仓库根目录的 target。

Kernel 仓库自身验证:

make tools
make api
make proto-check
make verify

最小可运行服务:

kernel new todo-service --mvp

裁剪能力:

kernel new todo-service --disable iam,gateway,dtmx

本地或私有 layout:

kernel new todo-service --repo /path/to/kernel-layout
# 或
KERNEL_LAYOUT=/path/to/kernel-layout kernel new todo-service

默认解析顺序:

--repo -> KERNEL_LAYOUT -> https://github.com/aisphereio/kernel-layout.git

Runtime API

业务代码和生成代码可以 import 的主线 runtime 包:

说明
errorx结构化错误处理
logx结构化日志
configx配置管理
metricsx指标收集
serverx一键服务装配
securityx安全配置和 provider-neutral runtime 构造
bootx启动治理校验
transportx/httpHTTP transport
transportx/grpcgRPC transport
requestx请求元信息中心
accessxrequest-time access guard;编排 authn + authz + audit + SkipPolicy
authn认证 provider contract:回答“调用者是谁”
authz授权 provider contract:回答“能不能访问资源”
auditx审计事实记录
gatewayxGateway runtime
admissionx准入插件链
ratelimitx限流
clientpolicyx服务间调用策略
dbx数据库
cachex缓存
objectstorex对象存储
dtmx分布式事务
selectorx服务选择
registry服务注册发现
encodingx编码
iamxKernel IAM 控制面模型和 Directory facade
resourcex资源、角色模板和 Grant 控制面事实

关键边界

易混点结论
authz vs accessxauthz 是 provider contract;accessx 是 request-time guard/orchestrator
authn.IdentityAdmin vs iamx.DirectoryIdentityAdmin 管外部 IdP 投影;Directory 管 Kernel IAM 控制面事实
resourcex vs authzresourcex.Grant 是控制面事实;authz.Relationship 是查询投影
generated authz guard vs accessx.Guardgenerated guard 是生成调用契约;accessx.Guard 是 runtime access chain
authz.AuditedAuthorizer vs accessx.Guarddirect authorizer checks 可用 decorator;普通 HTTP/gRPC 请求审计走 accessx.Guard

开发工具

这些是工具,不是 runtime API。业务代码不能 import:

  • cmd/kernel — 项目脚手架和 layout resolver
  • cmd/protoc-gen-go-http — HTTP 代码生成器
  • cmd/protoc-gen-go-errors — 错误代码生成器
  • cmd/protoc-gen-go-authz — 访问控制生成器
  • cmd/protoc-gen-go-gateway — Gateway 生成器
  • cmd/protoc-gen-go-deploy — Gateway API HTTPRoute 部署清单生成器
  • cmd/protoc-gen-go-kernel — Kernel 元数据生成器
  • cmd/buf-check-aisphere — 契约检查器

文档导航