linkedin / oncall

Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims.
http://oncall.tools
BSD 2-Clause "Simplified" License
1.15k stars 231 forks source link
calendar oncall scheduling

Oncall Gitter chat Build Status

See admin docs for information on how to run and manage Oncall.

Development setup

Local machine

See instructions for setting up Oncall on your local machine ### Prerequisites * Debian/Ubuntu - `sudo apt-get install libsasl2-dev python3-dev libldap2-dev libssl-dev python-pip python-setuptools mysql-server mysql-client` ### Install ```bash python setup.py develop pip install -e '.[dev]' ``` Setup mysql schema: ```bash mysql -u root -p < ./db/schema.v0.sql ``` Setup app config by editing configs/config.yaml. Optionally, you can import dummy data for testing: ```bash mysql -u root -p -o oncall < ./db/dummy_data.sql ``` ### Run One of the following commands: * `goreman start` * `procman start` * `make serve` * `oncall-dev ./configs/config.yaml` ### Test ```bash make test ```

Docker compose

See instructions for using docker compose ### Running ```bash make compose ``` or running `docker compose` directly: ```bash docker compose up --build ``` ### Limitations * Doesn't currently provide a mechanism for running tests * Requires rebuilding to apply code changes * Doesn't tail Python logs to stdout

Contributing

Check out https://github.com/linkedin/oncall/issues for a list of outstanding issues, and tackle any one that catches your interest. Contributions are expected to be tested thoroughly and submitted with unit/end-to-end tests; look in the e2e directory for our suite of end-to-end tests.