abox
一个命令。全面的人工智能基础设施。
make run 为您提供了一个本地Kubernetes集群,其中包含AI项目所需的一切:一个AI-aware API网关、一个代理运行时、可观察性、分布式跟踪和一个可随时使用的评估工具。
包含什么
| 组件 | 角色 |
|---|---|
| agentgateway v2.2.1 | AI-aware API网关(网关API-本机,支持MCP) |
| 凯根特 | Kubernetes原生AI代理框架 |
| 通量CD 2.x | GitOps/GitLessOps操作符——使集群与OCI工件保持同步 |
| 友好的 | 本地Kubernetes(1个控制平面+2个worker)-可以是任何k8s |
| 云提供商类型 | LoadBalancer支持,使网关获得真正的IP用于本地开发 |
快速入门
make run就是这样。安装OpenTofu和k9s,配置集群,引导Flux,并协调所有组件。当它完成时:
kubectl get gateway,httproute -A # gateway is up
kubectl get agents -n kagent # agent runtime is up
kubectl get svc -n agentgateway-system # grab the LoadBalancer IP将您的AI应用程序指向端口80上的网关IP。
运作原理
make run → scripts/setup.sh
→ tofu apply (bootstrap/)
→ KinD cluster
→ Flux Operator + FluxInstance
→ ResourceSetInputProvider polls oci://ghcr.io/den-vasyliev/abox/releases
→ ResourceSet creates OCIRepository + 2 Kustomizations
→ releases/crds/ gateway-api-crds, agentgateway-crds, kagent-crds
→ releases/ agentgateway (Gateway + GatewayClass)
kagent (agent runtime + HTTPRoute)集群之后的一切都是 通过OCI实现gitless GitOps:没有Git轮询,没有部署密钥。CI发布 releases/ 作为每个版本标签上的OCI工件。集群会自动与该工件进行协调。
释放
make push # bumps patch version, tags, pushes → CI publishes OCI artifact → cluster reconciles注: RSIP标签排序是词典式的。如果补丁版本超过9,请使用小程序: git tag vX.Y+1.0.目录布局
| 路径 | 目的 |
|---|---|
bootstrap/ | OpenTofu:KinD+Flux引导(操作符、实例、RSIP、资源集) |
releases/crds/ | CRD HelmRelease:网关api、代理网关、kagent |
releases/ | 应用程序HelmRelease+网关+HTTPRoutes |
scripts/setup.sh | 完整设置脚本(make run) |
.github/workflows/flux-push.yaml | CI:发布 releases/ 作为OCI工件 v* 标签 |
添加组件
- 放入CRD图表
releases/crds/作为HelmRelease。 - 放入应用程序图表
releases/作为HelmRelease。 - 跑
make push--集群会自动和解。
CRD kustomization首先运行(wait: true),应用程序在之后运行(dependsOn: releases-crds).此顺序由Flux强制执行,必须保留。
贡献
看 贡献.md.
许可证
Apache 2.0——请参阅 许可证.
