{"id":22164364,"url":"https://github.com/remie/nagios","last_synced_at":"2025-10-29T06:54:59.700Z","repository":{"id":46911964,"uuid":"102892879","full_name":"remie/nagios","owner":"remie","description":"Create and manage Nagios Core with Typescript+NodeJS","archived":false,"fork":false,"pushed_at":"2021-09-21T16:54:44.000Z","size":264,"stargazers_count":7,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-29T06:54:55.185Z","etag":null,"topics":["developer-experience","developer-tools","developers","development","devops","docker","monitoring","nagios","nodejs","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/remie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-08T18:34:40.000Z","updated_at":"2025-04-21T22:01:24.000Z","dependencies_parsed_at":"2022-08-02T14:30:11.435Z","dependency_job_id":null,"html_url":"https://github.com/remie/nagios","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/remie/nagios","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remie%2Fnagios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remie%2Fnagios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remie%2Fnagios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remie%2Fnagios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/remie","download_url":"https://codeload.github.com/remie/nagios/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remie%2Fnagios/sbom","scorecard":{"id":770228,"data":{"date":"2025-08-18","repo":{"name":"github.com/remie/nagios","commit":"6d4a16316c0bcca131fc5a32bcb0f45541313bc5"},"scorecard":{"version":"v5.2.1-41-g40576783","commit":"40576783fda6698350fcbbeaea760ff827433034"},"score":1.6,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#dangerous-workflow"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: example/Dockerfile:1: pin your Docker image by updating remie/docker-nagios:1.2.0 to remie/docker-nagios:1.2.0@sha256:c4cdae4eab3473daebcc8b8e95d522097c5f01e498a95e1994c25560e0adad00","Warn: downloadThenRun not pinned by hash: example/Dockerfile:7","Warn: npmCommand not pinned by hash: example/Dockerfile:15","Warn: npmCommand not pinned by hash: bin/test.sh:7","Warn: npmCommand not pinned by hash: example/start.sh:4","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   1 downloadThenRun dependencies pinned","Info:   0 out of   3 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"22 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-4w2v-q235-vp99","Warn: Project is vulnerable to: GHSA-cph5-m8f7-6c5x","Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx","Warn: Project is vulnerable to: GHSA-jr5f-v2jv-69x6","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-74fj-2j2h-c42q","Warn: Project is vulnerable to: GHSA-pw2r-vq6v-hr8c","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-652h-xwhf-q4h6","Warn: Project is vulnerable to: GHSA-fj59-f6c3-3vw4","Warn: Project is vulnerable to: GHSA-94xh-2fmc-xf5j","Warn: Project is vulnerable to: GHSA-8j36-q8x7-pm6q","Warn: Project is vulnerable to: GHSA-4v2w-h9jm-mqjg","Warn: Project is vulnerable to: GHSA-m57p-p67h-mq74","Warn: Project is vulnerable to: GHSA-2m8v-572m-ff2v","Warn: Project is vulnerable to: GHSA-jff2-qjw8-5476","Warn: Project is vulnerable to: GHSA-cvv5-9h9w-qp2m","Warn: Project is vulnerable to: GHSA-cf4h-3jhx-xvhq"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/40576783fda6698350fcbbeaea760ff827433034/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T02:01:27.363Z","repository_id":46911964,"created_at":"2025-08-23T02:01:27.363Z","updated_at":"2025-08-23T02:01:27.363Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281577711,"owners_count":26524886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-experience","developer-tools","developers","development","devops","docker","monitoring","nagios","nodejs","typescript"],"created_at":"2024-12-02T05:07:03.896Z","updated_at":"2025-10-29T06:54:59.682Z","avatar_url":"https://github.com/remie.png","language":"TypeScript","readme":"# Nagios Core + Docker + TypeScript = 🤔😊😍\n\nThe goal of this project is to cross the bridge between IT operations staff that are using Nagios for systems monitoring and developers that create the applications that need monitoring. \n\nIn my entire professional life, I've never seen any developer actively contributing to a Nagios configuration. To me, that does not make sense as systems and application monitoring should be an integral part of the development cycle. As such, this should be a shared responsibility between IT operations staff and developers.\n\nTo accomplish this, we need to make sure that developers actually understand the Nagios configuration and feel comfortable contributing to it. What better way to do this than to turn Nagios configuration development into the same experience as developing any other application by using a present day technology stack and the same development best practices they are accustomed to.\n\nThat technology stack ended up being NodeJS+TypeSript, a custom CLI and Nagios running on Docker, hence the project title!\n\nThe project enables developers to run `npm test` and `npm start` like they would with any other application and have it validate the Nagios configuration and start a Nagios instance respectively. Although the project is still in BETA, that goal has been met.\n\n## Getting started\n\n### Prerequisites\n\nIn order to start creating your Nagios configuration using TypeScript, you will need to install the following prerequisites:\n\n- NodeJS 6.4+\n- Docker\n\n### Installation\n\nThe best way to start is to install the NPM package globally:\n\n```\nnpm install -g @remie/nagios-cli\n```\n\nAfterwards, create a new folder in your workspace (e.g. `~/my-nagios-project/`) and type:\n\n```\ncd ~/my-nagios-project\nnagios-cli init\n```\n\nThis will copy an example project which you can use to start creating your own Nagios configuration with hosts, host groups and services. \n\nIf you run `npm start` you will be able to see the outcome of the example project. It will start Nagios which will be accessible from `http://localhost:8000/nagios` with default username `nagiosadmin` and password `nagiosadmin`.\n\nIf you want to start creating your own object definitions, look at the [Decorators \u0026 Interfaces](https://github.com/remie/nagios/wiki/Decorators-\u0026-interfaces) and [Object classes](https://github.com/remie/nagios/wiki/Object-classes) pages.\n\n### Example project\n\nYou can also learn a lot by looking at the example project code, which you can find [here](https://github.com/remie/nagios/tree/master/example). This project will show you how to use the abstract classes and TypeScript decorators to create your own configuration.\n\n## 🎉🎉 Acknowledgements 🎉🎉\nA big shoutout to the development team of [Guidion](https://guidion.com), which served as a guinee pig for this project. They provided real-life examples, good discussions on architecture and a clear direction on what a developer would expect out of working with Nagios.\n\nLike any other tech company, they are always looking for good people. If you fancy working in an inspiring environment that incubated this project, check out [their career site](https://werkenbijguidion.com) (sorry, dutch site only).\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"http://youtransfer.io/assets/holland.png\" alt=\"Founded in Holland\" width=\"150\" /\u003e\u003cbr /\u003e\n\u003ca href=\"https://www.iamsterdam.com/en/business/startupamsterdam\"\u003eMade in Amsterdam\u003c/a\u003e with ♥\u003cbr /\u003e\u003cbr /\u003e\nSpecial thanks to \u003cbr /\u003e\n\u003ca href=\"https://guidion.com\"\u003e\u003cimg src=\"https://cdn.guidion.com/guidion-nl/guidion_logo.png\" width=\"100px\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremie%2Fnagios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fremie%2Fnagios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremie%2Fnagios/lists"}