{"_id":"@anirudhaj/alarms","_rev":"4-fa2e4bab76e749e4b7e25c73b2c60023","name":"@anirudhaj/alarms","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@anirudhaj/alarms","version":"1.0.0","keywords":["opensearch","dashboards","alarms","alerts","monitoring"],"author":{"name":"OpenSearch Project"},"license":"Apache-2.0","_id":"@anirudhaj/alarms@1.0.0","maintainers":[{"name":"anirudhaj","email":"anirudha81@gmail.com"}],"homepage":"https://github.com/anirudha/alert-manager#readme","bugs":{"url":"https://github.com/anirudha/alert-manager/issues"},"bin":{"osd-alarms":"bin/cli.js"},"dist":{"shasum":"29a1fe56b4d1b46b73af024f6081d63c8737eb31","tarball":"https://registry.npmjs.org/@anirudhaj/alarms/-/alarms-1.0.0.tgz","fileCount":516,"integrity":"sha512-vJ74NNXTjYAwjuVE++2cTUgQgGVrCE8AX15k6orhIhZe39m9OmveotH0i6w8pDbXzz+CT9Mfo4sIh2+CHdw90g==","signatures":[{"sig":"MEUCIQCiWA2WVho1Jr477Uo5zbVMuXdLpUpyIbjI6e7VlzUuxwIgFs7lNDkMdXAd/0CN5BTq1wdC5k9Z4aQCMyI1xTuiQAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2447707},"main":"dist/standalone/server.js","engines":{"node":">=16.0.0"},"gitHead":"629204c5aaf6b7ce455b14881be52ace5b3c584c","scripts":{"dev":"concurrently \"npm run dev:server\" \"npm run dev:client\"","build":"npm run build:client && npm run build:server","start":"node dist/standalone/server.js","dev:client":"webpack serve --mode development","dev:server":"ts-node --project tsconfig.server.json server.ts","build:client":"webpack --mode production","build:server":"tsc --project tsconfig.server.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"anirudhaj","email":"anirudha81@gmail.com"},"repository":{"url":"git+https://github.com/anirudha/alert-manager.git","type":"git","directory":"standalone"},"_npmVersion":"10.9.4","description":"Standalone Alarms service for OpenSearch Dashboards","directories":{},"_nodeVersion":"22.22.0","dependencies":{"react":"^16.14.0","moment":"^2.30.1","express":"^4.18.2","react-dom":"^16.14.0","react-router-dom":"^5.3.0","@elastic/datemath":"^5.0.3","@opensearch-project/oui":"^1.22.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","webpack":"^5.89.0","ts-loader":"^9.5.0","css-loader":"^6.8.1","typescript":"^5.3.0","@types/node":"^18.19.0","webpack-cli":"^5.1.4","@types/react":"^16.14.0","concurrently":"^8.2.0","style-loader":"^3.3.3","@types/express":"^4.17.17","@types/react-dom":"^16.9.0","webpack-dev-server":"^4.15.1","html-webpack-plugin":"^5.5.3","@types/react-router-dom":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/alarms_1.0.0_1770443149715_0.6633248787906849","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@anirudhaj/alarms","version":"1.0.1","keywords":["opensearch","dashboards","alarms","alerts","monitoring"],"author":{"name":"OpenSearch Project"},"license":"Apache-2.0","_id":"@anirudhaj/alarms@1.0.1","maintainers":[{"name":"anirudhaj","email":"anirudha81@gmail.com"}],"homepage":"https://github.com/anirudha/alert-manager#readme","bugs":{"url":"https://github.com/anirudha/alert-manager/issues"},"bin":{"osd-alarms":"bin/cli.js"},"dist":{"shasum":"0524d3a8c37aeb2fc9a06c78b9f03f89eeb84fb5","tarball":"https://registry.npmjs.org/@anirudhaj/alarms/-/alarms-1.0.1.tgz","fileCount":516,"integrity":"sha512-z8hueUlRXhFgIPSW+l9rnxlFG0GxkLgFVx6MEKEu4VPTZwvTdNwEoTK/mQ30yW8VDvgWebCoqYGVRxSKbiEsvg==","signatures":[{"sig":"MEYCIQDBYvi4Ro8kzvg7ugy6W+ofxeSa7t/9N9NWPhRWKe6+OAIhAJbS80NlI6v9vhNsZvi5Qpw5WjrR2CPrNC8HmGdVXMGx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2447509},"main":"dist/standalone/server.js","engines":{"node":">=16.0.0"},"gitHead":"8ef03c9660d013a546a01acba9aed07710c0cd1e","scripts":{"dev":"concurrently \"npm run dev:server\" \"npm run dev:client\"","build":"npm run build:client && npm run build:server","start":"node dist/standalone/server.js","dev:client":"webpack serve --mode development","dev:server":"ts-node --project tsconfig.server.json server.ts","build:client":"webpack --mode production","build:server":"tsc --project tsconfig.server.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"anirudhaj","email":"anirudha81@gmail.com"},"repository":{"url":"git+https://github.com/anirudha/alert-manager.git","type":"git","directory":"standalone"},"_npmVersion":"10.9.4","description":"Standalone Alarms service for OpenSearch Dashboards","directories":{},"_nodeVersion":"22.22.0","dependencies":{"react":"^16.14.0","moment":"^2.30.1","express":"^4.18.2","react-dom":"^16.14.0","react-router-dom":"^5.3.0","@elastic/datemath":"^5.0.3","@opensearch-project/oui":"^1.22.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","webpack":"^5.89.0","ts-loader":"^9.5.0","css-loader":"^6.8.1","typescript":"^5.3.0","@types/node":"^18.19.0","webpack-cli":"^5.1.4","@types/react":"^16.14.0","concurrently":"^8.2.0","style-loader":"^3.3.3","@types/express":"^4.17.17","@types/react-dom":"^16.9.0","webpack-dev-server":"^4.15.1","html-webpack-plugin":"^5.5.3","@types/react-router-dom":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/alarms_1.0.1_1770444067032_0.74662898243101","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@anirudhaj/alarms","version":"1.1.0","keywords":["opensearch","dashboards","alarms","alerts","monitoring"],"author":{"name":"OpenSearch Project"},"license":"Apache-2.0","_id":"@anirudhaj/alarms@1.1.0","maintainers":[{"name":"anirudhaj","email":"anirudha81@gmail.com"}],"homepage":"https://github.com/anirudha/alert-manager#readme","bugs":{"url":"https://github.com/anirudha/alert-manager/issues"},"bin":{"osd-alarms":"bin/cli.js"},"dist":{"shasum":"1e2885020cb7bdbb6bcaa4a01bc6179c02b83d66","tarball":"https://registry.npmjs.org/@anirudhaj/alarms/-/alarms-1.1.0.tgz","fileCount":519,"integrity":"sha512-UFReTq8Yzj8JawYf0byULzbBjDUP5OQCDOCjh1pC4qDB0VjKD0ZQDAezuRS0AVlXVDqg8XszFvsFUqeCZToydA==","signatures":[{"sig":"MEQCIFEUPgl1SV9MMqbPUWzxQrfARy373pslvxOmvqy/+e1gAiAo0MNIa4ILCdml8x+B21tQm/HABu/aKz0kJCt2VJrvzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2514391},"main":"dist/standalone/server.js","engines":{"node":">=16.0.0"},"gitHead":"23a11a1e6de631ab0bcd9e81b751d499c88956f7","scripts":{"dev":"concurrently \"npm run dev:server\" \"npm run dev:client\"","build":"npm run build:client && npm run build:server","start":"node dist/standalone/server.js","dev:client":"webpack serve --mode development","dev:server":"ts-node --project tsconfig.server.json server.ts","build:client":"webpack --mode production","build:server":"tsc --project tsconfig.server.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"anirudhaj","email":"anirudha81@gmail.com"},"repository":{"url":"git+https://github.com/anirudha/alert-manager.git","type":"git","directory":"standalone"},"_npmVersion":"10.9.4","description":"Standalone Alarms service for OpenSearch Dashboards","directories":{},"_nodeVersion":"22.22.0","dependencies":{"react":"^16.14.0","moment":"^2.30.1","express":"^4.18.2","react-dom":"^16.14.0","react-router-dom":"^5.3.0","@elastic/datemath":"^5.0.3","@opensearch-project/oui":"^1.22.1"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.1","webpack":"^5.89.0","ts-loader":"^9.5.0","css-loader":"^6.8.1","typescript":"^5.3.0","@types/node":"^18.19.0","webpack-cli":"^5.1.4","@types/react":"^16.14.0","concurrently":"^8.2.0","style-loader":"^3.3.3","@types/express":"^4.17.17","@types/react-dom":"^16.9.0","webpack-dev-server":"^4.15.1","html-webpack-plugin":"^5.5.3","@types/react-router-dom":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/alarms_1.1.0_1770448040997_0.5133556929337484","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@anirudhaj/alarms","version":"1.1.1","description":"Standalone Alarms service for OpenSearch Dashboards","bin":{"osd-alarms":"bin/cli.js"},"main":"dist/standalone/server.js","scripts":{"dev":"concurrently \"npm run dev:server\" \"npm run dev:client\"","dev:server":"ts-node --project tsconfig.server.json server.ts","dev:client":"webpack serve --mode development","build":"npm run build:client && npm run build:server","build:server":"tsc --project tsconfig.server.json","build:client":"webpack --mode production","start":"node dist/standalone/server.js","prepublishOnly":"npm run build"},"keywords":["opensearch","dashboards","alarms","alerts","monitoring"],"author":{"name":"OpenSearch Project"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/anirudha/alert-manager.git","directory":"standalone"},"dependencies":{"@elastic/datemath":"^5.0.3","@opensearch-project/oui":"^1.22.1","express":"^4.18.2","moment":"^2.30.1","react":"^16.14.0","react-dom":"^16.14.0","react-router-dom":"^5.3.0"},"devDependencies":{"@types/express":"^4.17.17","@types/node":"^18.19.0","@types/react":"^16.14.0","@types/react-dom":"^16.9.0","@types/react-router-dom":"^5.3.0","concurrently":"^8.2.0","css-loader":"^6.8.1","html-webpack-plugin":"^5.5.3","style-loader":"^3.3.3","ts-loader":"^9.5.0","ts-node":"^10.9.1","typescript":"^5.3.0","webpack":"^5.89.0","webpack-cli":"^5.1.4","webpack-dev-server":"^4.15.1"},"engines":{"node":">=16.0.0"},"_id":"@anirudhaj/alarms@1.1.1","gitHead":"0c2bcf3d097544aa735827a43ff50f1f0552e8e4","bugs":{"url":"https://github.com/anirudha/alert-manager/issues"},"homepage":"https://github.com/anirudha/alert-manager#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-+nKD6jHlmML+PdhFkB+4SnM4LmA7cpR60t0CENbvYV8R/jwfC7XgyuNOk1jVmUDJ6dZr8GnKzo+kmtNZBVE3OQ==","shasum":"6d0159b7706bf70186640c41db558cbda21d9967","tarball":"https://registry.npmjs.org/@anirudhaj/alarms/-/alarms-1.1.1.tgz","fileCount":519,"unpackedSize":2514777,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGVIFJHxk7/PK2BUY4JhuuNHSCeOaGfvMdt35hkbJxR5AiAMkkWfslQlPfF5cbBUrQbJb6n8OCkIETttffZVOznkew=="}]},"_npmUser":{"name":"anirudhaj","email":"anirudha81@gmail.com"},"directories":{},"maintainers":[{"name":"anirudhaj","email":"anirudha81@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/alarms_1.1.1_1770448232485_0.7655976957323796"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-07T05:45:49.570Z","modified":"2026-02-07T07:10:32.805Z","1.0.0":"2026-02-07T05:45:49.871Z","1.0.1":"2026-02-07T06:01:07.204Z","1.1.0":"2026-02-07T07:07:21.199Z","1.1.1":"2026-02-07T07:10:32.690Z"},"bugs":{"url":"https://github.com/anirudha/alert-manager/issues"},"author":{"name":"OpenSearch Project"},"license":"Apache-2.0","homepage":"https://github.com/anirudha/alert-manager#readme","keywords":["opensearch","dashboards","alarms","alerts","monitoring"],"repository":{"type":"git","url":"git+https://github.com/anirudha/alert-manager.git","directory":"standalone"},"description":"Standalone Alarms service for OpenSearch Dashboards","maintainers":[{"name":"anirudhaj","email":"anirudha81@gmail.com"}],"readme":"# @anirudhaj/alarms\n\nAlert Manager UI for OpenSearch Alerting and Amazon Managed Prometheus. Supports multiple alerting backends with a unified interface.\n\n## Quick Start\n\n```bash\nnpx @anirudhaj/alarms\n```\n\nOpen http://localhost:5603 in your browser.\n\n## Options\n\n```bash\nnpx @anirudhaj/alarms --port 8080      # Custom port\nMOCK_MODE=false npx @anirudhaj/alarms  # Disable mock mode\nnpx @anirudhaj/alarms --help           # Show help\n```\n\n## Supported Backends\n\n- **OpenSearch Alerting** — Full alerting API support\n- **Amazon Managed Prometheus** — Prometheus-compatible alerting API\n\n## API\n\n### Datasources\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/api/datasources` | List all datasources |\n| GET | `/api/datasources/:id` | Get datasource by ID |\n| POST | `/api/datasources` | Create datasource |\n| PUT | `/api/datasources/:id` | Update datasource |\n| DELETE | `/api/datasources/:id` | Delete datasource |\n| POST | `/api/datasources/:id/test` | Test connection |\n\n### Alerts\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/api/alerts` | List all alerts (all datasources) |\n| GET | `/api/datasources/:id/alerts` | List alerts for datasource |\n\n### Alert Rules\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| GET | `/api/rules` | List all rules (all datasources) |\n| GET | `/api/datasources/:id/rules` | List rules for datasource |\n| GET | `/api/datasources/:id/rules/:ruleId` | Get rule by ID |\n| POST | `/api/rules` | Create rule |\n| PUT | `/api/datasources/:id/rules/:ruleId` | Update rule |\n| DELETE | `/api/datasources/:id/rules/:ruleId` | Delete rule |\n| POST | `/api/datasources/:id/rules/:ruleId/toggle` | Toggle rule enabled |\n\n### Examples\n\n```bash\n# List datasources\ncurl http://localhost:5603/api/datasources\n\n# Create a datasource\ncurl -X POST http://localhost:5603/api/datasources \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\":\"My OpenSearch\",\"type\":\"opensearch\",\"url\":\"https://localhost:9200\",\"enabled\":true}'\n\n# List all alerts\ncurl http://localhost:5603/api/alerts\n\n# Create an alert rule\ncurl -X POST http://localhost:5603/api/rules \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"datasourceId\": \"ds-1\",\n    \"name\": \"High CPU\",\n    \"severity\": \"critical\",\n    \"query\": \"cpu > 90\",\n    \"condition\": \"avg() > 90\"\n  }'\n```\n\n## Features\n\n- 🔌 **Multi-backend** — OpenSearch Alerting + Amazon Managed Prometheus\n- 🎭 **Mock mode** — Built-in mock data for development\n- 🚀 **Instant startup** — No dependencies required\n- 📦 **Tiny footprint** — ~4MB standalone package\n- 🎨 **Full UI** — OUI-based interface\n\n## Repository\n\nhttps://github.com/anirudha/alert-manager\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}