Skip to main content

What It Does

The A2A Sidecar runs in every agent pod with A2A enabled. It:
  1. Publishes the agent’s capabilities via Agent Card
  2. Receives incoming A2A task requests from other agents
  3. Routes tasks to the agent container
  4. Stores task state in Valkey for reliable delivery

Protocol

The A2A protocol follows Google’s Agent-to-Agent specification with Hexr extensions for SPIFFE identity.
1

Agent A sends task

Agent A calls the A2A sidecar to send a task to Agent B.
2

Sidecar resolves target

A2A Sidecar A resolves Agent B’s location via its Agent Card.
3

mTLS delivery

Sidecar A sends POST /tasks to Sidecar B over mTLS, authenticated with SPIFFE certificates.
4

SPIFFE ID validation

Sidecar B validates the caller’s SPIFFE ID against its access policy.
5

Task delivered and result returned

The task is delivered to Agent B, which processes it and returns the result back through the sidecar chain.

Endpoints


Agent Card

Published at /.well-known/agent.json:

Discovery

Agents discover each other via Kubernetes DNS:
The A2A sidecar queries the Kubernetes API for Agent Card ConfigMaps in the same namespace.

Configuration


Image