Skip to content

RFC-014: Contract Governor Shared Infrastructure — 4. Per-Amigo Contracts

AIGP SpecificationRFC-014: Contract Governor Shared Infrastructure › 4. Per-Amigo Contracts

← 3. Package Distribution · Section index · 5. Stipulation Hierarchy →

4. Per-Amigo Contracts

Each amigo maintains its own OpenAPI contract in ingredients/gandalf-api.yaml. The contract defines the operations that amigo exposes to Gandalf.

4.1 identity-service Contract

identity-service/ingredients/gandalf-api.yaml
openapi: "3.1.0"
info:
title: "SCIM Gandalf API"
version: "2.0.0"
paths:
/api/v1/ingredients/identity:
get:
operationId: getIdentityIngredients
/api/v1/ingredients/access:
get:
operationId: getAccessIngredients
/api/v1/ingredients/governance:
get:
operationId: getGovernanceIngredients

4.2 analytics-service Contract

analytics-service/ingredients/gandalf-api.yaml
openapi: "3.1.0"
info:
title: "ANA Gandalf API"
version: "1.0.0"
paths:
/api/v1/upload:
post:
operationId: uploadPolicies
/api/v1/convert:
post:
operationId: convertPolicies
/api/v1/gaps:
get:
operationId: analyzeGaps

Each contract is independent. identity-service’s contract knows nothing about analytics-service’s operations. The validation engine validates each contract against its own stipulations.


← 3. Package Distribution · Section index · 5. Stipulation Hierarchy →