Grafana OnCall engine fork — self-hosted on-call scheduler and alert router
Find a file
Joey Orlando 6e5cb4e8a7
[UI] fix eslint/prettier warnings (#678)
* UI spring cleaning

- fix ~570 outstanding eslint warnings
- make eslint force user to correct warnings
- remove .css files that are not referenced
- remove dummy.tsx as it is not consumed anywhere
- remove a few functions that were "dead code" (ie. not consumed anywhere)
- remove commented out blocks of code that had no explanatory comments surrounding them

* add prettier to pre-commit configuration

* change ignoreRestSiblings to true

we have a few spots in the codebase where we destructure
an object key and then use something like ...restProps
setting this to true allows that

* upgrade from eslint 7.21.0 to 8.25.0
- add @grafana/eslint-config to dev dependencies and pre-commit eslint deps
- add @grafana/eslint-config peer dependencies to package.json

* fix remaining outstanding prettier warnings

* enable noUnusedLocals and noUnusedParameters and fix errors related to this

* make pre-commit complain about eslint warnings

* import from moment-timezone instead of moment

* fix react/display-name eslint warning

* add eslint-plugin-react-hooks to dev deps

this is a peer dependency from @grafana/eslint-config

* turn off react/prop-types

* temporarily turn off react-hooks/exhaustive-deps

add note that it will be turned back on and fixed in next PR

* fix unused import errors after rebase to dev

* fix more new prettier errors

* turn react/no-unescaped-entities eslint rule off

* address PR comment about useReducer

* remove includeTemplateGroup from src/components/AlertTemplates/AlertTemplatesForm.helper.tsx

* update arg typing for refreshPageError

* update handleSyncException typing

* fix strict equality in containers/IntegrationSettings/parts/Autoresolve.tsx

* enhance typing in components/AlertTemplates/AlertTemplatesForm.tsx

* revert small change per Maxim's comment
2022-10-24 20:27:03 +08:00
.github remove build from test, add cd path 2022-10-20 17:42:09 +03:00
docs Restore email notifications (#621) 2022-10-19 12:32:56 +01:00
engine Merge pull request #646 from grafana/slack-resolution-note-formatting 2022-10-24 19:22:12 +08:00
examples/terraform Terraform examples 2022-08-11 14:32:39 +05:00
grafana-plugin [UI] fix eslint/prettier warnings (#678) 2022-10-24 20:27:03 +08:00
helm Merge pull request #670 from pluralsh/helm-smtp 2022-10-24 11:28:22 +08:00
tools Edit docs for PagerDuty migrator scripts (#662) 2022-10-19 12:33:59 +01:00
.dockerignore docker-compose polish 2022-06-10 00:18:17 +03:00
.drone.yml drone sign 2022-09-05 12:50:58 +01:00
.env.dev.example Restore email notifications (#621) 2022-10-19 12:32:56 +01:00
.gitignore Allow multiple database and celery broker types (#582) 2022-10-04 09:25:53 +01:00
.pre-commit-config.yaml [UI] fix eslint/prettier warnings (#678) 2022-10-24 20:27:03 +08:00
CHANGELOG.md Update CHANGELOG.md 2022-10-24 19:22:56 +08:00
CODE_OF_CONDUCT.md Updated GOVERNANCE, added Code Of Conduct 2022-06-06 21:54:15 +03:00
DEVELOPER.md Add details about Makefile to DEVELOPER.md 2022-10-17 10:45:49 -03:00
docker-compose-developer-pg.yml Update docker-compose version to 3.8 (#577) 2022-09-29 14:09:29 +03:00
docker-compose-developer.yml Update docker-compose version to 3.8 (#577) 2022-09-29 14:09:29 +03:00
docker-compose.yml Simplify README.md commands (#578) 2022-09-29 13:06:33 +01:00
GOVERNANCE.md Minor README and GOVERNANCE updates 2022-06-13 17:31:32 -03:00
LICENSE World, meet OnCall! 2022-06-03 08:09:47 -06:00
LICENSING.md Making LICENSING.md more explicit 2022-06-03 16:21:26 +02:00
MAINTAINERS.md Update maintainers.md 2022-06-22 15:04:21 -07:00
Makefile Run migrate before run 2022-10-11 17:06:19 -03:00
README.md Simplify README.md commands (#578) 2022-09-29 13:06:33 +01:00
screenshot.png Merge dev to main (#54) 2022-06-13 16:39:58 -06:00
SECURITY.md World, meet OnCall! 2022-06-03 08:09:47 -06:00

Latest Release License Docker Pulls Slack Discussion Build Status

Developer-friendly incident response with brilliant Slack integration.

  • Collect and analyze alerts from multiple monitoring systems
  • On-call rotations based on schedules
  • Automatic escalations
  • Phone calls, SMS, Slack, Telegram notifications

Getting Started

We prepared multiple environments: production, developer and hobby:

  1. Download docker-compose.yaml:
curl -fsSL https://raw.githubusercontent.com/grafana/oncall/dev/docker-compose.yml -o docker-compose.yml
  1. Set variables:
echo "DOMAIN=http://localhost:8080
COMPOSE_PROFILES=with_grafana  # Remove this line if you want to use existing grafana
SECRET_KEY=my_random_secret_must_be_more_than_32_characters_long
RABBITMQ_PASSWORD=rabbitmq_secret_pw
MYSQL_PASSWORD=mysql_secret_pw" > .env
  1. Launch services:
docker-compose up -d
  1. Issue one-time invite token:
docker-compose run engine python manage.py issue_invite_for_the_frontend --override

Note: if you remove the plugin configuration and reconfigure it, you will need to generate a new one-time invite token for your new configuration.

  1. Go to OnCall Plugin Configuration, using log in credentials as defined above: admin/admin (or find OnCall plugin in configuration->plugins) and connect OnCall plugin with OnCall backend:
Invite token: ^^^ from the previous step.
OnCall backend URL: http://engine:8080
Grafana Url: http://grafana:3000
  1. Enjoy! Check our OSS docs if you want to set up Slack, Telegram, Twilio or SMS/calls through Grafana Cloud.

Update version

To update your Grafana OnCall hobby environment:

# Update Docker image
docker-compose pull engine

# Re-deploy
docker-compose up -d

After updating the engine, you'll also need to click the "Update" button on the plugin version page. See Grafana docs for more info on updating Grafana plugins.

Join community

Stargazers over time

Stargazers over time

Further Reading