Agentx 使用四个独立 Helm Release 管理核心资源,使用 Rust 原生 agentxctl 在 Windows x64 与 Linux x64 提供相同命令。部署入口不依赖 Python、uv 或源码仓库。
- 对应平台的
agentxctl单文件二进制或完整发布包; - Helm 3;
- kubectl;
- 可访问的 Kubernetes 集群;
- Docker 仅用于开发期
cargo xtask images。
Release 同时提供可直接下载的 Windows/Linux 单文件二进制和完整归档包。归档包含 agentxctl、三个 Values 示例和许可证;四个 Agentx Chart、JSON Schema、Docker Hub Beta Values、ingress-nginx Chart 与 Values 已嵌入二进制,安装时不会下载部署资源。
agentxctl validate
agentxctl install| Target | Release | Namespace | 内容 |
|---|---|---|---|
dependencies |
agentx-dependencies |
Dependencies Namespace | Egress Gateway、local/test Vault/MinIO |
control |
agentx-control |
Control Namespace | Web、Platform Control、Control MySQL |
runtime |
agentx-runtime |
Runtime Namespace | Gateway、Runtime、Worker、Sandbox Manager、MySQL/Redis |
observability |
agentx-observability |
Runtime Namespace | Observability、ClickHouse |
| Ingress | agentx-ingress-nginx |
Dependencies Namespace | 固定 ingress-nginx 4.15.1 |
Kustomize只管理可选Addon与E2E Fixture,不拥有核心资源。OpenSandbox独立安装。
常规集群命令未提供 --values 时使用与 CLI 版本严格绑定的内嵌 dockerhub-beta.yaml,用于单文件快速部署。自定义和 production 部署必须显式提供 --values。顶层固定为 global、control、runtime、observability、dependencies。
local.yaml:本地镜像、bundled状态依赖、自动生成Secret。dockerhub-beta.yaml:公开Beta镜像和本地依赖。production.example.yaml:外部状态依赖、TLS、existing Secret、镜像摘要示例。
production另外强制要求 global.images.sourceCommit 为镜像对应的40位小写Git SHA。Release Manifest使用该值,不读取本机Git仓库。
agentxctl validate
agentxctl install
agentxctl status --output json
agentxctl doctor
agentxctl validate --values values/local.yaml
agentxctl validate --values values/production.yaml --cluster --output json
agentxctl render --values values/production.yaml > artifacts/production-render.yaml安装顺序固定为Values/工具/集群/Secret校验、Namespace、local Secret、ingress-nginx、Dependencies、Control、Runtime、Observability和Helm Doctor。Helm发布使用--atomic --wait --wait-for-jobs。
--target control|runtime|observability|dependencies|all默认为all。单Target操作只检查依赖,不隐式升级其他Release。
agentxctl upgrade --values values/local.yaml --target runtime
agentxctl rollback --values values/local.yaml --target runtime --revision 2
agentxctl migrate --values values/local.yaml --target runtime --phase expand
agentxctl migrate --values values/local.yaml --target runtime --phase contractUpgrade保留集群中的显式副本数。Rollback必须指定一个Target和Revision,并在完成后运行Doctor。Contract Migration在旧ReplicaSet未就绪时拒绝执行。
local/test首次安装生成RSA、Ed25519、TLS、数据库和依赖密码;重复安装复用权威Secret。production只验证预创建Secret。
agentxctl sync-secrets --values values/production.yaml
agentxctl rotate-egress-keys --values values/production.yaml --action plan
agentxctl rotate-egress-keys --values values/production.yaml --action rotateEgress轮换执行双公钥重叠、Gateway Ready、调用方逐个切换、旧公钥删除;任一步失败恢复权威、Gateway和调用方Secret。
Provider Adapter必须是可直接执行的程序,接收语言无关参数并在stdout只返回五字段JSON Receipt。agentxctl不识别脚本后缀,也不调用语言解释器。
agentxctl backup --values values/production.yaml \
--data-target control-mysql --backup-id release-20260823 --adapter ./provider-adapter
agentxctl restore --values values/production.yaml \
--data-target control-mysql --backup-id release-20260823 \
--restore-target control-db-restore.example.internal --adapter ./provider-adapter证据默认写入当前目录的artifacts/data-operations/。原地恢复必须额外提供--allow-in-place-restore。
agentxctl uninstall --target observability
agentxctl uninstall --target all --purge-data --yes普通卸载保留Namespace、PVC和外部资源。数据清理只允许local/test、--target all并要求--yes;production永远拒绝。Runtime仍存在时拒绝单独卸载Dependencies。
开发期统一命令:
cargo xtask images --values deploy/values/local.yaml
cargo xtask check --fast
cargo xtask check
uv sync --frozen --group test
uv run --frozen --group test pytest tests/e2e --values deploy/values/local.yaml -m infrastructurepytest负责临时Kubernetes环境、port-forward、故障注入、证据收集和调用TypeScript Playwright。Python不是部署依赖,也不进入Agentx业务容器。