@dharamnpm/nobl9-slo-generator
v1.0.0
Published
Generate Nobl9-compliant SLO YAML from JSON – a TypeScript CLI and library for SREs, DevOps, and observability teams to automate service level objectives, SLIs, and error budgets
Maintainers
Readme
nobl9-slo-generator
Generate Nobl9 SLO YAML from JSON configurations using a CLI or programmatic workflow.
A TypeScript library and CLI tool for SREs, DevOps engineers, and observability teams to quickly create service level objectives (SLOs), SLIs, and error budgets in YAML format for Nobl9. Ideal for GitOps workflows, automated deployment pipelines, and programmatic SLO management.
🚀 Features
- ✅ Generate Nobl9-compliant SLO YAML from JSON
- ✅ Supports ratio-based and threshold-based indicators
- ✅ Strict schema validation with AJV
- ✅ CLI tool for fast YAML generation
- ✅ Fully typed with TypeScript
- ✅ Integrates with sloctl for Nobl9
- ✅ Ideal for DevOps, SRE, observability, monitoring, and error budget workflows
📦 Installation
Install globally via npm:
npm install -g nobl9-slo-generator🛠 Usage
CLI
Generate YAML files from a JSON configuration:
slo-gen path/to/config.json -o output/This generates Nobl9 YAML files for each SLO defined in your JSON configuration.
Example JSON Configuration
{
"service": {
"name": "checkout-service",
"project": "ecommerce"
},
"slos": [
{
"name": "availability",
"indicator": {
"type": "ratio",
"good": "http_requests_total{status=~\"2..\"}",
"total": "http_requests_total"
},
"objectives": [
{ "target": 0.99, "window": "30d" }
]
}
]
}Deploy to Nobl9
After generating YAML files, deploy using sloctl:
sloctl apply -f output/🔧 Programmatic Usage
import { transform, writeFiles } from 'nobl9-slo-generator';
const config = require('./config.json');
const slos = transform(config);
await writeFiles(slos, 'output/');📝 Why Use This Tool?
- Speeds up SLO creation and management – Automate YAML generation from simple JSON configs
- Reduces manual YAML errors – Built-in validation ensures Nobl9 compliance
- Works well with GitOps workflows – Integrate into CI/CD pipelines for automated deployment
- Helps SRE teams track error budgets – Centralized SLO management for service reliability
📄 License
MIT
