OpenSRM
Open Service Reliability Manifest - Define service reliability requirements as code
service.reliability.yamlservice.reliability.yml*.reliability.yaml*.reliability.yml.opensrm.yaml.opensrm.yml
Validate
Check your file against this schema
Opens the validator with this schema already loaded. Paste your
service.reliability.yaml and it validates in your browser — nothing is uploaded.
Reference
Fields
Generated directly from the schema, following local
$refs, to two levels of nesting.
| Field | Type | Description |
|---|---|---|
apiVersionrequired | string | Schema version. Must be srm/v1 |
kindrequired | string | Document type |
metadatarequired | object | Service identity and classification |
metadata.namerequired | string | Unique service identifier (lowercase alphanumeric with hyphens) |
metadata.teamrequired | string | Owning team identifier |
metadata.tierrequired | string | Service criticality tier one of: "critical", "high", "standard", "low" |
metadata.template | string | Name of template to inherit from |
metadata.description | string | Human-readable description |
metadata.labels | object | Key-value pairs for filtering/grouping |
metadata.annotations | object | Arbitrary metadata (not used for selection) |
specrequired | object | Reliability requirements |
spec.type | string | Service operational pattern https://github.com/rsionnach/opensrm#service-types one of: "api", "worker", "stream", "ai-gate", "batch", "database" |
spec.slos | object | Service Level Objectives |
spec.slos.availability | object | Availability SLO - measures proportion of successful requests |
spec.slos.latency | object | Latency SLO - measures response time at specified percentiles |
spec.slos.error_rate | object | Error rate SLO - measures proportion of failed requests |
spec.slos.throughput | object | Throughput SLO - measures request processing rate |
spec.slos.processing_time | object | Processing time SLO - job completion time for worker services |
spec.slos.lag | object | Lag SLO - consumer lag for stream services |
spec.slos.success_rate | object | Success rate SLO - measures proportion of successful operations |
spec.slos.duration | object | Duration SLO - job execution time for batch services |
spec.slos.schedule_adherence | object | Schedule adherence SLO - measures timeliness of batch job starts |
spec.slos.data_freshness | object | Data freshness SLO - measures staleness of batch output data |
spec.slos.query_latency | object | Query latency SLO - response time for database services |
spec.slos.replication_lag | object | Replication lag SLO for database services |
spec.slos.connection_availability | object | Connection availability SLO for database services |
spec.slos.openslo | array<object> | References to external OpenSLO files |
spec.slos.custom | array<object> | Custom SLO types |
spec.slos.judgment | object | Judgment SLOs for AI gate services - measure decision quality https://github.com/rsionnach/opensrm#judgment-slos |
spec.contract | object | Reliability guarantees promised to dependents https://github.com/rsionnach/opensrm#contracts |
spec.contract.availability | number | Ratio value (0.0 - 1.0) |
spec.contract.latency | object | Latency guarantees in a contract |
spec.contract.throughput | object | Throughput guarantees in a contract |
spec.contract.judgment | object | Judgment guarantees in a contract for AI gate services |
spec.instrumentation | object | Telemetry configuration for AI gate services |
spec.instrumentation.eventsrequired | object | Event name mappings |
spec.instrumentation.attributes | object | Attribute name mappings |
spec.dependencies | array | Upstream dependencies |
spec.ownership | object | Service ownership information |
spec.ownership.teamrequired | string | Team identifier |
spec.ownership.slack | string | Slack channel for alerts (e.g., '#team-oncall') |
spec.ownership.email | string | Team email address |
spec.ownership.escalation | string | On-call rotation or escalation policy name |
spec.ownership.pagerduty | object | PagerDuty integration |
spec.ownership.runbook | string | URL to operational runbook |
spec.ownership.documentation | string | URL to service documentation |
spec.ownership.oncall_required | boolean | Whether on-call rotation is required |
spec.observability | object | Observability requirements |
spec.observability.metrics | object | Metric requirements |
spec.observability.dashboards | object | Dashboard requirements |
spec.observability.alerts | object | Alert requirements |
spec.observability.tracing | object | Distributed tracing requirements |
spec.deployment | object | Deployment requirements |
spec.deployment.environments | array<string> | Environments where service is deployed |
spec.deployment.gates | object | Deployment gates |
spec.deployment.rollback | object | Rollback configuration |
apiVersionrequired | string | Schema version. Must be srm/v1 |
kindrequired | string | Document type |
metadatarequired | object | Template identity |
metadata.namerequired | string | Unique template identifier |
metadata.description | string | Human-readable description |
specrequired | object | Partial spec for template inheritance |
spec.type | string | Service operational pattern https://github.com/rsionnach/opensrm#service-types one of: "api", "worker", "stream", "ai-gate", "batch", "database" |
spec.slos | object | Service Level Objectives |
spec.slos.availability | object | Availability SLO - measures proportion of successful requests |
spec.slos.latency | object | Latency SLO - measures response time at specified percentiles |
spec.slos.error_rate | object | Error rate SLO - measures proportion of failed requests |
spec.slos.throughput | object | Throughput SLO - measures request processing rate |
spec.slos.processing_time | object | Processing time SLO - job completion time for worker services |
spec.slos.lag | object | Lag SLO - consumer lag for stream services |
spec.slos.success_rate | object | Success rate SLO - measures proportion of successful operations |
spec.slos.duration | object | Duration SLO - job execution time for batch services |
spec.slos.schedule_adherence | object | Schedule adherence SLO - measures timeliness of batch job starts |
spec.slos.data_freshness | object | Data freshness SLO - measures staleness of batch output data |
spec.slos.query_latency | object | Query latency SLO - response time for database services |
spec.slos.replication_lag | object | Replication lag SLO for database services |
spec.slos.connection_availability | object | Connection availability SLO for database services |
spec.slos.openslo | array<object> | References to external OpenSLO files |
spec.slos.custom | array<object> | Custom SLO types |
spec.slos.judgment | object | Judgment SLOs for AI gate services - measure decision quality https://github.com/rsionnach/opensrm#judgment-slos |
spec.ownership | object | Service ownership information |
spec.ownership.teamrequired | string | Team identifier |
spec.ownership.slack | string | Slack channel for alerts (e.g., '#team-oncall') |
spec.ownership.email | string | Team email address |
spec.ownership.escalation | string | On-call rotation or escalation policy name |
spec.ownership.pagerduty | object | PagerDuty integration |
spec.ownership.runbook | string | URL to operational runbook |
spec.ownership.documentation | string | URL to service documentation |
spec.ownership.oncall_required | boolean | Whether on-call rotation is required |
spec.instrumentation | object | Telemetry configuration for AI gate services |
spec.instrumentation.eventsrequired | object | Event name mappings |
spec.instrumentation.attributes | object | Attribute name mappings |
Audit
What we found in this schema
- Declared draft: draft-07
- Validates cleanly against its own meta-schema.
- Has 10 place(s) where keywords sit beside
$ref. Under draft-07 those keywords are silently ignored by every conforming validator — first at#/definitions/AvailabilitySLO/properties/window. - 183 properties, 72% carrying a description, max nesting depth 10.
Standards
Specification sections for the keywords in this schema
| Keyword | Document | Section |
|---|---|---|
$ref | JSON Schema Core, draft 2020-12 | §8.2.3.1 — Direct References with "$ref" |
additionalProperties | JSON Schema Core, draft 2020-12 | §10.3.2.3 — "additionalProperties" |
anyOf | JSON Schema Core, draft 2020-12 | §10.2.1.2 — "anyOf" |
const | JSON Schema Validation, draft 2020-12 | §6.1.3 — "const" |
default | JSON Schema Validation, draft 2020-12 | §9.2 — "default" |
description | JSON Schema Validation, draft 2020-12 | §9.1 — "title" and "description" |
enum | JSON Schema Validation, draft 2020-12 | §6.1.2 — "enum" |
format | JSON Schema Validation, draft 2020-12 | §7 — Vocabularies for Semantic Content With "format" |
items | JSON Schema Core, draft 2020-12 | §10.3.1.2 — "items" |
maximum | JSON Schema Validation, draft 2020-12 | §6.2.2 — "maximum" |
minimum | JSON Schema Validation, draft 2020-12 | §6.2.4 — "minimum" |
pattern | JSON Schema Validation, draft 2020-12 | §6.3.3 — "pattern" |
properties | JSON Schema Core, draft 2020-12 | §10.3.2.1 — "properties" |
required | JSON Schema Validation, draft 2020-12 | §6.5.3 — "required" |
type | JSON Schema Validation, draft 2020-12 | §6.1.1 — "type" |
format: "uri" | RFC 3986 (STD 66) | §3 — Syntax Components |
Documents
- JSON Schema Core, draft 2020-12 — JSON Schema: A Media Type for Describing JSON Documents, A. Wright, H. Andrews, B. Hutton, G. Dennis, Eds., 2022. draft-bhutton-json-schema-01. An expired Internet-Draft with no formal standing in the IETF standards process; it is nonetheless the specification of record for JSON Schema 2020-12, published by json-schema.org.
- JSON Schema Validation, draft 2020-12 — JSON Schema Validation: A Vocabulary for Structural Validation of JSON, A. Wright, H. Andrews, B. Hutton, Eds., 2022.
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The format a schema describes.
- RFC 6901 — JavaScript Object Notation (JSON) Pointer. Defines the pointer syntax used by $ref fragments and the ~0 / ~1 escapes.
Source
Attribution
This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.