8000 GitHub - linkedin/iris at v1.0.31
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ iris Public

Iris is a highly configurable and flexible service for paging and messaging.

License

Notifications You must be signed in to change notification settings

linkedin/iris

Repository files navigation

Iris core, API, UI and sender service. For third-party integration support, see 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 repo.

Setup database

  • remove ONLY_FULL_GROUP_BY from MySQL config sql_mode
  • create mysql schema: mysql -u USER -p < ./db/schema_0.sql
  • import dummy data: mysql -u USER -p -o iris < ./db/dummy_data.sql
  • dummy_data.sql contains the following entities:

    • user demo with password demo
    • team demo_team
    • application Autoalerts with key: a7a9d7657ac8837cd7dfed0b93f4b8b864007724d7fa21422c24f4ff0adb2e49

    Setup dev environment

    1. create & source your virtualenv
    2. install build dependencies: libssl-dev libxml2-dev libxslt1-dev libsasl2-dev python-dev libldap2-dev
    3. run pip install -e '.[dev,kazoo]'
    4. edit ./configs/config.dev.yaml to setup database credential and other settings

    To install iris with extra features, you can pass in feature flag with pip:

    pip install -e '.[prometheus]'

    For list of extra features, please see extras_require setting in setup.py.

    Run everything

    forego start

    Run web server

    make serve

    Run sender

    iris-sender configs/config.dev.yaml

    Tests

    Run tests:

    make test  # all tests, e2e + unit
    make e2e  # e2e tests
    make unit  # unit tests

    Generate test coverage reports:

    make e2e-cov
    make unit-cov

    Adding new plugins

    1. create the plugin file under src/iris/plugins dir
    2. edit src/iris/plugins/__init__.py to add plugin module to __all__ list
    0