ProofedMesh/db/trust/seeds/0001_phase1_agents.sql

28 lines
1.8 KiB
MySQL
Raw Permalink Normal View History

-- Seed: Phase-1-Agent-Identitäten (DEV-607).
--
-- Diese drei Agents sind der minimale Satz für den Phase-1-End-to-End-Smoke:
-- agent-approval-service — signiert Approval-Attestations.
-- agent-testagent-transform — signiert Transform-Attestations.
-- agent-dummy-sink — Mock-Senke (`sink:dummy-sink`), signiert
-- handover-Attestations.
--
-- Namespace `agent-trust` ist mit deploy/signing-service/ und deploy/trillian/
-- konsistent. pocket_id_client ist der stabile OIDC-client_id, den Pocket ID
-- für diesen Agent ausstellt — in Phase 1 identisch zum agent_id-Slug,
-- Subtask 7 (Agent-Registry-HTTP-API / Pocket-ID-Provisionierung) kann
-- diesen Wert später per UPDATE angleichen, wenn Pocket ID eine andere
-- client_id erzwingt.
--
-- Dieser Seed berührt agent_keys NICHT. Die Signatur-Schlüssel landen über
-- die Rotations-Pipeline (`services/signing-service` Admin-Pfad, Phase 2).
-- Idempotent: ON CONFLICT (agent_id) DO NOTHING, damit mehrfaches Einspielen
-- und ein `migrate down 2 && migrate up` den Seed nicht duplizieren.
INSERT INTO agents
(agent_id, pocket_id_client, k8s_namespace, k8s_service_account, display_name, allowed_actions)
VALUES
('agent-approval-service', 'agent-approval-service', 'agent-trust', 'approval-service', 'Approval Service', ARRAY['expense.submit']),
('agent-testagent-transform', 'agent-testagent-transform', 'agent-trust', 'testagent-transform', 'Test Agent (Transform)', ARRAY['expense.normalize', 'expense.map_to_sink']),
('agent-dummy-sink', 'agent-dummy-sink', 'agent-trust', 'dummy-sink', 'Dummy Sink (sink:dummy-sink)', ARRAY['expense.post'])
ON CONFLICT (agent_id) DO NOTHING;