Skip to content

Blueprint Schema Reference

This reference is generated from the live Go types via make blueprint-schema and reflects the schema enforced at load time. Decoding is strict: any key not listed here causes a loud load error. If you hit an unexpected load failure, check that your key spellings match exactly.

Regenerating the schema

Run make blueprint-schema to regenerate BLUEPRINT-SCHEMA.md from the source types. The TestSchemaCurrent gate fails if the committed file drifts from the live types.


Top-level blueprint document

KeyTypeRequiredDescription
namestringyesUnique blueprint identifier; also the determinism seed root.
labelstringyesSelector value stamped on every blueprint-scoped series. Defaults to name.
metadataobjectnoHuman-facing annotation. UI-only; never affects emission.
metadata.descriptionstringnoFree-text summary shown in the UI.
metadata.tags[]stringnoFree-form labels for filtering/grouping.
metadata.ownerstringnoOwning team or person.
metadata.linksmap[string]stringnoNamed external references (name → url).
metadata.categorystringnoSingle classification (e.g. demo/reference/customer).
shapestringnoDefault shape profile for the whole blueprint.
timezonestringnoBusiness-hours anchor. Default Europe/Zurich. Mutually exclusive with regions.
regions[]objectnoFollow-the-sun multi-timezone composite. Mutually exclusive with timezone.
regions[].namestringRegion identifier.
regions[].timezonestringIANA timezone string.
regions[].weightfloatRelative traffic weight for this region.
series_budgetintnoPer-blueprint series cap.
environments[]objectyesOne entry per deployment environment.
workloads[]objectnoApplication workloads (request traffic).
featuresmap[string]confignoGrafana Cloud product declarations (synthetic_monitoring, fleet_management).
integrationsmap[string]confignoExternal-source declarations (cloudflare, csp_azure, csp_gcp, etc.).
incidents[]objectnoScheduled or interval-recurring failure activations.
scenarios[]objectnoNamed, reusable failure bundles composed of effects.
hosts[]objectnoTraditional non-Kubernetes machines.

environments[]

KeyTypeRequiredDescription
environments[].namestringyesEnvironment name (e.g. prod, staging).
environments[].weightfloatnoRelative traffic volume. Default 1.0.
environments[].productionboolnoKeeps weekend traffic at full level. Default: true when name == "prod".
environments[].metadataobjectnoHuman-facing annotation (same sub-keys as top-level metadata).
environments[].cloudobjectnoAWS cloud account and service config.
environments[].clusterobjectnoKubernetes cluster config.
environments[].databases[]objectnoDatabase instances.
environments[].caches[]objectnoCache instances.

environments[].cloud

KeyTypeRequiredDescription
cloud.providerstringyes"aws" (v1).
cloud.account_idstringyesAWS account ID (string to preserve leading zeros).
cloud.regionstringyesAWS region (e.g. us-east-1).
cloud.vpc_idstringyesVPC identifier.
cloud.nat_gatewaysintnoNumber of NAT Gateway instances to emit aws_natgateway_* for.
cloud.cloudwatchobjectnocw_infra sub-family toggles. See cw_infra config below.
cloud.aossobjectnoAmazon OpenSearch Serverless config. Absent ⇒ not emitted. See aoss config.
cloud.mwaaobjectnoAmazon Managed Workflows for Apache Airflow config. Absent ⇒ not emitted. See mwaa config.
cloud.glueobjectnoAWS Glue ETL config. Absent ⇒ not emitted. See glue config.
cloud.bedrockobjectnoAWS Bedrock CloudWatch config. Absent ⇒ not emitted. See bedrock config.
cloud.agentcoreobjectnoAWS Bedrock AgentCore CloudWatch config. Absent ⇒ not emitted. See agentcore config.

environments[].cluster

KeyTypeRequiredDescription
cluster.typestringyes"eks" (v1).
cluster.namestringyesCluster name. Must be globally unique across all enabled blueprints.
cluster.node_groups[]objectnoNode group definitions.
cluster.node_groups[].namestringNode group name.
cluster.node_groups[].instance_typestringEC2 instance type (e.g. m6i.xlarge).
cluster.node_groups[].desiredintDesired node count.
cluster.node_groups[].provisionerstring"managed" (default) or "karpenter".
cluster.node_groups[].osstringlinux (default) or windows.
cluster.k8s_monitoringobjectnoGrafana k8s-monitoring Helm chart config.
cluster.k8s_monitoring.enabledboolEnable the k8s-monitoring substrate.
cluster.k8s_monitoring.chart_versionstringHelm chart version string.
cluster.k8s_monitoring.alloyboolDeploy alloy-metrics StatefulSet.
cluster.k8s_monitoring.alloy_versionstringAlloy version (e.g. "1.16.3"; canonicalized to "v1.16.3").
cluster.k8s_monitoring.opencostboolEnable OpenCost cost-allocation.
cluster.k8s_monitoring.keplerboolEnable Kepler energy monitoring.
cluster.k8s_monitoring.featuresmap[string]boolFeature gates for Alloy collectors. Valid keys: cluster_metrics, cluster_events, pod_logs, node_logs, profiling, application_observability. Absent/false ⇒ that collector is not deployed.
cluster.k8s_monitoring.metrics_replicasintalloy-metrics StatefulSet replica count. 0 ⇒ default 1.
cluster.k8s_monitoring.receiver_as_daemonsetboolModel alloy-receiver as a per-node DaemonSet instead of a Deployment.
cluster.k8s_monitoring.fleet_managementboolRegister this cluster's Alloy collectors with the Fleet Management API. Requires enabled: true.
cluster.k8s_monitoring.control_planeobjectGate individual control-plane metric families.
cluster.k8s_monitoring.control_plane.api_serverboolEmit kube-apiserver metrics.
cluster.k8s_monitoring.control_plane.kube_proxyboolEmit kube-proxy metrics.
cluster.k8s_monitoring.control_plane.kube_schedulerboolEmit kube-scheduler metrics.
cluster.k8s_monitoring.control_plane.kube_controller_managerboolEmit kube-controller-manager metrics.
cluster.k8s_monitoring.control_plane.kubelet_probesboolEmit kubelet probe metrics.
cluster.k8s_monitoring.pod_logs_methodstringPod-log collection mechanism. Empty with pod_logs: true defaults to "opentelemetry". Absent pod_logs"none".
cluster.observabilityobjectnoGates the per-node EC2 CloudWatch lane.
cluster.observability.cloudwatchboolnoEmit the aws_ec2_* CloudWatch lane for cluster nodes. Default true.
cluster.addons[]objectnoCluster add-ons to deploy. May be bare scalar (- core_dns) or map form (- {name: cluster_autoscaler, min_nodes: 3, max_nodes: 10}).
cluster.addons[].namestringAdd-on construct kind (registry key).
cluster.addons[].<kind config>variesAdd-on construct's own config fields. See per-kind sections below.
cluster.platformobjectnoNode OS and Kubernetes version.
cluster.platform.osstring"al2", "al2023" (default), or "bottlerocket".
cluster.platform.kubernetes_versionstringe.g. "1.31" (default).
cluster.platform.kernel_versionstringOptional override of the node kernel string.

environments[].databases[]

KeyTypeRequiredDescription
databases[].enginestringyes"postgres", "mysql", "docdb", or "neptune".
databases[].versionstringyesEngine version string.
databases[].namestringyesInstance name. Must be globally unique across all enabled blueprints.
databases[].instance_classstringnoe.g. "db.t3.medium". Empty ⇒ resolver default.
databases[].observabilityobjectnoEmission switch. Nil ⇒ CloudWatch only.
databases[].observability.cloudwatchboolnoEmit aws_rds_* CloudWatch family. Default true.
databases[].observability.dbo11yboolnoEmit database_observability_* lane. Default false.
databases[].observability.digestsintnodbo11y query-catalogue size. Default 40. Ignored unless dbo11y: true.

environments[].caches[]

KeyTypeRequiredDescription
caches[].enginestringyes"redis".
caches[].versionstringyesEngine version string.
caches[].namestringyesInstance name. Must be globally unique across all enabled blueprints.
caches[].instance_classstringnoe.g. "cache.r6g.large". Empty ⇒ resolver default.
caches[].observabilityobjectnoEmission switch.
caches[].observability.cloudwatchboolnoEmit the aws_elasticache_* CloudWatch lane. Default true.

workloads[]

KeyTypeRequiredDescription
workloads[].typestringyesWorkload kind registry key (e.g. web_service, app).
workloads[].namestringyesUnique workload instance name.
workloads[].runs_onstringyesCluster name this workload runs on. Resolved at load or fails.
workloads[].replicasintnoPod count (default 2).
workloads[].calls[]objectnoDownstream DB/cache hops.
workloads[].calls[].dbstringName of a declared database this workload calls.
workloads[].calls[].cachestringName of a declared cache this workload calls.
workloads[].<kind config>variesWorkload kind's own config. See web_service config and app config below.
for_each_envboolnoFan this workload into one instance per environment.
envs[]stringnoSubset of environment names to fan into (used with for_each_env: true).

web_service workload config

KeyTypeRequiredDescription
tracingboolnoEnable the OTLP trace lane. Default true.
rumboolnoEnable the Faro/RUM lane (requires GC_FARO_* credentials).
trafficobjectnoTraffic shaping for the metric lane.
traffic.shapestringShape profile name (informational).
traffic.off_peak_rpsfloatTrough request rate. Default 5.
traffic.peak_rpsfloatPlateau request rate. Default 50.
endpoints[]objectnoRoute catalogue; requests are drawn uniformly.
endpoints[].routestringe.g. "GET /v1/items".
endpoints[].error_ratefloat[0,1] base error fraction.
endpoints[].p95_msfloatp95 latency target in ms.
observabilityobjectnoAdditive emission switch for the Beyla eBPF observation lane.
observability.beylaobjectBeyla lane config.
observability.beyla.modestring"kubernetes" (default) or "standalone".
observability.beyla.contextstring"ebpf_only" (default) or "coexist_sdk".
observability.beyla.features[]stringEmpty ⇒ Beyla default features for the mode.
pyroscopeobjectnoContinuous profiling lane config.
pyroscope.enabledboolEnable profiling emission.
pyroscope.modestringPush mode.
pyroscope.runtimestringRuntime (e.g. go, jvm).
pyroscope.types[]stringProfile type names.
pyroscope.span_profilesboolEnable span-correlated profiles.
otelobjectnoNative OTLP application-metrics lane. Absent or metrics: false ⇒ no OTLP metrics.
otel.metricsboolEnable native OTLP http.server.* metrics emission.
otel.modestring"naked" (default) or "k8s_monitoring".
contextstringno§5 resource-attr context (Platform, ContentGen, DataGen). Empty ⇒ omitted.
use_casestringno§5 resource-attr use case. Empty ⇒ omitted.
teamstringno§5 resource-attr team. Empty ⇒ omitted.
versionstringnoOverride the default service.version. Empty ⇒ default.

app workload config

The app workload declares a multi-service graph. See workloads.md for a conceptual guide.

KeyTypeRequiredDescription
services[]objectyesGraph nodes.
services[].namestringyesUnique graph identity; stamped as the service / service_name label.
services[].typestringnoSpan semantics + profile fit (e.g. frontend, web, grpc, db, llm, agent).
services[].runtimestringnogo, jvm, node, or python. Selects the runtime profile.
services[].entryboolnoMarks the request entry point (mints invocations).
services[].namespacestringnoKubernetes namespace. Propagates to both substrate placement and emitted telemetry.
services[].contextstringno§5 resource-attr context. Empty ⇒ omitted.
services[].use_casestringno§5 resource-attr use case. Empty ⇒ omitted.
services[].teamstringno§5 resource-attr team. Empty ⇒ omitted.
services[].versionstringnoOverride service.version.
services[].routes[]stringnoRequest routes (e.g. "GET /v1/items").
services[].replicasintnoPod count for this node (default 2).
services[].profiles[]stringnoCatalog profile-template names applied to this node.
services[].calls[]stringnoDownstream node names (graph edges).
services[].db_instancestringnoBase database name to resolve per-env (e.g. "orders-pg""orders-pg-<env>").
services[].externalboolnoRemote/managed service: appears as a trace hop but is NOT placed as a k8s pod.
services[].pages[]objectnoRUM navigation inventory (frontend entry nodes only).
services[].pages[].pathstringSPA route (e.g. /document-library).
services[].pages[].namestringHuman view name.
services[].pages[].actions[]stringUser-action intents on this page.
services[].agentic_flowobjectnoIn-process LangGraph orchestration that adds a gen_ai span subtree. Nil ⇒ no agentic flow.
services[].agentic_flow.workflowstringLangGraph graph name.
services[].agentic_flow.agents[]objectPool of agents the workflow can invoke.
services[].agentic_flow.agents[].namestringAgent name.
services[].agentic_flow.agents[].tools[]stringTool names for this agent.
services[].agentic_flow.omit_chatboolDrop the chat <model> leaf span (set when a connected gateway hop already models the LLM call).
services[].pyroscopeobjectnoPer-node profiling config. Same sub-keys as web_service.pyroscope.
services[].resourcesobjectnoContainer CPU/memory requests/limits and cAdvisor usage base. Affects only the k8s substrate lane.
services[].resources.cpu_requestfloatCPU request (cores).
services[].resources.cpu_limitfloatCPU limit (cores).
services[].resources.mem_requestfloatMemory request (bytes).
services[].resources.mem_limitfloatMemory limit (bytes).
services[].resources.cpu_usage_basefloatcAdvisor CPU usage base (cores).
services[].controllerstringnok8s controller kind: Deployment (default) or StatefulSet.
services[].hpaboolnoEmit kube_horizontalpodautoscaler_* metrics.
services[].volume_claims[]stringnoPVC template names for kube_persistentvolumeclaim_* and kubelet volume stats.
services[].metrics[]objectnoInline custom metric definitions (DSL).
services[].logs[]objectnoInline custom log stream definitions (DSL).
services[].spans[]objectnoInline custom span attribute definitions (DSL).
trafficobjectnoEntry node invocation volume shaping.
traffic.shapestringShape profile name.
traffic.off_peak_rpsfloatTrough rate. Default 5.
traffic.peak_rpsfloatPlateau rate. Default 50.
traffic.request_latency_p95_msfloatBase end-to-end latency p95. Default 0200ms. LLM/agentic apps should set this to seconds (e.g. 9000).
models[]objectnoValid (model, provider) routing pairs for AI apps. Empty ⇒ non-AI app.
models[].modelstringgen_ai.request.model value (e.g. gpt-4o, claude-3.5-sonnet).
models[].providerstringgen_ai.provider.name value (e.g. azure-openai, bedrock).

Custom-telemetry DSL (app workload metrics[], logs[], spans[])

The DSL value model is a one-of; exactly one of these keys must be present per value spec:

Generator keyTypeDescription
constfloatFixed numeric constant.
const_strstringFixed string constant.
enum[]{value, weight}Weighted random pick from a domain. Required for metric and stream labels.
int_range{min, max, p_zero}Uniform integer range with optional zero-probability.
float_range{min, max}Uniform float range.
normal{mean, stddev}Normal distribution.
bool{p_true}Bernoulli with given probability.
shape{base, mode}Incident-responsive value driven by the shape engine.
refstringCorrelation field reference (high-card). Metric/stream labels reject this.

features

features is a map keyed by feature kind. Each entry accepts enabled: bool (default true) plus kind-specific config.

synthetic_monitoring config

KeyTypeDescription
checks[]objectOne entry per synthetic check.
checks[].namestringRequired. Becomes the Prometheus job label.
checks[].targetstringHTTP URL probed. Default: https://<name>.example.com/health.
checks[].frequencyintPoll interval in milliseconds. Default 60000.
checks[].probestringPrivate probe name. Default "synthkit-private".
checks[].regionstringProbe region. Default "EMEA".
checks[].labelsmap[string]stringUser-defined labels emitted as label_<k>=<v> on every probe series.

fleet_management config

KeyTypeDescription
collectors_per_osmap[string]intOS name (linux/windows/darwin) → desired fake collector count. Absent OS ⇒ not emitted.

integrations

integrations is a map keyed by integration kind. Each entry accepts enabled: bool (default true) plus kind-specific config. The for_each_env and envs keys are also accepted to fan an integration across environments.

cloudflare config

KeyTypeDescription
zonestringCloudflare zone name.
accountstringAccount identifier.
colocations[]stringColocation names.
tunnels[]objectTunnel entries.
tunnels[].namestringTunnel name.

csp_azure config

KeyTypeDescription
subscriptionsintNumber of synthetic Azure subscriptions (default 2).
companystringCompany slug for subscription names (default "demo").
sub_signals[]stringFamilies to emit. Valid: compute, databases, storage, networking, messaging, logs. ai is opt-in and NOT in the default set — must be listed explicitly. Empty ⇒ all default families.
ingestion_pathstring"serverless" (default, GC managed scraper) or "azure_exporter".
credentialstringManaged-scraper credential name (serverless path only). Default "azure".
tagsmap[string]stringResource tags emitted as tag_<key> on every series. Opt-in: omit ⇒ no tag labels.

csp_gcp config

KeyTypeDescription
projectsintNumber of synthetic GCP projects (default 2).
companystringCompany slug for project IDs (default "demo").
sub_signals[]stringFamilies to emit. Valid: compute, databases, storage, networking, loadbalancing, pubsub, cloudrun, bigtable, logs. vertex is opt-in — must be listed explicitly. Empty ⇒ all default families.

portkey_gateway config

KeyTypeDescription
models[]stringLLM model names to spread across label values (default ["gpt-4o"]).
providers[]stringProvider names (default ["azure-openai"]).
appstringService name for the app= label (default "ai-gateway").
envstringEnvironment name for the env= label (default "prod").
sub_signals[]stringValid: "gateway" (14 portkey_* metrics), "runtime" (node_* subset). Empty ⇒ both.

portkey_poller config

KeyTypeDescription
workspacestringPortkey workspace identifier (default "ws-demo").
use_cases[]stringmetadata_use_case dimension values (default ["assistant","summarization"]).
models[]stringai_model dimension values (default ["gpt-4o","gpt-4o-mini","gpt-4.1-mini"]).
use_case_weightsmap[string]floatPer-use-case volume multiplier. Missing key ⇒ 1.0.

langsmith_eval config

KeyTypeDescription
projects[]stringLangSmith project names (default ["assistant-prod"]).
use_cases[]stringUse-case dimension values (default ["assistant","summarization"]).
evaluators[]stringEvaluator keys for langsmith_eval_score (default ["faithfulness","completeness","relevance"]).
use_case_weightsmap[string]floatPer-use-case volume multiplier. Missing key ⇒ 1.0.

langsmith_platform config

KeyTypeDescription
services[]stringService names to emit metrics for. Valid: backend, host-backend, platform-backend, playground, clickhouse, redis, postgres, nginx. Empty ⇒ all eight.

snowflake config

KeyTypeDescription
accountstringSnowflake account identifier (default "demo-acct").
warehouses[]stringVirtual warehouse names (default ["wh_compute","wh_etl"]).
databases[]stringDatabase names for per-database metrics (default ["analytics","raw"]).

network_topology config

KeyTypeDescription
instancestringExporter scrape endpoint (e.g. "netobs-dc1:9100"). Required; must be unique across blueprints.
jobstringPrometheus job label (default "integrations/network-topology-exporter").
rolestringFederation role: standalone (default), hub, or spoke.
spoke_idstringSpoke identity (required when role: spoke).
protocols[]stringDiscovery walker protocols (default [lldp, bgp]).
fabricobjectOptional topology generator config.
fabric.kindstringspine_leaf, clos, linear, or star.
fabric.spinesintSpine count (spine_leaf/clos).
fabric.leavesintLeaf count (spine_leaf/clos).
fabric.hosts_per_leafintOptional access hosts per leaf.
fabric.vendor_mix[]stringRound-robin vendor assignment (default [arista]).
fabric.sitestringDevice site label.
devices[]objectExplicit device declarations (augment/override generated fabric).
devices[].idstringDevice identifier.
devices[].vendorstringVendor name.
devices[].os_versionstringOS/firmware version.
devices[].sitestringSite label.
devices[].uptimeintInitial uptime (seconds).
links[]objectExplicit link declarations.
links[].src_devicestringSource device ID.
links[].src_portstringSource port.
links[].dst_devicestringDestination device ID.
links[].dst_portstringDestination port.
links[].protostringProtocol.
links[].link_kindstringLink kind.
session_poolboolGate the snmp_session_pool_* family.
out_of_scope_neighboursintSteady-state out-of-scope neighbour count.
otlp_outputboolGate the otlp_push_total family.
federationobjectHub-mode wiring.
federation.spokes[]stringSpoke instance names aggregated by this hub.

beyla_agent config

KeyTypeDescription
modestring"kubernetes" (default) or "standalone".
instrumented_processesinteBPF-instrumented process count (default 4).
versionstringBeyla version for build-info gauge (default "1.9.0").
revisionstringBeyla git revision (default "unknown").
clusterstringCluster name (kubernetes mode identity).
nodestringNode name (kubernetes mode identity).
hoststringHost name (standalone mode identity).

qualification_pipeline config

KeyTypeDescription
stages[]stringPipeline stage names. Default: ["verification","build","test","test-tokens-usage","autovalidate","pdf"].
jobs[]stringCI job names. Default: ["validation-sbom","iac-tests","functional-tests"].
suites[]stringTest suite names (coined qualification_* metrics). Default: ["infra","functional"].
clouds[]stringCloud target names. Default: ["aws","azure","gcp","common"].

Cluster add-on configs

Add-ons are listed under cluster.addons[]. Most have no configurable fields; only those with config are shown.

cw_infra config (cloud.cloudwatch)

KeyTypeDescription
albsintALB instance count. Nil/omitted ⇒ default 1. Explicit 0 disables the ALB family.
s3_bucketsintS3 bucket count. Nil/omitted ⇒ default 2. Explicit 0 disables the S3 family.
firehoseboolEmit aws_firehose_* (default true).
nlbboolEmit aws_networkelb_* (default true).
ebsboolEmit aws_ebs_* (default true).
nat_gatewayboolEmit aws_natgateway_* (default true).
eksboolEmit aws_eks_* control-plane (default true).
private_linkboolEmit aws_privatelink_* endpoints and services (default true).

bedrock config

KeyTypeDescription
models[]stringModel IDs to emit per-model series for. Empty ⇒ default model list.
sub_signals[]stringFamilies to emit. Valid: models, agents, guardrails, invocation_logs. Empty ⇒ all four.

agentcore config

KeyTypeDescription
agents[]stringAgent logical names for resource-usage dimensions. Default: ["planner","retriever"].
sub_signals[]stringFamilies to emit. Valid: runtime, resource_usage, usage_logs. Empty ⇒ runtime + resource_usage + app logs. usage_logs is opt-in.

aoss config

KeyTypeDescription
collections[]stringOpenSearch Serverless collection names. Empty ⇒ one synthetic collection.

mwaa config

KeyTypeDescription
environments[]stringMWAA environment names. Empty ⇒ one synthetic environment.

glue config

KeyTypeDescription
jobs[]stringAWS Glue job names. Empty ⇒ one synthetic job.

cluster_autoscaler config

KeyTypeDescription
min_nodesintMinimum node count for autoscaler metrics.
max_nodesintMaximum node count for autoscaler metrics.

cert_manager config

KeyTypeDescription
job_modestring"" or "autodiscovery"job="cert-manager". "integration"job="integrations/cert-manager".

ksm_ingress config

KeyTypeDescription
ingresses[]objectIngress declarations.
ingresses[].namestringIngress name.
ingresses[].namespacestringNamespace (default: first workload's namespace).
ingresses[].hoststringHostname (default: <name>.example.com).
ingresses[].pathstringPath (default: "/").
ingresses[].service_namestringRequired. Service name.
ingresses[].service_portintService port (default 80).
ingresses[].tlsboolTLS enabled (default false).

Add-ons with no configurable fields: alloy_health, argocd, core_dns, ebs_csi, envoy_gateway, etcd, external_dns, karpenter, load_balancer_controller, vpc_cni.


incidents[]

KeyTypeDescription
incidents[].kindstringFailure mode name. Mutually exclusive with scenario.
incidents[].scenariostringScenario name to fire (fires the whole bundle). Mutually exclusive with kind/target.
incidents[].targetstringInstance name to target. "" ⇒ blueprint-wide (single-axis modes only).
incidents[].atstringRFC3339 or "2006-01-02T15:04[:05]" (blueprint timezone). One-shot activation.
incidents[].everystringGo duration (e.g. "10m"). Makes the incident interval-recurring. Mutually exclusive with at.
incidents[].forstringGo duration (e.g. "20m"). Active window per every cycle (or one-shot duration).
incidents[].intensityfloat[0,1] effect intensity.

scenarios[]

KeyTypeDescription
scenarios[].namestringScenario identifier used in incidents[].scenario and control-plane API calls.
scenarios[].titlestringHuman display name. Defaults to name.
scenarios[].summarystringOne-line description of what the scenario causes.
scenarios[].effects[]objectEffect list.
scenarios[].effects[].modestringFailure mode name.
scenarios[].effects[].targetstringInstance name, <axis>:* wildcard, or empty (single-axis modes only).
scenarios[].effects[].intensityfloat[0,1] effect intensity. Default 1.0.

hosts[]

KeyTypeDescription
hosts[].namestringHostname. Required, unique. Becomes the instance label.
hosts[].osstringExporter vocabulary: linux (default), windows, or macos.
hosts[].ipstringOptional private IP address. Omitted when empty.
hosts[].cpusintLogical CPU count. Default 2.
hosts[].memory_gbintTotal RAM in GiB. Default 8.
hosts[].metrics_profilestring"integration" (GC integration allowlist, default) or "full" (broad default-Alloy surface).
hosts[].os_versionstringOS version string (e.g. "22.04", "Server 2022"). Optional.
hosts[].kernelstringKernel string for node_uname_info (linux/macos). Optional.
hosts[].observabilityobjectGates the Docker cadvisor lane and host logs.
hosts[].observability.dockerboolEmit Docker cadvisor metrics and container log streams. Default false.
hosts[].observability.logsboolEmit host log streams (journal/winevent/file). Default true.

Failure modes

The table below lists every valid mode value for incidents[].kind or scenarios[].effects[].mode.

ModeAxisDescription
agentcore_throttlecloudAgentCore request throttles + system_errors spike (region-scoped capacity constraint).
bedrock_throttlecloudBedrock invocation throttling climbs.
connection_saturationdatabaseActive connections climb toward max.
cpu_hotspotservice / workload / clusterElevated CPU concentrated in a hot frame.
error_burstworkloadElevated 5xx error rate.
error_spikeserviceElevated 5xx error rate on the targeted service node.
eval_quality_degradedcloudLangSmith eval quality regresses — scores drop, retry/HITL rates climb.
fallback_stormserviceElevated gateway fallback rate on the targeted service node.
goroutine_leakservice / workloadGoroutine accumulation.
latency_spikeworkloadElevated request latency (up to 4× at full intensity).
latency_stormserviceElevated request latency on the targeted service node.
lock_contentionservice / workload / databaseElevated mutex/block contention or database lock waits.
memory_leakworkload / serviceGrowing heap — raises memory inuse/alloc profile values.
nettopo_auth_failuresnetworkSNMP credential trials fail.
nettopo_devices_unreachablenetworkSNMP polling fails for a fraction of devices.
nettopo_discovery_slownetworkDiscovery cycle duration inflates.
nettopo_spoke_downnetworkA federation spoke goes offline.
nettopo_walker_degradednetworkWalker outcome errors climb; edge count under-reports.
node_not_readyclusterA node flips NotReady; its pods go Pending.
oom_killclusterContainers OOM-killed; restart count climbs, status reason OOMKilled.
pod_crashloopclusterPods crash-looping; restarts climb, phase Pending.
portkey_scrape_degradedcloudPortkey Analytics scrape degrades — error rate, latency, and poller lag climb.
replication_lagdatabaseReplica falls behind primary.
retry_stormserviceElevated gateway retry rate on the targeted service node.
slow_query_stormdatabaseQuery latency right-tail spikes.
throughput_dropserviceReduced throughput on the targeted service node.
web_vitals_degradedserviceBrowser web-vitals degrade (LCP/INP/TTFB/FCP and CLS spike).