Remove `ate-env-api` and use the Substrate API directly
メンテナーはふだん 1 日以内に返信
@rakyll がすでに取り組んでいます。
2026年10月26日 から。
評価
この issue はまだ評価されていません。
説明
Consider removing the ate-env-api service and have clients (the ate-env CLI and the Go and Python libraries) talk to Substrate directly. The environment-shaped surface (process, filesystem, MCP) would live in the client libraries and the in-actor guest daemon, not in a second server.
Problem
ate-env-api is a second control plane in front of Substrate, with its own API, auth surface, and notion of identity. This causes several problems:
- Security capabilities must be aligned twice. Any authn/authz, audit, quota, or policy that Substrate enforces has to be re-implemented in
ate-env-api, or it is bypassed. Today callers are trusted based on network reachability to the service. - Identity is lost at the hop. Substrate sees the API service as the caller, not the user or agent. It can't attribute, authorize, or audit per caller.
- Confused-deputy risk. The service holds broad credentials and exposes them to anything that can reach it. Per-environment authorization has to be re-invented, and a mistake means cross-tenant access.
- Duplicated and drifting semantics. We re-map Substrate concepts (actors, status, atespaces, templates, errors) and track Substrate changes in two places.
- More to build and operate. There is an extra deployment, image, and release, plus a second API for users to learn.
Proposal
- Delete
ate-env-apiand stop publishing its image. - The CLI and client libraries call Substrate directly for lifecycle, and call the guest daemon through the Substrate router for process, filesystem, and MCP operations, all using Substrate's identity.
- Move the "environment" abstraction (ID mapping, defaults, status mapping, wake-on-call) into the client library.
ate-env manifestdeploys only the namespace and worker pool.
Open questions
- Where should MCP be served: the guest daemon, or a Substrate-native gateway?
Acceptance criteria
- No dual control plane components in
ate-env-apibinary. - The CLI and clients work against a cluster with only Substrate.
- 主要言語
- Go
- スター
- 70
- フォーク
- 17
- 平均マージ
- 21時間 36分
- マージ済み PR(30日)
- 19
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
agent-substrate/env のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
agent-substrate/env#123 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 74/100
agent-substrate/env#121 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
agent-substrate/env#119 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
agent-substrate/env#118 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 57/100
agent-substrate/env#117 ·
メンテナーはふだん 1 日以内に返信
agent-substrate/env の issue をすべて見る
似ている issue
-
bug good first issue help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
[mesheryctl] design delete fails when passing file or URL as positional argument対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンcomponent/mesheryctl kind/bug language/go
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
meshery/meshery#22772 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
backend security size:S
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
limitlessprojects/Go-Hybrid#3342 ·
メンテナーはふだん 1 日以内に返信
-
status/ready type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
buildpacks/pack#2733 ·
メンテナーはふだん 1 日以内に返信