initial: test-helper agent for e2e platform feature coverage
All checks were successful
build / build (push) Successful in 5s

Two skills:
  - echo(text): trivial sub-second response. Used by approval-mode tests
    that need a fast handoff target.
  - try_scope_expansion(reason, read_patterns, ttl_seconds, mode):
    deliberately calls ctx.request_scope() with caller-supplied args so
    e2e tests can exercise the orchestrator's scope-negotiation flow
    end-to-end without inventing a real workload that happens to need
    extra files.

Standard A2A scaffold: Dockerfile FROM a2a-pack-base, /invoke/{skill} +
/.well-known/agent-card served by the SDK's serve/asgi.py adapter, deploy/
manifests for k8s, Gitea Actions workflow that builds + bumps the image
SHA.

Public, low resources (50m CPU / 128Mi mem). Not exposed via the public
ingress in any meaningful way — only the in-cluster Service is consulted
by the orchestrator's call_agent.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
robert
2026-05-11 19:16:49 -03:00
commit 12c6347643
7 changed files with 231 additions and 0 deletions

70
deploy/20-deployment.yaml Normal file
View File

@@ -0,0 +1,70 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-helper
namespace: agents
labels:
app: test-helper
a2a/managed-by: control-plane
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: test-helper
template:
metadata:
labels:
app: test-helper
spec:
containers:
- name: agent
image: registry.a2acloud.io/agents/test-helper:placeholder
imagePullPolicy: Always
ports:
- containerPort: 8000
name: http
readinessProbe:
httpGet: {path: /healthz, port: 8000}
initialDelaySeconds: 2
periodSeconds: 5
livenessProbe:
httpGet: {path: /healthz, port: 8000}
initialDelaySeconds: 10
periodSeconds: 15
resources:
requests: {cpu: 50m, memory: 128Mi}
limits: {cpu: 200m, memory: 256Mi}
---
apiVersion: v1
kind: Service
metadata:
name: test-helper
namespace: agents
spec:
type: ClusterIP
selector:
app: test-helper
ports:
- name: http
port: 80
targetPort: 8000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-helper
namespace: agents
spec:
rules:
- host: test-helper.88-99-219-120.nip.io
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: test-helper
port:
number: 80