Catalogue / Edge

API gateway

edgeapi-gateway

Managed entry point that routes, authenticates and throttles inbound calls.

Category
Edge
Properties
9
Components
41
Rules
1
Properties · 9 defined by this kind

A node of this kind resolves each property from its own props, then the component's defaults, then the default below.

propertytypevaluesrequireddefault
authenumnone | api-key | jwt | oauth2 | mtlsnonone
concurrencyLimitboolean—nofalse
idempotencyKeys · advancedboolean—nofalse
instancesinteger—no—
keyTtlHours · advancedinteger—no—
managedboolean—nofalse
protocolenumhttp | grpc | websocket | fix | ouchnohttp
rateLimitingboolean—nofalse
tlsboolean—notrue
Rules for this kind · 1
sync-chain-too-deep

Every consecutive synchronous hop from this entry point spends part of the stated p95 latency budget, and the chain's failures multiply. More than three hops is a budget nobody is tracking.

  • — all of these hold:
  • — the design requirement `latency.p95Ms` has a value
  • — the longest chain of synchronous calls starting at the node is more than 3 hops long
Components · 41
Source
# yaml-language-server: $schema=../schema/kind.schema.json
# Abstract kind: Managed entry point that routes, authenticates and throttles inbound calls.
schemaVersion: "1"
type: "kind"
id: "api-gateway"
category: "edge"
properties:
  auth:
    type: "enum"
    values: ["none", "api-key", "jwt", "oauth2", "mtls"]
    default: "none"
  rateLimiting:
    type: "boolean"
    default: false
  tls:
    type: "boolean"
    default: true
  idempotencyKeys:
    type: "boolean"
    default: false
    advanced: true
  keyTtlHours:
    type: "integer"
    advanced: true
  protocol:
    type: "enum"
    values: ["http", "grpc", "websocket", "fix", "ouch"]
    default: "http"
  concurrencyLimit:
    type: "boolean"
    default: false
  instances:
    type: "integer"
  managed:
    type: "boolean"
    default: false

The same page as markdown, for an agent: /catalogue/kinds/api-gateway.md