{"id":13483352,"url":"https://github.com/linkedin/iris","last_synced_at":"2025-08-17T01:34:59.234Z","repository":{"id":37547864,"uuid":"79385525","full_name":"linkedin/iris","owner":"linkedin","description":"Iris is a highly configurable and flexible service for paging and messaging.","archived":false,"fork":false,"pushed_at":"2025-06-12T16:12:45.000Z","size":11554,"stargazers_count":832,"open_issues_count":47,"forks_count":140,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-07-13T07:51:48.457Z","etag":null,"topics":["automation","escalation","messaging","paging"],"latest_commit_sha":null,"homepage":"http://iris.claims","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linkedin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-01-18T21:20:21.000Z","updated_at":"2025-06-26T02:44:04.000Z","dependencies_parsed_at":"2023-02-09T16:31:15.163Z","dependency_job_id":"52876ede-20ff-4fde-b7e7-887b3d6fe36b","html_url":"https://github.com/linkedin/iris","commit_stats":{"total_commits":730,"total_committers":42,"mean_commits":17.38095238095238,"dds":0.6945205479452055,"last_synced_commit":"7e1e6ff32a1b3f4fad6b861b8602359e473efacd"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/linkedin/iris","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkedin%2Firis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkedin%2Firis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkedin%2Firis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkedin%2Firis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linkedin","download_url":"https://codeload.github.com/linkedin/iris/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkedin%2Firis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270796217,"owners_count":24647319,"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-08-16T02:00:11.002Z","response_time":91,"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":["automation","escalation","messaging","paging"],"created_at":"2024-07-31T17:01:10.374Z","updated_at":"2025-08-17T01:34:59.203Z","avatar_url":"https://github.com/linkedin.png","language":"Python","readme":"[Iris](http://iris.claims) [![Build Status](https://circleci.com/gh/linkedin/iris.svg?style=shield)](https://circleci.com/gh/linkedin/iris) [![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)](https://opensource.org/licenses/BSD-2-Clause) [![Gitter chat](https://badges.gitter.im/irisoncall/Lobby.png)](https://gitter.im/irisoncall/Lobby)\n========\n\nIris core, API, UI and sender service. For third-party integration support, see [iris-relay](https://github.com/linkedin/iris-relay), a stateless proxy designed to sit at the edge of a production network and allow external traffic to pass through. We also have an Iris mobile app for iOS/Android, at the [iris-mobile](https://github.com/linkedin/iris-mobile) repo.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/linkedin/iris/raw/master/docs/source/_static/demo.png\" width=\"600\"\u003e\u003c/p\u003e\n\nQuick Start with Gitpod\n--------------\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/linkedin/iris)\n\nSetup database\n--------------\n\n1. remove `ONLY_FULL_GROUP_BY` from MySQL config `sql_mode` or run mysqld in permisive mode (i.e. `--sql_mode=''`)\n1. create mysql schema: `mysql -u USER -p \u003c ./db/schema_0.sql`  (WARNING: This will drop any existing tables)\n1. import dummy data: `mysql -u USER -p -o iris \u003c ./db/dummy_data.sql`\n\n`dummy_data.sql` contains the following entities:\n  * user `demo` with password `demo`\n  * team `demo_team`\n  * application `Autoalerts` with key: `a7a9d7657ac8837cd7dfed0b93f4b8b864007724d7fa21422c24f4ff0adb2e49`\n\n\nSetup dev environment\n---------------------\n\n1. create \u0026 source your virtualenv\n1. install build dependencies: `libssl-dev libxml2-dev libxslt1-dev libsasl2-dev python-dev libldap2-dev`\n1. run `pip install -e '.[dev,kazoo]'`\n1. edit ./configs/config.dev.yaml to setup database credential and other settings\n\nTo install iris with extra features, you can pass in feature flag with pip:\n\n```bash\npip install -e '.[prometheus]'\n```\n\nFor list of extra features, please see `extras_require` setting in `setup.py`.\n\n\nRun everything\n--------------\n\n```bash\nforego start\n```\n\n\nRun web server\n--------------\n\n```bash\nmake serve\n```\n\n\nRun sender\n---------\n\n```bash\niris-sender configs/config.dev.yaml\n```\n\nTests\n-----\n\nRun tests:\n\n```bash\nmake test  # all tests, e2e + unit\nmake e2e  # e2e tests\nmake unit  # unit tests\n```\n\nGenerate test coverage reports:\n\n```bash\nmake e2e-cov\nmake unit-cov\n```\n\n\nAdding new plugins\n------------------\n\n1. create the plugin file under `src/iris/plugins` dir\n1. edit `src/iris/plugins/__init__.py` to add plugin module to `__all__` list\n","funding_links":[],"categories":["\u003ca id=\"tag-dev\" href=\"#tag-dev\"\u003eDev\u003c/a\u003e","automation","Python"],"sub_categories":["\u003ca id=\"tag-dev.ops\" href=\"#tag-dev.ops\"\u003eOps\u003c/a\u003e"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkedin%2Firis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinkedin%2Firis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkedin%2Firis/lists"}