Skip to content

Topology YAML Schema

Customers do not write topology files

This schema is used internally by Hopr to compose blueprints with Lane7 Compose. It is provided so customers can read the "View the YAML" links on the product page and understand the blueprint composition. Contact lane7@hopr.co to request a custom blueprint topology.


Top-level fields

Field Type Description
schema_version string Compose schema version (e.g., "v2")
network object Network-level metadata and configuration
clusters list Cluster definitions (multi-cluster blueprints only)
app_registry object Container registry for the app image
pods list Pod definitions — one entry per pod
connections list Directed edges defining pod-to-pod message flow

network

Field Type Description
id string Machine-readable network identifier
name string Human-readable blueprint name
protocol string http, grpc, websocket, or mixed
wasm_filter string WoSP operating mode: xtra4 (Armored Tunnel) or xtra7 (Armored Car)
deployment_scope string single-cluster or multi-cluster

pods[]

Field Type Description
id string Pod identifier — referenced in connections
template string Template name from the pod template library (e.g., http-gateway)
cluster string Cluster ID from clusters[] (multi-cluster only)
overrides object Optional: override default template env vars or port mappings

connections[]

Field Type Description
from string Source pod id
to string Destination pod id (or list for fan-out)

Annotated example: Armored Convoy

schema_version: "v2"

network:
  id: armored-convoy
  name: "Armored Convoy: Serial Relay Pipeline"
  protocol: http
  wasm_filter: xtra7          # Armored Car — per-request key rotation
  deployment_scope: single-cluster

app_registry:
  image: registry.gitlab.com/hopr/lane7-blueprints/serial-app-wosp-node
  tag: latest

pods:
  - id: gateway
    template: http-gateway    # boundary pod — PINHOLE_ENABLED=true
  - id: middleware
    template: http-relay      # internal pod — PINHOLE_ENABLED=false
  - id: backend
    template: http-sink       # boundary pod — PINHOLE_ENABLED=true

connections:
  - from: gateway
    to: middleware            # gateway forwards to relay
  - from: middleware
    to: backend               # relay forwards to sink

The compose tool reads this YAML and generates: - Per-pod 01-namespace.yaml, 02-secrets.yaml, 03-deployment.yaml - deploy.sh and teardown.sh scripts - Envoy cluster configuration with the correct pod addresses and WoSP filter settings