Skip to content
This repository has been archived by the owner on Feb 8, 2019. It is now read-only.

A ton of addedd stuff #78

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open

A ton of addedd stuff #78

wants to merge 22 commits into from

Conversation

sofixa
Copy link

@sofixa sofixa commented May 12, 2017

Hello, everybody. As i promised some time ago, i'm creating a PR with all of the modifications that we at Oxalide have done.

Non-exhaustive list of things added:

Backend

  • Group notifications and basic management(you can assign users to already existing groups from user/edit)
  • Escalation to service - basically transfer an ongoing incident to another service and its corresponding escalation rules. Ex: there's a regular alert, but you'd like to forward it to your NOC guys who have another service for NOC-specific stuff only - well, now you can! It gets cleared upon acknowledge/resolve - API only, doc incomming.
  • Send resolve notification - send a notification when a resolve is received, if enabled on the service and user
  • Unacknowledge - remove an acknowledge from an incident - API only, doc incomming
  • More logs here and there, like at incident reception, notification sending

Notifiers

  • added HipChat notifier
  • modified email notifier to be able to use custom SMTP servers, with all the conf in settings.py

Frontend

  • more glyphicons
  • confirmation needed for deleting services, rules, users
  • the option to filter by incident_key when searching for incidents, with auto-suggest for the 500 latest incidents
  • pseudo-ACLs - non-staff users can't see, modify, test notification on users other than themselves

Env

  • example systemd service files for running gunicorn and celery as a systemd service
  • example nginx.conf for running as reverse proxy in front of gunicorn

I'm inviting everyone ( ping @deathowl , @krutaw , @luto ) to review, comment, commit, etc. :)

TODO (starting next week, contributions welcome!)

  • Document API and API changes
  • tests

Cheers !
Adrian

Adrian Todorov added 22 commits May 10, 2017 16:27
…deleting users,services,schedules; add pseudo-ACLs(only staff and user himself can modify/test notification on a user; only staff can delete/create new users)
…transfer) an incident to another service so that it's on-call,fallback etc. be notified as well
…; add pseudo-management of users in groups with checkboxes on user edit page(django admin still needed to create groups)
@@ -0,0 +1,7 @@
[Service]
Environment="User=www-data"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not just set the User= option?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In fact, all of these should likely be set as actual systemd options, not as environment variables:

Group=
PidFile=
WorkingDirectory

Setting these in environment variables, and then spawning a shell so that you can consume them as environment variables actually leads to less configurability in the long run.

A lot of this could be solved by setting Type=forking to let systemd know to just use it's default behavior for a forking process.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, I'll take this PR and try to work on improving some of the systemd-isms this week.

@sofixa
Copy link
Author

sofixa commented May 14, 2017

Thanks! Any other remarks?

Frankly, this was the first time i've dabbled with systemd, which leads to suboptimal configuration, apparently.

Waiting for your PR :)

Cheers,
Adrian

@jkapusi
Copy link
Contributor

jkapusi commented May 23, 2017

Thank you for your contribution, we will test it this week and write back. Thanks!

@jbarascut
Copy link

Hi all,

Thanks for the pull request,

I'm trying to add a trigger with the django rest form.
http://myserver.com/api/create_event
On the form after submission I have this error:

HTTP 403 Forbidden
Content-Type: application/json
Vary: Accept
Allow: GET, POST, HEAD, OPTIONS

[
"No service key"
]

The service key is a form selector. It's not empty

Thanks for your help

It's possible to add so documentation about the api usage?

@kjetilmjos
Copy link

Any updates on when this can be merged?

@alexanderadam
Copy link

alexanderadam commented Jan 28, 2019

@sofixa so as ustream isn't maintaining the project anymore: Maybe your team at @Oxalide could continue maintaining the fork?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants