Commit graph

5007 commits

Author SHA1 Message Date
Ildar Iskhakov
aec54707ec
Add pyroscope integration (#1176)
# What this PR does

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated
2023-01-20 18:47:16 +08:00
Ildar Iskhakov
c06709fdb6
Move silk profiler under env variable setting (#1175)
# What this PR does

This PR moves silk profiler under the settings flag which can be
configured with env vars. It will allow us to enable silk on the
clusters, e.g. dev

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated
2023-01-20 18:19:31 +08:00
Ildar Iskhakov
181c3487a7
Update helm_release_pr.yml 2023-01-20 16:41:51 +08:00
Ildar Iskhakov
ab3c163196
Update helm_release_pr.yml 2023-01-20 16:39:04 +08:00
Ildar Iskhakov
2bc88663c9
Update helm chart from ci (#1167)
# What this PR does

Add github action workflow to automatically bump oncall helm chart version on each release and create a PR with this change

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated
2023-01-20 16:23:04 +08:00
Joey Orlando
98241b9a10
fake-data generation script + fixes for django-silk and django-debug-toolbar (#1128)
# What this PR does

## Main stuff

- add Python script to populate local Grafana/OnCall setup w/ large
amounts of fake data. Right now the data types that can be generated
are:
- teams and Admin users via the Grafana API (must be synced manually by
going into the UI before going onto the next step)
- Calendar Schedules which have three 8h oncall-shifts, via the OnCall
public API
- fixes `django-debug-toolbar` when being run in `docker-compose`
locally

## Other stuff
- documents how to easily modify the Grafana `docker-compose` container
provisioning configuration
- document solutions for two backend setup related issues encountered
when running the engine/celery workers locally, outside of
`docker-compose`, on an Apple silicon Mac
- fixes small bug in `grafana_plugin.helpers.client.APIClient.call_api`
where it would call `response.json()` for all requests, regardless of
whether or not the response actually contained data or not
- in `engine/settings/dev.py`, properly setup `django-silk` and document
the steps to use it locally
- make it possible to log out debug SQL queries by specifying
`DEV_DEBUG_VIEW_SQL_QUERIES` env var, rather than having to uncomment
out a section of `settings/dev.py`

## Which issue(s) this PR fixes

- Some local setup issues when trying to use `django-silk` and
`django-debug-toolbar`
- Makes it much easier to populate your local setup with a lot of fake
data
- Makes it possible to easily modify your local grafana's provisioning
configuration

## Checklist

- [ ] Tests updated (N/A)
- [ ] Documentation added (N/A)
- [ ] `CHANGELOG.md` updated (N/A)
2023-01-20 09:19:41 +01:00
Michael Derynck
cc3fdab8fb
Fix UnboundLocalError in webhooks (#1165)
Fix error where rendered_data was being used without being defined.
2023-01-19 15:50:22 -07:00
Vadim Stepanov
ccae9d86b3
Add an ability to use an escalation chain for direct paging (#1161)
# What this PR does
Adds an ability to page an escalation chain for a newly created direct
paging alert group using the internal API. Also [adds a forgotten
migration](32fc44e744)
related to the direct paging backend.
Related to https://github.com/grafana/oncall/issues/823

## Checklist

- [x] Tests updated
- [ ] Documentation added (N/A)
- [ ] `CHANGELOG.md` updated (N/A)
2023-01-19 18:51:57 +00:00
Yulya Artyukhina
d5461866d1
Add a dummy step for declare incident button in slack (#1157)
Add a dummy step for declare incident button to prevent raising 'Step is
undefined' exception because Slack sends a POST request to the backend
upon clicking a button with a redirect link to Incident.
This pr doesn't change any functionality
2023-01-19 14:50:02 +01:00
Vadim Stepanov
29f67dc2f3
Fix circular import 2023-01-19 11:53:05 +00:00
Vadim Stepanov
6b87ad74e9
Enforce cloud connection to send push notifications on OSS (#1132)
This PR modifies how OSS instances send mobile app push notifications.
It also adds frontend warnings when user is trying to use the mobile app
without connecting to cloud.

- [x] Add public API authentication to `FCMRelayView` and throttle the
view to 300 push notifications per instance per minute. This is similar
to how SMS and phone call notifications work on OSS instances.
- [x] Add frontend warnings based on cloud connectivity
- [x] Fix/add frontend tests
- [x] Add tests for FCMRelayView and mobile app backend

## Screenshots

When a user tries to connect the mobile app in his settings and cloud is
not connected (clicking "Connect Cloud OnCall" redirects to the "Cloud"
tab):

<img width="1088" alt="Screenshot 2023-01-12 at 18 48 58"
src="https://user-images.githubusercontent.com/20116910/212156591-86906020-eddf-43f1-9402-7ebb7547c7e6.png">

When a user tries to use mobile push notifications as a personal
notification step and cloud is not connected:

<img width="764" alt="Screenshot 2023-01-12 at 19 01 10"
src="https://user-images.githubusercontent.com/20116910/212157580-9abb0758-79ad-4316-b8cd-15b4fff01502.png">

Now on the "Cloud" tab there's some info about the mobile app (the last
section at the bottom of the page):

<img width="1245" alt="Screenshot 2023-01-12 at 18 49 10"
src="https://user-images.githubusercontent.com/20116910/212156997-c8b70dd5-bf15-4bc7-8eb8-9decdb8ecc80.png">

After connecting to the cloud instance, everything goes back to active
and it's now possible to connect the mobile app:

<img width="1091" alt="Screenshot 2023-01-12 at 19 08 27"
src="https://user-images.githubusercontent.com/20116910/212158811-60d49888-4714-4c0e-850f-3ff6a11a117a.png">

After connecting the app the warning is gone:

<img width="764" alt="Screenshot 2023-01-12 at 19 07 00"
src="https://user-images.githubusercontent.com/20116910/212158614-677ab889-127f-4d64-bacc-0c26887f3097.png">
2023-01-19 11:15:56 +00:00
Vadim Stepanov
db1259b7bc
Merge pull request #1152 from grafana/dev
Merged dev to main
2023-01-18 17:45:52 +00:00
Vadim Stepanov
8e0438ddc8
Update CHANGELOG.md 2023-01-18 17:37:33 +00:00
Vadim Stepanov
c93ee5c554
Send a Slack DM when user is not in channel (#1144)
# What this PR does

Currently, when a user gets mentioned in an alert group thread and the
user is not in the Slack channel, the Slack bot sends the following to
the channel:

> ⚠️ Tried to ask USER to look at incident. Unfortunately USER is
not in this channel. Please, invite.

This PR changes this behaviour to instead send a direct message to the
user. The message contains a link to the main alert group message in
Slack.

<img width="806" alt="Screenshot 2023-01-17 at 19 25 36"
src="https://user-images.githubusercontent.com/20116910/212996457-02db183f-2041-4998-b743-bd5b6c84b7b5.png">


## Checklist

- [ ] Tests updated (N/A)
- [ ] Documentation added (N/A)
- [x] `CHANGELOG.md` updated
2023-01-18 16:08:15 +00:00
Matias Bordese
90def88752
Add escalation chain option when creating a direct page alert group (#1143)
Also changes the default integration used when creating an alert group
for a direct page to a custom manual integration to avoid
conflicts/unexpected behaviors with existing manual alerts.
2023-01-18 12:58:26 -03:00
Vadim Stepanov
b8d78fd6bb
Allow messaging backends to be enabled/disabled per organization (#1151)
# What this PR does
Allows messaging backends to be enabled/disabled per organization when
getting a list of available personal notification channels.

## Checklist

- [x] Tests updated
- [ ] Documentation added (N/A)
- [x] `CHANGELOG.md` updated
2023-01-18 15:52:25 +00:00
Yulya Artyukhina
3a52b89877
Merge pull request #1148 from grafana/dev
dev to main
2023-01-18 15:57:14 +01:00
Yulya Artyukhina
1c799f7265
Update CHANGELOG.md (#1150)
Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-01-18 15:50:23 +01:00
Joey Orlando
35fd9cbfcc
resolve merge conflict 2023-01-18 14:03:42 +01:00
Maxim Mordasov
13ccc1cf85
Add react -router, make urls hierarchical (#1095)
# What this PR does

Adds react-router, make urls hierarhical

## Which issue(s) this PR fixes

https://github.com/grafana/oncall/issues/983

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated
2023-01-18 13:11:59 +03:00
Michael Derynck
2b31043680
Disable unused home tab (#1145)
Set home_tab_enabled for slack app manifest
2023-01-17 13:13:51 -07:00
Matias Bordese
d3062b56fd
Draft initial logic for user/schedule paging (#1098)
Co-authored-by: Vadim Stepanov <vadimkerr@gmail.com>
2023-01-17 12:19:08 -03:00
Yulya Artyukhina
9129a720ef
Integration with grafana incident (#1081)
Check if Grafana Incident is enabled. If it is, add a button with a link
to declare Grafana Incident from Alert group in Slack and on Web.

Co-authored-by: Yulia Shanyrova <yulia.shanyrova@grafana.com>
2023-01-17 13:04:50 +01:00
Tommy
5bd8fbdef8
Add alert groups state filter (#1133)
# What this PR does
This PR added a new parameter (state) into the alert_group public API to
filter the state of the alert groups

## Which issue(s) this PR fixes
https://github.com/grafana/oncall/issues/684

## Checklist

- [x] Tests updated
- [x] Documentation added
- [x] `CHANGELOG.md` updated

Co-authored-by: Vadim Stepanov <vadimkerr@gmail.com>
2023-01-17 10:28:29 +00:00
Yulia Shanyrova
268151b0bf
Enrich user tooltip on Schedule page #1456 (#1136)
# What this PR does

Information has been added to User Tooltip:

- Inside/Outside working hours badge
- Is Oncall now badge
- User's local time/time in selected timezone
- Contacts (with ability to click and go directly to email, slack
account or telegram messaging)

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated
2023-01-16 13:06:43 +01:00
Rares Mardare
8467199d94
Fix Telegram link + add remaining links target="_blank" and rel="nore… (#1135)
# What this PR does

Fix Telegram link + add remaining links `target="_blank"`
2023-01-16 11:20:31 +02:00
Vadim Stepanov
59f2c293e7
Move FCM relay logic into a celery task (#1137) 2023-01-13 19:28:34 +00:00
Rares Mardare
c3558061b7
#1032 - Modal set to modal-wide, renamed AppVerification (#1123)
# What this PR does

Fix for #1032 
- Set `UserSettings` popup to `modal-wide` all the time
- Renamed `AppVerification` to `AppConnection` both in file naming and
UI
- Make telegram tab take `width: 100%` inside modal
2023-01-13 16:08:33 +02:00
Matias Bordese
0d38fe2a7f
Web schedules overrides are the higher priority level (#1115)
Related to https://github.com/grafana/oncall-private/issues/1550
2023-01-13 08:58:35 -03:00
Rares Mardare
71188a895e
#1096 - Show loading inside PluginPage (#1134)
# What this PR does

#1096 - Show plugin loading inside PluginPage
2023-01-13 13:52:05 +02:00
Dieter Plaetinck
6e4d877f93
dev quickstart: no need to configure, safe to ignore warnings (#1131) 2023-01-13 12:19:42 +01:00
Vadim Stepanov
33af256aec
lint 2023-01-12 18:37:14 +00:00
Ildar Iskhakov
bf11857d1d
Update README.md 2023-01-12 22:32:53 +08:00
Ed Welch
6231eff0c0
Remove helm chart signing (#1126)
# What this PR does

Please See https://github.com/grafana/helm-charts/pull/2107

## Which issue(s) this PR fixes

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated
2023-01-12 19:02:44 +08:00
Innokentii Konstantinov
6d4e6f0108
Dev to main (#1129)
Release v1.1.16
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
Co-authored-by: Vadim Stepanov <vadimkerr@gmail.com>
Co-authored-by: Rares Mardare <40542072+teodosii@users.noreply.github.com>
Co-authored-by: Tom Mitchell <klaue@live.com>
2023-01-12 18:40:47 +08:00
Innokentii Konstantinov
1b0ad667d2 Update changelog.md 2023-01-12 17:49:56 +08:00
Innokentii Konstantinov
9a3b53ff34
Delete slack_connector on org soft-delete (#1127) 2023-01-12 17:37:05 +08:00
Tom Mitchell
ccbe8259c9
correct values file stub for slack commandName (#1093)
# What this PR does

The templates actually generate the SLACK_SLASH_COMMAND_NAME envvar from
`.Values.oncall.slack.commandName`, not `command`. This commit changes
the default values file to reflect this.

## Which issue(s) this PR fixes

#1092 

## Checklist

- [ ] Tests updated
- [ ] Documentation added
- [ ] `CHANGELOG.md` updated

^ Are these applicable with regards to updating the helm chart, not the
core application? I did take the time to test both the default and
changed value after this change in a kubernetes deployment.

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-01-12 08:03:33 +01:00
Rares Mardare
ed7e8ac55e
Fix typo in slack connect (#1120)
# What this PR does

Typo fix in slack connect on user's profile

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-01-11 13:05:49 +01:00
Joey Orlando
babacf4da8
refactor the is_rbac_permissions_enabled check to be more robust (#1099)
# What this PR does
Checks the `is_rbac_permissions_enabled` flag differently based on
whether we are dealing with an open-source, or cloud installation:
- for open-source installations, simply continue making a `HEAD` request
to the list RBAC permissions Grafana API endpoint.
- for cloud installations, use the `config` object returned from `GET
/instances/{instance_id}?config=true` and check whether
`instance_info["config"]["feature_toggles"]["accessControlOnCall"] ==
"true"`

## Which issue(s) this PR fixes
Resolves the issue in hosted grafana where when a stack is inactive, the
hosted grafana gateway, returns 200 to the `HEAD` request (which
erroneously sets the `is_rbac_permissions_enabled` flag to `true`)

## Checklist

- [x] Tests updated (N/A)
- [ ] Documentation added
- [x] `CHANGELOG.md` updated
2023-01-11 12:48:30 +01:00
Vadim Stepanov
231c0f45a3
Re-implement FCM relay after introducing firebase (#1121)
This PR changes how `FCMRelayView` handles push notifications from OSS
instances, also changing how the mobile app backend sends push
notifications.
2023-01-11 11:42:01 +00:00
Ieva
2dcb25721e
update role description (#1113)
# What this PR does

Updates OnCall RBAC role description, as `Editor` role seems to include
permissions to create schedules.

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
2023-01-11 12:36:46 +01:00
Rares Mardare
49789098d8
Merge pull request #1117 from grafana/dev
Dev to main v1.1.15
2023-01-10 11:10:33 +02:00
Rares Mardare
2ac4d88e88
v1.1.15 CHANGELOG (#1116)
# What this PR does

`v1.1.15`
2023-01-10 10:37:52 +02:00
Innokentii Konstantinov
fa6906a606
Simplify and speed up slack rendering (#1105)
Simplify and speed up slack rendering.
2023-01-10 15:41:38 +08:00
Rares Mardare
86436f9f15
Faro - Point to 3 separate apps instead of just 1 for all environments (#1110)
# What this PR does

- App will now send traces to either of the Faro configured apps:
`grafana-oncall-dev`, `grafana-oncall-ops` or `grafana-oncall-prod`
instead of just `grafana-oncall` for all of 3.
- Added tests to reflect latest changes
2023-01-10 09:14:04 +02:00
Michael Derynck
78bbfe0c4c
Update tokens used by GH Actions (#1102)
Separate tokens for GH actions with minimal scope
2023-01-09 10:14:07 -07:00
Matias Bordese
abbb5a8381
Update schedules query not to defer ical fields used for on-call check (#1114)
Do not defer cached ical fields which are later needed for calculating
on-call users listed in the schedules list page.
2023-01-09 14:10:23 -03:00
Matias Bordese
87fad5eec1
Add select_related to fetch schedules user group information (#1109) 2023-01-09 13:15:27 -03:00
Rares Mardare
db2e4f4018
Update prettier@2.8.2 (#1112)
# What this PR does

Updated prettier to `2.8.2` to fix linter issue on CI
2023-01-09 17:50:55 +02:00