{"id":43948191,"url":"https://github.com/sol1/sol1-icinga-notifications","last_synced_at":"2026-02-07T03:07:45.042Z","repository":{"id":199632861,"uuid":"697546253","full_name":"sol1/sol1-icinga-notifications","owner":"sol1","description":"Some cool notification scripts for Icinga2","archived":false,"fork":false,"pushed_at":"2025-12-02T02:56:15.000Z","size":131,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-04T18:55:18.713Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/sol1.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-28T00:47:55.000Z","updated_at":"2025-12-02T02:56:19.000Z","dependencies_parsed_at":"2023-10-12T15:35:14.977Z","dependency_job_id":"9a4d265c-cf5e-46e3-84dd-9fe04bd1d777","html_url":"https://github.com/sol1/sol1-icinga-notifications","commit_stats":null,"previous_names":["sol1/sol1-icinga-notifications"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sol1/sol1-icinga-notifications","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sol1%2Fsol1-icinga-notifications","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sol1%2Fsol1-icinga-notifications/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sol1%2Fsol1-icinga-notifications/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sol1%2Fsol1-icinga-notifications/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sol1","download_url":"https://codeload.github.com/sol1/sol1-icinga-notifications/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sol1%2Fsol1-icinga-notifications/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29185144,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T00:44:15.062Z","status":"online","status_checked_at":"2026-02-07T02:00:07.217Z","response_time":63,"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":[],"created_at":"2026-02-07T03:07:44.978Z","updated_at":"2026-02-07T03:07:45.034Z","avatar_url":"https://github.com/sol1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Icinga Notifications\n\nThis repository contains Icinga Notification scripts for \n- Enhanced Email\n- Netbox Path\n- Pushover\n- Request Tracker\n- Slack\n\nThese notification scripts have been created to work with Icinga configuration on disk or in Director. They pull their configuration from arguments, environment variables and on disk configuration.\n\nThis repository contains the notification scripts, shared libraries, dependant python libaries, an installation script, config examples for Icinga2 and Icingaweb2 Director import baskets.\n\n\n## Installation\n`deploy.sh` can be used to install the scripts from this repository. \n\nIt performs the following actions\n- Installs repository shared libraries, always overrides existing, and sets permissions(destination: `/etc/icinga2/scripts/lib/`) \n- Installs python libraries with `python3 -m pip install`\n- Copies default config if config doesn't exist and sets permissions (destination: `/etc/icinga2/scripts/config/`)\n- Copies notification script, always overrides existing script, and sets permissions (destination: `/etc/icinga2/scripts/`)\n\n\n### `Deploy.sh` Usage\nDeploy Everything\n```\ndeploy.sh --all\n```\n\nDeploy just a single Notification type\n```\ndeploy.sh --enhanced-email\ndeploy.sh --netbox-path\ndeploy.sh --pushover\ndeploy.sh --request-tracker\ndeploy.sh --slack\n```\n\nDeploy everything for a specified user (default user: `nagios`)\n```\ndeploy.sh --all --icinga2-user icinga2\n```\n\n\n## Notification Script Configuration\n### Enhanced Email\nOnce installed you will find the Enhanced Email Notification configuration in the `/etc/icinga2/scripts/config/` directory.\n\nThe configuration of settings for email, Icinga, Netbox and Grafana can be found in this file.\n\nFor configuration of the Notification command in Icinga itself refer to the `./icinga_conf/` examples or import the director baskets `./director_baskets/` available in this repository. \n\n### Netbox Path Impact\nOnce installed you will find the Netbox Path Impact Notification configuration in the `/etc/icinga2/scripts/config/` directory.\n\nThe configuration of settings for Netbox can be found in this file. \nThis Notification script doesn't manage the notification to enduser itself but instead determines who needs to be notified based on the Netbox Path plugin's impact assesment API then calls other notification scripts.\nIt is assumed the other notification scripts will have the `--help` option and use the same argument names as this notification script, which is uses to pass through the correct argument and values to the notification script.\n\nFor configuration of the Notification command in Icinga itself refer to the `./icinga_conf/` examples or import the director baskets `./director_baskets/` available in this repository. \n\n### Pushover\nThere is no configuration file for this script.\n\nFor configuration of the Notification command in Icinga itself refer to the `./icinga_conf/` examples or import the director baskets `./director_baskets/` available in this repository. \n\n### Request Tracker\nOnce installed you will find the Request Tracker Notification configuration in the `/etc/icinga2/scripts/config/` directory.\n\nThe configuration of connection settings to Request Tracker and Icinga can be found in this file.\n\nFor configuration of the Notification command in Icinga itself refer to the `./icinga_conf/` examples or import the director baskets `./director_baskets/` available in this repository. \n\n### Slack\nThere is no configuration files by default with slack notifications, the script will still look for configuration in `config/slack-notification.json` though.\n\nFor configuration of the Notification command in Icinga itself refer to the `./icinga_conf/` examples or import the director baskets `./director_baskets/` available in this repository. \n\n### Icinga2 Configuration via config files\nTypically the Icinga2 configuration only need to be added once unless new options are added to the script. \n\nAdding Icinga2 configuration is not automated with script installation and should not be used if you have already setup, or intend to setup, Director Configuration.\n\n\nAdd the config files in `/etc/icinga2/conf.d/` or `/etc/icinga2/zones.d/global-templates/`, whatever is the most appropiate for your setup.\n\n### Director Configuration via Basket Import\nTypically the Director configuration only need to be uploaded once unless new options are added to the script. \n\nCreation of Director configuration is not automated with script installation and should not be used if you have already setup, or intend to setup, Icinga2 Configuration via config files.\n\n- Select `Icinga Director` then `Configuration Baskets`\n- In the Configuration Baskets panel select `Upload`\n- Add the basket name and select the upload file then `Upload` to create the basket\n- At the top of the screen select Snapshots\n- Select the listed Snapshot\n- Select `Restore` to create/update the Director configuration\n\n## Contributing\nWe welcome improvements to this project.\n\nThe best way to contribute is Create a ticket explaining the problem you are solving then submit a pull request with your changes. \n\nPlease note that these Notification scripts are used by Sol1 in multiple production environments so any changes submitted that aren't backwards compatible are unlikely to be accepted as is.\n\n\n## License\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsol1%2Fsol1-icinga-notifications","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsol1%2Fsol1-icinga-notifications","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsol1%2Fsol1-icinga-notifications/lists"}