{"_id":"@dharamnpm/nobl9-slo-generator","name":"@dharamnpm/nobl9-slo-generator","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@dharamnpm/nobl9-slo-generator","version":"1.0.0","description":"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","main":"dist/index.js","types":"dist/types.d.ts","author":{"name":"Dharmendra A","url":"https://github.com/dharam"},"repository":{"type":"git","url":"git+https://github.com/dharam/nobl9-slo-generator.git"},"homepage":"https://github.com/dharam/nobl9-slo-generator#readme","bugs":{"url":"https://github.com/dharam/nobl9-slo-generator/issues"},"bin":{"slo-gen":"dist/cli.js"},"scripts":{"build":"tsc","test":"jest","prepare":"npm run build"},"keywords":["nobl9","sloctl","slo","slo generator","service level objectives","sli","sre","observability","devops","yaml generator","json to yaml","cli tool","monitoring","error budget"],"license":"MIT","dependencies":{"ajv":"^8.12.0","commander":"^11.0.0","fs-extra":"^11.1.1","js-yaml":"^4.1.0"},"devDependencies":{"@types/fs-extra":"^11.0.4","@types/jest":"^29.5.0","@types/js-yaml":"^4.0.9","@types/node":"^20.0.0","jest":"^29.6.0","ts-jest":"^29.1.0","typescript":"^5.3.0"},"gitHead":"8d84acefbe9072164cda1ea132708eed4bc3186c","_id":"@dharamnpm/nobl9-slo-generator@1.0.0","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-nNkwclR+N9P5s3znv+yxFmYRU07D81xtQ/f52osxcGH5hiqvqhzWAa9NtdYzobsMhO6870t+9YB2B7NT+KcSaA==","shasum":"33cfb968b5459c93e7fe0bfd4591046c8995d4b3","tarball":"https://registry.npmjs.org/@dharamnpm/nobl9-slo-generator/-/nobl9-slo-generator-1.0.0.tgz","fileCount":21,"unpackedSize":16631,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAxxEQPi8/9o+vp9seHLIkCDtlJgffgpIJjuMUJcsA/NAiEAhdjft/zd6OHzh7uyXgvrNf2iWKEiBuGP30+Fw3b4WOA="}]},"_npmUser":{"name":"dharamnpm","email":"dharmendra.adsule@gmail.com"},"directories":{},"maintainers":[{"name":"dharamnpm","email":"dharmendra.adsule@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nobl9-slo-generator_1.0.0_1774852873376_0.16998922765546087"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-30T06:41:13.287Z","1.0.0":"2026-03-30T06:41:13.522Z","modified":"2026-03-30T06:41:13.739Z"},"maintainers":[{"name":"dharamnpm","email":"dharmendra.adsule@gmail.com"}],"description":"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","homepage":"https://github.com/dharam/nobl9-slo-generator#readme","keywords":["nobl9","sloctl","slo","slo generator","service level objectives","sli","sre","observability","devops","yaml generator","json to yaml","cli tool","monitoring","error budget"],"repository":{"type":"git","url":"git+https://github.com/dharam/nobl9-slo-generator.git"},"author":{"name":"Dharmendra A","url":"https://github.com/dharam"},"bugs":{"url":"https://github.com/dharam/nobl9-slo-generator/issues"},"license":"MIT","readme":"# nobl9-slo-generator\r\n\r\n**Generate Nobl9 SLO YAML from JSON configurations using a CLI or programmatic workflow.**\r\n\r\nA 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.\r\n\r\n---\r\n\r\n## 🚀 Features\r\n\r\n- ✅ Generate **Nobl9-compliant SLO YAML** from JSON  \r\n- ✅ Supports **ratio-based** and **threshold-based** indicators  \r\n- ✅ Strict **schema validation** with AJV  \r\n- ✅ CLI tool for **fast YAML generation**  \r\n- ✅ Fully typed with **TypeScript**  \r\n- ✅ Integrates with **sloctl** for Nobl9  \r\n- ✅ Ideal for **DevOps, SRE, observability, monitoring, and error budget workflows**\r\n\r\n---\r\n\r\n## 📦 Installation\r\n\r\nInstall globally via npm:\r\n\r\n```bash\r\nnpm install -g nobl9-slo-generator\r\n```\r\n\r\n---\r\n\r\n## 🛠 Usage\r\n\r\n### CLI\r\n\r\nGenerate YAML files from a JSON configuration:\r\n\r\n```bash\r\nslo-gen path/to/config.json -o output/\r\n```\r\n\r\nThis generates Nobl9 YAML files for each SLO defined in your JSON configuration.\r\n\r\n### Example JSON Configuration\r\n\r\n```json\r\n{\r\n  \"service\": {\r\n    \"name\": \"checkout-service\",\r\n    \"project\": \"ecommerce\"\r\n  },\r\n  \"slos\": [\r\n    {\r\n      \"name\": \"availability\",\r\n      \"indicator\": {\r\n        \"type\": \"ratio\",\r\n        \"good\": \"http_requests_total{status=~\\\"2..\\\"}\",\r\n        \"total\": \"http_requests_total\"\r\n      },\r\n      \"objectives\": [\r\n        { \"target\": 0.99, \"window\": \"30d\" }\r\n      ]\r\n    }\r\n  ]\r\n}\r\n```\r\n\r\n### Deploy to Nobl9\r\n\r\nAfter generating YAML files, deploy using sloctl:\r\n\r\n```bash\r\nsloctl apply -f output/\r\n```\r\n\r\n---\r\n\r\n## 🔧 Programmatic Usage\r\n\r\n```typescript\r\nimport { transform, writeFiles } from 'nobl9-slo-generator';\r\n\r\nconst config = require('./config.json');\r\nconst slos = transform(config);\r\n\r\nawait writeFiles(slos, 'output/');\r\n```\r\n\r\n---\r\n\r\n## 📝 Why Use This Tool?\r\n\r\n- **Speeds up SLO creation and management** – Automate YAML generation from simple JSON configs\r\n- **Reduces manual YAML errors** – Built-in validation ensures Nobl9 compliance\r\n- **Works well with GitOps workflows** – Integrate into CI/CD pipelines for automated deployment\r\n- **Helps SRE teams track error budgets** – Centralized SLO management for service reliability\r\n\r\n---\r\n\r\n## 📄 License\r\n\r\nMIT\r\n","readmeFilename":"README.md","_rev":"1-d5359752213c567dfb4d4b13a4f3e4dd"}