docs(a2a): security reach, ports and limits

This commit is contained in:
EugeneTes
2026-10-07 14:32:33 +00:00
parent fdb0bde798
commit 3360c320e7
4 changed files with 51 additions and 15 deletions

View File

@@ -65,7 +65,7 @@ settings use the `GoogleCalendar` section, the scheduler the `Scheduler` section
| `PLAYWRIGHT_ENABLED` / `Mcp:Playwright:Enabled` | `false` | Browser tools through `@playwright/mcp` ([mcp.md](mcp.md)) |
| `PLAYWRIGHT_HEADLESS`, `PLAYWRIGHT_BROWSER`, `PLAYWRIGHT_EXTRA_ARGS`, `PLAYWRIGHT_COMMAND` | `true`, `chromium`, —, `npx` | See [mcp.md](mcp.md#the-playwright-preset) |
| `Mcp:Servers:<name>` | — | Other stdio MCP servers ([mcp.md](mcp.md#configuration)) |
| `A2A__Enabled` / `A2A:Enabled` | `false` | Serve other agents over A2A (see [A2A](#a2a) and [a2a.md](a2a.md)). Opens Kestrel on port 8080 |
| `A2A__Enabled` / `A2A:Enabled` | `false` | Serve other agents over A2A (see [A2A](#a2a) and [a2a.md](a2a.md)). Opens Kestrel: port 8080 in the container, `ASPNETCORE_URLS` or Kestrel's default (`http://localhost:5000`) under `dotnet run` |
| `A2A__PublicUrl` / `A2A:PublicUrl` | — | External base URL for the agent card and push webhooks, e.g. `https://bot.example.com`. Required for push to work; see [docker.md](docker.md) |
| `A2A__*` | see [a2a.md](a2a.md#configuration) | `MaxHops`, `SessionIdleTimeout`, `MaxFileBytes`, `AllowPrivatePushUrls`, `Card:Name`, `Card:Description` |
@@ -291,7 +291,9 @@ storage and time zones are in [google-calendar.md](google-calendar.md).
### A2A
With `A2A__Enabled=true` the bot also serves [A2A](a2a.md): other agents can call it over HTTP once given a key.
It opens Kestrel on port 8080 (Coolify needs a domain pointed at that port — see [docker.md](docker.md)) and logs
It opens Kestrel on port 8080 in the container (the aspnet image sets `ASPNETCORE_HTTP_PORTS=8080`; Coolify needs a
domain pointed at that port — see [docker.md](docker.md)); under `dotnet run` it listens on `ASPNETCORE_URLS`, or
Kestrel's default `http://localhost:5000` when that is unset. It logs
`A2A: listening on ...`. With it left off (the default) no port is opened at all. If the port is already taken,
the bot logs a critical line and exits with code 3 instead of coming up half-working.