From 645199782a13e36e83753a1f619308af3a2dace3 Mon Sep 17 00:00:00 2001 From: Innokentii Konstantinov Date: Thu, 8 Jun 2023 15:37:53 +0800 Subject: [PATCH 01/19] Update CHANGELOG.md --- CHANGELOG.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed5dc29e..9e8c67f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,12 +5,6 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased - -### Changed - -- Run containers as a non-root user by @alexintech [#2053](https://github.com/grafana/oncall/pull/2053) - ## v1.2.41 (2023-06-08) ### Added @@ -18,6 +12,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Twilio Provider improvements by @Konstantinov-Innokentii, @mderynck and @joeyorlando [#2074](https://github.com/grafana/oncall/pull/2074) [#2034](https://github.com/grafana/oncall/pull/2034) +- Run containers as a non-root user by @alexintech [#2053](https://github.com/grafana/oncall/pull/2053) + ## v1.2.40 (2023-06-07) ### Added From 7a569dae027930527d758cfae55b9a3942ecbce3 Mon Sep 17 00:00:00 2001 From: Yulia Shanyrova Date: Thu, 8 Jun 2023 10:16:16 +0200 Subject: [PATCH 02/19] Fixes for search, for last alert payload and some design changes (#2129) ## Which issue(s) this PR fixes Fixes for search, for last alert payload and some design changes --- .../TemplatesAlertGroupsList.module.css | 33 ++++++++++++++- .../TemplatesAlertGroupsList.tsx | 40 +++++++++++++------ .../alert_receive_channel.ts | 12 +----- 3 files changed, 61 insertions(+), 24 deletions(-) diff --git a/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.module.css b/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.module.css index e66b1ba4..cc05ca2c 100644 --- a/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.module.css +++ b/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.module.css @@ -37,7 +37,8 @@ } .alert-groups-editor { - width: 100%; + width: calc(100% + 16px); + margin-left: -16px; } .alert-groups-editor div[aria-label='Code editor container'] { @@ -45,6 +46,13 @@ border-right: none; } +.alert-groups-editor-withBadge div[aria-label='Code editor container'] { + background-color: rgba(10, 10, 10, 0.4); + border-bottom: none; + border-right: none; + padding-top: 42px; +} + .no-alert-groups-badge { display: flex; padding: 8px; @@ -54,3 +62,26 @@ .no-alert-groups-badge > div { margin-right: 8px; } + +.alert-groups-last-payload-badge { + position: fixed; + z-index: 1; + margin: 16px; +} + +.selected-alert-name { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +} + +.selected-alert-name-container { + display: flex; + align-items: center; + justify-content: space-between; +} + +.title-action-icons { + display: flex; + align-items: center; +} diff --git a/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.tsx b/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.tsx index b58d1988..1033a26d 100644 --- a/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.tsx +++ b/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.tsx @@ -6,6 +6,7 @@ import { debounce } from 'lodash-es'; import MonacoEditor, { MONACO_LANGUAGE } from 'components/MonacoEditor/MonacoEditor'; import Text from 'components/Text/Text'; +import TooltipBadge from 'components/TooltipBadge/TooltipBadge'; import { AlertReceiveChannel } from 'models/alert_receive_channel/alert_receive_channel.types'; import { AlertTemplatesDTO } from 'models/alert_templates'; import { Alert } from 'models/alertgroup/alertgroup.types'; @@ -15,6 +16,8 @@ import { useStore } from 'state/useStore'; import styles from './TemplatesAlertGroupsList.module.css'; const cx = cn.bind(styles); +const HEADER_OF_CONTAINER_HEIGHT = 59; +const BADGE_WITH_PADDINGS_HEIGHT = 42; interface TemplatesAlertGroupsListProps { templates: AlertTemplatesDTO[]; @@ -39,7 +42,13 @@ const TemplatesAlertGroupsList = (props: TemplatesAlertGroupsListProps) => { const getCodeEditorHeight = () => { const mainDiv = document.getElementById('content-container-id'); - const height = mainDiv?.getBoundingClientRect().height - 59; + const height = mainDiv?.getBoundingClientRect().height - HEADER_OF_CONTAINER_HEIGHT; + return `${height}px`; + }; + + const getCodeEditorHeightWithBadge = () => { + const mainDiv = document.getElementById('content-container-id'); + const height = mainDiv?.getBoundingClientRect().height - HEADER_OF_CONTAINER_HEIGHT - BADGE_WITH_PADDINGS_HEIGHT; return `${height}px`; }; @@ -78,7 +87,7 @@ const TemplatesAlertGroupsList = (props: TemplatesAlertGroupsListProps) => { <>
- Edit {selectedAlertName} + Edit custom payload returnToListView()} /> @@ -101,24 +110,31 @@ const TemplatesAlertGroupsList = (props: TemplatesAlertGroupsListProps) => { ) : ( <>
- - {selectedAlertName} - - +
+
+ {selectedAlertName} +
+
setIsEditMode(true)} /> returnToListView()} /> - - +
+
-
-
+
+ +
this.items?.[alertReceiveChannelId] ); - - // return { - // count: this.searchResult.count, - // results: - // this.searchResult.results && - // this.searchResult.results.map( - // (alertReceiveChannelId: AlertReceiveChannel['id']) => this.items?.[alertReceiveChannelId] - // ), - // }; } getPaginatedSearchResult(_query = '') { @@ -159,8 +150,7 @@ export class AlertReceiveChannelStore extends BaseStore { async updatePaginatedItems(query: any = '', page = 1) { const filters = typeof query === 'string' ? { search: query } : query; - const { search } = filters; - const { count, results } = await makeRequest(this.path, { params: { search, page } }); + const { count, results } = await makeRequest(this.path, { params: { ...filters, page } }); this.items = { ...this.items, From 4785f147d83b537489e6fe0f16846b0fdbf703f2 Mon Sep 17 00:00:00 2001 From: Joey Orlando Date: Thu, 8 Jun 2023 06:44:16 -0400 Subject: [PATCH 03/19] Update CHANGELOG.md --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e8c67f5..6c09ba78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Twilio Provider improvements by @Konstantinov-Innokentii, @mderynck and @joeyorlando [#2074](https://github.com/grafana/oncall/pull/2074) [#2034](https://github.com/grafana/oncall/pull/2034) - - Run containers as a non-root user by @alexintech [#2053](https://github.com/grafana/oncall/pull/2053) ## v1.2.40 (2023-06-07) From 18763c507349f7ec6a1b3c141318bfcea4a52bf5 Mon Sep 17 00:00:00 2001 From: Ildar Iskhakov Date: Thu, 8 Jun 2023 21:47:13 +0800 Subject: [PATCH 04/19] =?UTF-8?q?Fix=20docs,=20change=20team=20to=20organi?= =?UTF-8?q?zation=20in=20ratelimits,=20as=20previously=20te=E2=80=A6=20(#2?= =?UTF-8?q?135)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …am was equal to orgamization # What this PR does ## Which issue(s) this PR fixes ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated - [ ] Documentation added (or `pr:no public docs` PR label added if not required) - [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required) Co-authored-by: Matvey Kukuy --- docs/sources/oncall-api-reference/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sources/oncall-api-reference/_index.md b/docs/sources/oncall-api-reference/_index.md index e289f07b..b4f8987b 100644 --- a/docs/sources/oncall-api-reference/_index.md +++ b/docs/sources/oncall-api-reference/_index.md @@ -53,7 +53,7 @@ Rate limited response HTTP status: 429 | Scope | Amount | Time Frame | | ---------------------------- | :----: | :--------: | | Alerts from each integration | 300 | 5 minutes | -| Alerts from the whole team | 500 | 5 minutes | +| Alerts from the whole organization | 500 | 5 minutes | ## API rate limits From b50b10d491557c27ee801ac8b25cd8f8362580b9 Mon Sep 17 00:00:00 2001 From: Yulia Shanyrova Date: Thu, 8 Jun 2023 17:20:46 +0200 Subject: [PATCH 05/19] fix for templates for routes (#2136) # What this PR does - Wrong behaviour after saving Route template fix - Add notification/error when try to save empty template for routes. --- .../EditRegexpRouteTemplateModal.module.css | 4 ++++ .../EditRegexpRouteTemplateModal.tsx | 14 +++++++++++--- .../IntegrationTemplate/IntegrationTemplate.tsx | 17 ++++++++++++----- .../src/pages/integration_2/Integration2.tsx | 4 +++- 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/grafana-plugin/src/containers/EditRegexpRouteTemplateModal/EditRegexpRouteTemplateModal.module.css b/grafana-plugin/src/containers/EditRegexpRouteTemplateModal/EditRegexpRouteTemplateModal.module.css index 988421d5..273537df 100644 --- a/grafana-plugin/src/containers/EditRegexpRouteTemplateModal/EditRegexpRouteTemplateModal.module.css +++ b/grafana-plugin/src/containers/EditRegexpRouteTemplateModal/EditRegexpRouteTemplateModal.module.css @@ -2,6 +2,10 @@ width: 100%; } +.regexp-template-code-error { + border: var(--error-text-color) 1px solid; +} + .regexp-template-editor-modal { width: 700px; } diff --git a/grafana-plugin/src/containers/EditRegexpRouteTemplateModal/EditRegexpRouteTemplateModal.tsx b/grafana-plugin/src/containers/EditRegexpRouteTemplateModal/EditRegexpRouteTemplateModal.tsx index c7f2390f..7ad74676 100644 --- a/grafana-plugin/src/containers/EditRegexpRouteTemplateModal/EditRegexpRouteTemplateModal.tsx +++ b/grafana-plugin/src/containers/EditRegexpRouteTemplateModal/EditRegexpRouteTemplateModal.tsx @@ -12,6 +12,7 @@ import Text from 'components/Text/Text'; import { AlertReceiveChannel } from 'models/alert_receive_channel/alert_receive_channel.types'; import { ChannelFilter } from 'models/channel_filter/channel_filter.types'; import { useStore } from 'state/useStore'; +import { openErrorNotification } from 'utils'; import styles from './EditRegexpRouteTemplateModal.module.css'; @@ -33,6 +34,7 @@ const EditRegexpRouteTemplateModal = observer((props: EditRegexpRouteTemplateMod const regexpBody = store.alertReceiveChannelStore.channelFilters[channelFilterId]?.filtering_term; const [regexpTemplateBody, setRegexpTemplateBody] = useState(regexpBody); + const [showErrorTemplate, setShowErrorTemplate] = useState(false); const templateJinja2Body = store.alertReceiveChannelStore.channelFilters[channelFilterId]?.filtering_term_as_jinja2; @@ -40,14 +42,20 @@ const EditRegexpRouteTemplateModal = observer((props: EditRegexpRouteTemplateMod const handleRegexpBodyChange = () => { return debounce((value: string) => { + setShowErrorTemplate(false); setRegexpTemplateBody(value); }, 1000); }; const handleSave = useCallback(() => { - onUpdateRoute({ ['route_template']: regexpTemplateBody }, channelFilterId, 0); + if (!regexpTemplateBody) { + setShowErrorTemplate(true); + openErrorNotification('Route template body can not be empty'); + } else { + onUpdateRoute({ ['route_template']: regexpTemplateBody }, channelFilterId, 0); - onHide(); + onHide(); + } }, [regexpTemplateBody]); const handleConvertToJinja2 = useCallback(() => { @@ -87,7 +95,7 @@ const EditRegexpRouteTemplateModal = observer((props: EditRegexpRouteTemplateMod -
+
{ ); const handleSubmit = useCallback(() => { - template.isRoute - ? onUpdateRoute({ [template.name]: changedTemplateBody }, channelFilterId) - : onUpdateTemplates({ [template.name]: changedTemplateBody }); - - onHide(); + if (template.isRoute) { + if (changedTemplateBody) { + onUpdateRoute({ [template.name]: changedTemplateBody }, channelFilterId); + onHide(); + } else { + openErrorNotification('Route template body can not be empty'); + } + } else { + onUpdateTemplates({ [template.name]: changedTemplateBody }); + onHide(); + } }, [onUpdateTemplates, changedTemplateBody]); const getCheatSheet = (templateName) => { diff --git a/grafana-plugin/src/pages/integration_2/Integration2.tsx b/grafana-plugin/src/pages/integration_2/Integration2.tsx index 1f52a26d..20500b75 100644 --- a/grafana-plugin/src/pages/integration_2/Integration2.tsx +++ b/grafana-plugin/src/pages/integration_2/Integration2.tsx @@ -346,7 +346,9 @@ class Integration2 extends React.Component this.setState({ isEditTemplateModalOpen: undefined, }); - this.setState({ isTemplateSettingsOpen: true }); + if (selectedTemplate?.name !== 'route_template') { + this.setState({ isTemplateSettingsOpen: true }); + } LocationHelper.update({ template: undefined, routeId: undefined }, 'partial'); }} channelFilterId={channelFilterIdForEdit} From f14179b9b02585463bb455bda692e44f297c70f9 Mon Sep 17 00:00:00 2001 From: Ildar Iskhakov Date: Thu, 8 Jun 2023 23:31:18 +0800 Subject: [PATCH 06/19] Fix demo-payload (#2139) # What this PR does ## Which issue(s) this PR fixes ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated - [ ] Documentation added (or `pr:no public docs` PR label added if not required) - [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required) --- engine/apps/api/serializers/alert_receive_channel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/apps/api/serializers/alert_receive_channel.py b/engine/apps/api/serializers/alert_receive_channel.py index 3fdb8c03..ad86fdb4 100644 --- a/engine/apps/api/serializers/alert_receive_channel.py +++ b/engine/apps/api/serializers/alert_receive_channel.py @@ -49,7 +49,7 @@ class AlertReceiveChannelSerializer(EagerLoadingMixin, serializers.ModelSerializ heartbeat = serializers.SerializerMethodField() allow_delete = serializers.SerializerMethodField() description_short = serializers.CharField(max_length=250, required=False, allow_null=True) - demo_alert_payload = serializers.CharField(source="config.example_payload", read_only=True) + demo_alert_payload = serializers.JSONField(source="config.example_payload", read_only=True) routes_count = serializers.SerializerMethodField() connected_escalations_chains_count = serializers.SerializerMethodField() From b30769e7b5320ed55cdf4e9f41c66726736dc3b1 Mon Sep 17 00:00:00 2001 From: Matvey Kukuy Date: Thu, 8 Jun 2023 18:48:23 +0300 Subject: [PATCH 07/19] Docs fixes --- grafana-plugin/src/utils/consts.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grafana-plugin/src/utils/consts.ts b/grafana-plugin/src/utils/consts.ts index b7dba9fc..a5951b5c 100644 --- a/grafana-plugin/src/utils/consts.ts +++ b/grafana-plugin/src/utils/consts.ts @@ -29,7 +29,7 @@ export const FARO_ENDPOINT_PROD = 'https://faro-collector-prod-us-central-0.grafana.net/collect/03a11ed03c3af04dcfc3be9755f2b053'; export const DOCS_SLACK_SETUP = 'https://grafana.com/docs/oncall/latest/open-source/#slack-setup'; -export const DOCS_TELEGRAM_SETUP = 'https://grafana.com/docs/oncall/latest/chat-options/configure-telegram/'; +export const DOCS_TELEGRAM_SETUP = 'https://grafana.com/docs/oncall/latest/notify/telegram/'; // Make sure if you chage max-width here you also change it in responsive.css export const TABLE_COLUMN_MAX_WIDTH = 1500; From f37c3a90d1fcd41c6f657305578f1508820bf12c Mon Sep 17 00:00:00 2001 From: Ildar Iskhakov Date: Fri, 9 Jun 2023 00:34:32 +0800 Subject: [PATCH 08/19] Edit route hint (#2114) # What this PR does ## Which issue(s) this PR fixes ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated - [ ] Documentation added (or `pr:no public docs` PR label added if not required) - [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required) --- .../CollapsedIntegrationRouteDisplay.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/grafana-plugin/src/containers/IntegrationContainers/CollapsedIntegrationRouteDisplay/CollapsedIntegrationRouteDisplay.tsx b/grafana-plugin/src/containers/IntegrationContainers/CollapsedIntegrationRouteDisplay/CollapsedIntegrationRouteDisplay.tsx index d4f1db8b..3c9fd4af 100644 --- a/grafana-plugin/src/containers/IntegrationContainers/CollapsedIntegrationRouteDisplay/CollapsedIntegrationRouteDisplay.tsx +++ b/grafana-plugin/src/containers/IntegrationContainers/CollapsedIntegrationRouteDisplay/CollapsedIntegrationRouteDisplay.tsx @@ -70,9 +70,7 @@ const CollapsedIntegrationRouteDisplay: React.FC - {routeWording === 'Default' && ( - All unrouted routes will be served to the default route - )} + {routeWording === 'Default' && Unmatched alerts routed to default route} {routeWording !== 'Default' && channelFilter.filtering_term && ( {channelFilter.filtering_term} From c1935ef46c9bf6b126d8c4818230084b7427e947 Mon Sep 17 00:00:00 2001 From: Matias Bordese Date: Thu, 8 Jun 2023 16:49:48 -0300 Subject: [PATCH 09/19] Update alert group view receive channel filter (#2140) We were noticing some discrepancies in alert groups counts. From a real example: ``` # queryset is the alert groups initial queryset >>> qs = queryset.filter(channel_filter__alert_receive_channel=arc) >>> qs.filter(resolved_at__isnull=False).count() 1318 >>> qs = queryset.filter(channel=arc) >>> qs.filter(resolved_at__isnull=False).count() 1356 >>> qs.filter(resolved_at__isnull=False, channel_filter__isnull=True).count() 38 ``` --- CHANGELOG.md | 6 +++++ engine/apps/api/tests/test_alert_group.py | 27 +++++++++++++++++++++++ engine/apps/api/views/alert_group.py | 2 +- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c09ba78..b098094f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Fixed + +- Fix receive channel filter in alert groups API [#2140](https://github.com/grafana/oncall/pull/2140) + ## v1.2.41 (2023-06-08) ### Added diff --git a/engine/apps/api/tests/test_alert_group.py b/engine/apps/api/tests/test_alert_group.py index ea815f28..736ff69c 100644 --- a/engine/apps/api/tests/test_alert_group.py +++ b/engine/apps/api/tests/test_alert_group.py @@ -43,6 +43,33 @@ def alert_group_internal_api_setup( return user, token, alert_groups +@pytest.mark.django_db +def test_get_filter_by_integration( + alert_group_internal_api_setup, make_alert_receive_channel, make_alert_group, make_user_auth_headers +): + user, token, alert_groups = alert_group_internal_api_setup + + ag = alert_groups[0] + # channel filter could be None, but the alert group still belongs to the original integration + ag.channel_filter = None + ag.save() + + # make an alert group in other integration + alert_receive_channel = make_alert_receive_channel(user.organization) + make_alert_group(alert_receive_channel) + + client = APIClient() + url = reverse("api-internal:alertgroup-list") + response = client.get( + url + f"?integration={ag.channel.public_primary_key}", + format="json", + **make_user_auth_headers(user, token), + ) + + assert response.status_code == status.HTTP_200_OK + assert len(response.data["results"]) == 4 + + @pytest.mark.django_db def test_get_filter_started_at(alert_group_internal_api_setup, make_user_auth_headers): user, token, _ = alert_group_internal_api_setup diff --git a/engine/apps/api/views/alert_group.py b/engine/apps/api/views/alert_group.py index bcae5306..1e9f4bef 100644 --- a/engine/apps/api/views/alert_group.py +++ b/engine/apps/api/views/alert_group.py @@ -104,7 +104,7 @@ class AlertGroupFilter(DateRangeFilterMixin, ByTeamModelFieldFilterMixin, ModelF method=ModelFieldFilterMixin.filter_model_field.__name__, ) integration = filters.ModelMultipleChoiceFilter( - field_name="channel_filter__alert_receive_channel", + field_name="channel", queryset=None, to_field_name="public_primary_key", method=ModelFieldFilterMixin.filter_model_field.__name__, From a0da31f745c44c374b4b63fb7b82756db5b7daf7 Mon Sep 17 00:00:00 2001 From: pikilisaikiran <96593012+pikilisaikiran@users.noreply.github.com> Date: Fri, 9 Jun 2023 02:23:11 +0530 Subject: [PATCH 10/19] Added nodeSelector for celery deployment and migrate job (#1085) # What this PR does Adds nodeSelector for celery deployment and migrate job ## Which issue(s) this PR fixes Fixes errors while deploying resources in a cluster with Gatekeeper policy ( that restricts deployments without nodeSelector). ## Checklist - [x] Tests updated - [x] Documentation added - [x] `CHANGELOG.md` updated --------- Co-authored-by: Joey Orlando Co-authored-by: Joey Orlando --- helm/oncall/templates/celery/_deployment.tpl | 4 ++++ helm/oncall/templates/engine/job-migrate.yaml | 4 ++++ helm/oncall/values.yaml | 6 ++++++ 3 files changed, 14 insertions(+) diff --git a/helm/oncall/templates/celery/_deployment.tpl b/helm/oncall/templates/celery/_deployment.tpl index 4e09cb30..92d530ab 100644 --- a/helm/oncall/templates/celery/_deployment.tpl +++ b/helm/oncall/templates/celery/_deployment.tpl @@ -34,6 +34,10 @@ spec: {{- if eq .Values.database.type "postgresql" }} {{- include "oncall.postgresql.wait-for-db" . | indent 8 }} {{- end }} + {{- with .Values.celery.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} containers: - name: {{ .Chart.Name }} securityContext: diff --git a/helm/oncall/templates/engine/job-migrate.yaml b/helm/oncall/templates/engine/job-migrate.yaml index acf7fb2e..8010905c 100644 --- a/helm/oncall/templates/engine/job-migrate.yaml +++ b/helm/oncall/templates/engine/job-migrate.yaml @@ -35,6 +35,10 @@ spec: serviceAccountName: {{ include "oncall.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- with .Values.migrate.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} containers: - name: {{ .Chart.Name }}-migrate securityContext: diff --git a/helm/oncall/values.yaml b/helm/oncall/values.yaml index fa97f014..2616a89c 100644 --- a/helm/oncall/values.yaml +++ b/helm/oncall/values.yaml @@ -67,6 +67,9 @@ celery: initialDelaySeconds: 30 periodSeconds: 300 timeoutSeconds: 10 + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/user-guide/node-selection/ + nodeSelector: {} resources: {} # limits: # cpu: 100m @@ -161,6 +164,9 @@ oncall: # Whether to run django database migrations automatically migrate: enabled: true + ## Node labels for pod assignment + ## ref: https://kubernetes.io/docs/user-guide/node-selection/ + nodeSelector: {} # TTL can be unset by setting ttlSecondsAfterFinished: "" ttlSecondsAfterFinished: 20 # use a helm hook to manage the migration job From 0b92210e165eb6175f3b0face7b8b4a1dcd15e48 Mon Sep 17 00:00:00 2001 From: Innokentii Konstantinov Date: Fri, 9 Jun 2023 13:21:38 +0800 Subject: [PATCH 11/19] Better simple phone provider (#2143) # What this PR does ## Which issue(s) this PR fixes ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated - [ ] Documentation added (or `pr:no public docs` PR label added if not required) - [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required) --- .../phone_notifications/models/phone_call.py | 1 + engine/apps/phone_notifications/models/sms.py | 3 ++- .../phone_notifications/phone_provider.py | 14 +++++++++-- .../simple_phone_provider.py | 23 +++++++++++++++++-- 4 files changed, 36 insertions(+), 5 deletions(-) diff --git a/engine/apps/phone_notifications/models/phone_call.py b/engine/apps/phone_notifications/models/phone_call.py index b4a9182b..cbad80f9 100644 --- a/engine/apps/phone_notifications/models/phone_call.py +++ b/engine/apps/phone_notifications/models/phone_call.py @@ -60,6 +60,7 @@ class PhoneCallRecord(models.Model): class ProviderPhoneCall(models.Model): """ ProviderPhoneCall is an interface between PhoneCallRecord and call data returned from PhoneProvider. + Concrete provider phone call should be inherited from ProviderPhoneCall. Some phone providers allows to track status of call or gather pressed digits (we use it to ack/resolve alert group). It is needed to link phone call and alert group without exposing internals of concrete phone provider to PhoneBackend. diff --git a/engine/apps/phone_notifications/models/sms.py b/engine/apps/phone_notifications/models/sms.py index 4bad9eb4..9763d706 100644 --- a/engine/apps/phone_notifications/models/sms.py +++ b/engine/apps/phone_notifications/models/sms.py @@ -67,8 +67,9 @@ class SMSRecord(models.Model): class ProviderSMS(models.Model): """ ProviderSMS is an interface between SMSRecord and call data returned from PhoneProvider. + Concrete provider sms be inherited from ProviderSMS. - The idea is same as for ProviderCall - to save provider specific data without exposing them to ProheBackend. + The idea is same as for ProviderCall - to save provider specific data without exposing them to PhoneBackend. """ class Meta: diff --git a/engine/apps/phone_notifications/phone_provider.py b/engine/apps/phone_notifications/phone_provider.py index 68f47721..ad72924a 100644 --- a/engine/apps/phone_notifications/phone_provider.py +++ b/engine/apps/phone_notifications/phone_provider.py @@ -15,9 +15,16 @@ class ProviderFlags: """ ProviderFlags is set of feature flags enabled for concrete provider. It is needed to show correct buttons in UI. + + Attributes: + configured: Indicates if provider LiveSettings are valid. If LiveSettings cannot be validated, return True. + test_sms: Indicates if provider allows to send test_sms + test_call: Indicates if provider allows to make test_call + verification_call: Indicates if provider allows to validate number via call + verification_sms: Indicates if provider allows to validate number via sms """ - configured: bool # indicates if provider live settings are present and valid + configured: bool test_sms: bool test_call: bool verification_call: bool @@ -29,7 +36,10 @@ class PhoneProvider(ABC): PhoneProvider is an interface to all phone providers. It is needed to hide details of external phone providers from core code. - New PhoneProviders should be added to settings.PHONE_PROVIDERS dict. + To implement custom phone provider: + 1. Implement your ConcretePhoneProvider inherited from PhoneProvider. + 2. Add needed env variables to django settings and to LiveSettings. + 3. Add your PhoneProvider to settings.PHONE_PROVIDERS dict. For reference, you can check: SimplePhoneProvider as example of tiny, but working provider. diff --git a/engine/apps/phone_notifications/simple_phone_provider.py b/engine/apps/phone_notifications/simple_phone_provider.py index f6d0df03..0333e2d8 100644 --- a/engine/apps/phone_notifications/simple_phone_provider.py +++ b/engine/apps/phone_notifications/simple_phone_provider.py @@ -1,9 +1,13 @@ +import logging from random import randint from django.core.cache import cache +from .exceptions import FailedToSendSMS, FailedToStartVerification from .phone_provider import PhoneProvider, ProviderFlags +logger = logging.getLogger(__name__) + class SimplePhoneProvider(PhoneProvider): """ @@ -15,12 +19,22 @@ class SimplePhoneProvider(PhoneProvider): self.send_sms(number, message) def send_sms(self, number, text): - print(f'SimplePhoneProvider.send_sms: send message "{text}" to {number}') + try: + self._write_to_stdout(number, text) + except Exception as e: + # example of handling provider exceptions and converting them to exceptions from core OnCall code. + logger.error(f"SimplePhoneProvider.send_sms: failed {e}") + raise FailedToSendSMS def send_verification_sms(self, number): code = str(randint(100000, 999999)) cache.set(self._cache_key(number), code, timeout=10 * 60) - self.send_sms(number, f"Your verification code is {code}") + try: + self._write_to_stdout(number, f"Your verification code is {code}") + except Exception as e: + # Example of handling provider exceptions and converting them to exceptions from core OnCall code. + logger.error(f"SimplePhoneProvider.send_verification_sms: failed {e}") + raise FailedToStartVerification def finish_verification(self, number, code): has = cache.get(self._cache_key(number)) @@ -32,6 +46,11 @@ class SimplePhoneProvider(PhoneProvider): def _cache_key(self, number): return f"simple_provider_{number}" + def _write_to_stdout(self, number, text): + # print is just example of sending sms. + # In real-life provider it will be some external api call. + print(f'send message "{text}" to {number}') + @property def flags(self) -> ProviderFlags: return ProviderFlags( From 47042decb79e230efd07a3fc2b24f93d13f70003 Mon Sep 17 00:00:00 2001 From: Joey Orlando Date: Fri, 9 Jun 2023 08:57:19 +0200 Subject: [PATCH 12/19] don't enforce line-length rule for markdownlint for code-blocks or tables (#2145) # What this PR does ## Which issue(s) this PR fixes ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated - [ ] Documentation added (or `pr:no public docs` PR label added if not required) - [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required) --- .markdownlint.json | 4 +++- dev/README.md | 16 ---------------- .../oncall-api-reference/alertgroups.md | 4 ---- .../escalation_policies.md | 4 ---- .../oncall-api-reference/on_call_shifts.md | 6 +----- .../personal_notification_rules.md | 4 ---- docs/sources/oncall-api-reference/routes.md | 6 +----- docs/sources/oncall-api-reference/schedules.md | 4 ---- .../oncall-api-reference/user_groups.md | 4 ---- helm/README.md | 4 ---- helm/oncall/README.md | 4 ---- tools/pagerduty-migrator/README.md | 18 +++++++----------- 12 files changed, 12 insertions(+), 66 deletions(-) diff --git a/.markdownlint.json b/.markdownlint.json index 62ff374f..31dead19 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -1,7 +1,9 @@ { "default": true, "MD013": { - "line_length": "120" + "line_length": "120", + "code_blocks": false, + "tables": false }, "MD024": { "siblings_only": true diff --git a/dev/README.md b/dev/README.md index 82aa0567..212bb727 100644 --- a/dev/README.md +++ b/dev/README.md @@ -269,26 +269,18 @@ ERROR: Failed building wheel for cryptography **Solution:** - - ```bash LDFLAGS="-L$(brew --prefix openssl@1.1)/lib" CFLAGS="-I$(brew --prefix openssl@1.1)/include" pip install `cat engine/requirements.txt | grep cryptography` ``` - - ### django.db.utils.OperationalError: (1366, "Incorrect string value") **Problem:** - - ```bash django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x98\\x8A\\xF0\\x9F...' for column 'cached_name' at row 1") ``` - - **Solution:** Recreate the database with the correct encoding. @@ -321,15 +313,11 @@ $ CDPATH="" make init When running `make init start`: - - ```bash Error response from daemon: open /var/lib/docker/overlay2/ac57b871108ee1b98ff4455e36d2175eae90cbc7d4c9a54608c0b45cfb7c6da5/committed: is a directory make: *** [start] Error 1 ``` - - **Solution:** clear everything in docker by resetting or: @@ -376,8 +364,6 @@ See solution for "Encountered error while trying to install package - grpcio" [h This problem seems to occur when running the Celery process, outside of `docker-compose` (via `make run-backend-celery`), and using a `conda` virtual environment. - - ```bash conda create --name oncall-dev python=3.9.13 conda activate oncall-dev @@ -396,8 +382,6 @@ File "~/oncall/engine/engine/__init__.py", line 5, in ImportError: dlopen(/opt/homebrew/Caskroom/miniconda/base/envs/oncall-dev/lib/python3.9/site-packages/grpc/_cython/cygrpc.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace '_EVP_DigestSignUpdate' ``` - - **Solution:** [This solution](https://github.com/grpc/grpc/issues/15510#issuecomment-392012594) posted in a GitHub issue thread for diff --git a/docs/sources/oncall-api-reference/alertgroups.md b/docs/sources/oncall-api-reference/alertgroups.md index f0d68157..9dfe58e4 100644 --- a/docs/sources/oncall-api-reference/alertgroups.md +++ b/docs/sources/oncall-api-reference/alertgroups.md @@ -63,14 +63,10 @@ curl "{{API_URL}}/api/v1/alert_groups/I68T24C13IFW1/" \ }' ``` - - | Parameter | Required | Description | | --------- | :------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `mode` | No | Default setting is `wipe`. `wipe` will remove the payload of all Grafana OnCall group alerts. This is useful if you sent sensitive data to OnCall. All metadata will remain. `DELETE` will trigger the removal of alert groups, alerts, and all related metadata. It will also remove alert group notifications in Slack and other destinations. | - - > **NOTE:** `DELETE` can take a few moments to delete alert groups because Grafana OnCall interacts with 3rd party APIs > such as Slack. Please check objects using `GET` to be sure the data is removed. diff --git a/docs/sources/oncall-api-reference/escalation_policies.md b/docs/sources/oncall-api-reference/escalation_policies.md index 1c538759..02c740a8 100644 --- a/docs/sources/oncall-api-reference/escalation_policies.md +++ b/docs/sources/oncall-api-reference/escalation_policies.md @@ -30,8 +30,6 @@ The above command returns JSON structured in the following way: } ``` - - | Parameter | Required | Description | | ---------------------------------- | :--------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `escalation_chain_id` | Yes | Each escalation policy is assigned to a specific escalation chain. | @@ -47,8 +45,6 @@ The above command returns JSON structured in the following way: | `notify_if_time_from` | If type = `notify_if_time_from_to` | UTC time represents the beginning of the time period, for example `09:00:00Z`. | | `notify_if_time_to` | If type = `notify_if_time_from_to` | UTC time represents the end of the time period, for example `18:00:00Z`. | - - **HTTP request** `POST {{API_URL}}/api/v1/escalation_policies/` diff --git a/docs/sources/oncall-api-reference/on_call_shifts.md b/docs/sources/oncall-api-reference/on_call_shifts.md index 74917bf0..98eeab49 100644 --- a/docs/sources/oncall-api-reference/on_call_shifts.md +++ b/docs/sources/oncall-api-reference/on_call_shifts.md @@ -41,8 +41,6 @@ The above command returns JSON structured in the following way: } ``` - - | Parameter | Unique | Required | Description | | -------------------------------- | :----: | :--------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `name` | Yes | Yes | On-call shift name. | @@ -53,7 +51,7 @@ The above command returns JSON structured in the following way: | `start` | No | Yes | Start time of the on-call shift. This parameter takes a date format as `yyyy-MM-dd'T'HH:mm:ss` (for example "2020-09-05T08:00:00"). | | `duration` | No | Yes | Duration of the event. | | `frequency` | No | If type = `recurrent_event` or `rolling_users` | One of: `hourly`, `daily`, `weekly`, `monthly`. | -| `interval` | No | Optional | This parameter takes a positive integer that represents the intervals that the recurrence rule repeats. If `frequency` is set, the default assumed value for this will be `1`. | +| `interval` | No | Optional | This parameter takes a positive integer that represents the intervals that the recurrence rule repeats. If `frequency` is set, the default assumed value for this will be `1`. | | `until` | No | Optional | When the recurrence rule ends (endless if None). This parameter takes a date format as `yyyy-MM-dd'T'HH:mm:ss` (for example "2020-09-05T08:00:00"). | | `week_start` | No | Optional | Start day of the week in iCal format. One of: `SU` (Sunday), `MO` (Monday), `TU` (Tuesday), `WE` (Wednesday), `TH` (Thursday), `FR` (Friday), `SA` (Saturday). Default: `SU`. | | `by_day` | No | Optional | List of days in iCal format. Valid values are: `SU`, `MO`, `TU`, `WE`, `TH`, `FR`, `SA`. | @@ -63,8 +61,6 @@ The above command returns JSON structured in the following way: | `rolling_users` | No | Optional | List of lists with on-call users (for `rolling_users` event type). Grafana OnCall will iterate over lists of users for every time frame specified in `frequency`. For example: there are two lists of users in `rolling_users` : [[Alex, Bob], [Alice]] and `frequency` = `daily` . This means that the first day Alex and Bob will be notified. The next day: Alice. The day after: Alex and Bob again and so on. | | `start_rotation_from_user_index` | No | Optional | Index of the list of users in `rolling_users`, from which on-call rotation starts. By default, the start index is `0` | - - Please see [RFC 5545](https://tools.ietf.org/html/rfc5545#section-3.3.10) for more information about recurrence rules. **HTTP request** diff --git a/docs/sources/oncall-api-reference/personal_notification_rules.md b/docs/sources/oncall-api-reference/personal_notification_rules.md index 01fe45d0..853cc47c 100644 --- a/docs/sources/oncall-api-reference/personal_notification_rules.md +++ b/docs/sources/oncall-api-reference/personal_notification_rules.md @@ -29,8 +29,6 @@ The above command returns JSON structured in the following way: } ``` - - | Parameter | Required | Description | | ----------- | :------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `user_id` | Yes | User ID | @@ -39,8 +37,6 @@ The above command returns JSON structured in the following way: | `duration` | Optional | A time in secs when type `wait` is chosen for `type`. | | `important` | Optional | Boolean value indicates if a rule is "important". Default is `false`. | - - **HTTP request** `POST {{API_URL}}/api/v1/personal_notification_rules/` diff --git a/docs/sources/oncall-api-reference/routes.md b/docs/sources/oncall-api-reference/routes.md index 4d8987a2..45c39ae6 100644 --- a/docs/sources/oncall-api-reference/routes.md +++ b/docs/sources/oncall-api-reference/routes.md @@ -44,10 +44,8 @@ Routes allow you to direct different alerts to different messenger channels and - Alerts for different engineering groups - Snoozing spam & debugging alerts - - | Parameter | Unique | Required | Description | -|-----------------------| :----: |:--------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| --------------------- | :----: | :------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `integration_id` | No | Yes | Each route is assigned to a specific integration. | | `escalation_chain_id` | No | Yes | Each route is assigned a specific escalation chain. Explicitly pass `null` to create a route without an escalation chain assigned. | | `routing_type` | Yes | No | Routing type that can be either `jinja2` or `regex`(default value) | @@ -55,8 +53,6 @@ Routes allow you to direct different alerts to different messenger channels and | `position` | Yes | Optional | Route matching is performed one after another starting from position=`0`. Position=`-1` will put the route to the end of the list before `is_the_last_route`. A new route created with a position of an existing route will move the old route (and all following routes) down in the list. | | `slack` | Yes | Optional | Dictionary with Slack-specific settings for a route. | - - **HTTP request** `POST {{API_URL}}/api/v1/routes/` diff --git a/docs/sources/oncall-api-reference/schedules.md b/docs/sources/oncall-api-reference/schedules.md index 9f9410a9..9076985c 100644 --- a/docs/sources/oncall-api-reference/schedules.md +++ b/docs/sources/oncall-api-reference/schedules.md @@ -39,8 +39,6 @@ The above command returns JSON structured in the following way: } ``` - - | Parameter | Unique | Required | Description | | -------------------- | :----: | :--------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `name` | Yes | Yes | Schedule name. | @@ -52,8 +50,6 @@ The above command returns JSON structured in the following way: | `slack` | No | Optional | Dictionary with Slack-specific settings for a schedule. Includes `channel_id` and `user_group_id` fields, that take a channel ID and a user group ID from Slack. | | `shifts` | No | Optional | List of shifts. Used for manually added on-call shifts in Schedules with type `calendar`. | - - **HTTP request** `POST {{API_URL}}/api/v1/schedules/` diff --git a/docs/sources/oncall-api-reference/user_groups.md b/docs/sources/oncall-api-reference/user_groups.md index b7f6e328..e8f6a806 100644 --- a/docs/sources/oncall-api-reference/user_groups.md +++ b/docs/sources/oncall-api-reference/user_groups.md @@ -36,16 +36,12 @@ The above command returns JSON structured in the following way: } ``` - - | Parameter | Unique | Description | | --------- | :----: | :---------------------------------------------------------------------------------------------------- | | `id` | Yes | User Group ID | | `type` | No | [Slack-defined user groups](https://slack.com/intl/en-ru/help/articles/212906697-Create-a-user-group) | | `slack` | No | Metadata retrieved from Slack. | - - **HTTP request** `GET {{API_URL}}/api/v1/user_groups/` diff --git a/helm/README.md b/helm/README.md index b35fd43f..698a9664 100644 --- a/helm/README.md +++ b/helm/README.md @@ -29,15 +29,11 @@ 5. Get credentials - - ```bash echo "\n\nOpen Grafana on localhost:30002 with credentials - user: admin, password: $(kubectl get secret --namespace default helm-testing-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo)" echo "Open Plugins -> Grafana OnCall -> fill form: backend url: http://host.docker.internal:30001" ``` - - 6. Clean up ```bash diff --git a/helm/oncall/README.md b/helm/oncall/README.md index 58ae20e9..5e49c906 100644 --- a/helm/oncall/README.md +++ b/helm/oncall/README.md @@ -45,8 +45,6 @@ helm install \ Follow the `helm install` output to finish setting up Grafana OnCall backend and Grafana OnCall frontend plugin e.g. - - ```bash 👋 Your Grafana OnCall instance has been successfully deployed @@ -74,8 +72,6 @@ Follow the `helm install` output to finish setting up Grafana OnCall backend and 🎉🎉🎉 Done! 🎉🎉🎉 ``` - - ## Configuration You can edit values.yml to make changes to the helm chart configuration and re-deploy the release with the following command: diff --git a/tools/pagerduty-migrator/README.md b/tools/pagerduty-migrator/README.md index e60a7500..143add77 100644 --- a/tools/pagerduty-migrator/README.md +++ b/tools/pagerduty-migrator/README.md @@ -107,11 +107,9 @@ webhook integrations to adjust them for incoming payloads. Configuration is done via environment variables passed to the docker container. - - | Name | Description | Type | Default | -|-----------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------|---------| -| `PAGERDUTY_API_TOKEN` | PagerDuty API **user token**. To create a token, refer to [PagerDuty docs](). | String | N/A | +| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------- | ------- | +| `PAGERDUTY_API_TOKEN` | PagerDuty API **user token**. To create a token, refer to [PagerDuty docs](https://support.pagerduty.com/docs/api-access-keys#generate-a-user-token-rest-api-key). | String | N/A | | `ONCALL_API_URL` | Grafana OnCall API URL. This can be found on the "Settings" page of your Grafana OnCall instance. | String | N/A | | `ONCALL_API_TOKEN` | Grafana OnCall API Token. To create a token, navigate to the "Settings" page of your Grafana OnCall instance. | String | N/A | | `MODE` | Migration mode (plan vs actual migration). | String (choices: `plan`, `migrate`) | `plan` | @@ -120,8 +118,6 @@ Configuration is done via environment variables passed to the docker container. | `EXPERIMENTAL_MIGRATE_EVENT_RULES` | Migrate global event rulesets to Grafana OnCall integrations. | Boolean | `false` | | `EXPERIMENTAL_MIGRATE_EVENT_RULES_LONG_NAMES` | Include service & integrations names from PD in migrated integrations (only effective when `EXPERIMENTAL_MIGRATE_EVENT_RULES` is `true`). | Boolean | `false` | - - ## Resources ### User notification rules @@ -144,11 +140,11 @@ The tool is capable of migrating on-call schedules from PagerDuty to Grafana OnC There are two ways to migrate on-call schedules: - Migrate on-call shifts as if they were created in Grafana OnCall web UI. Due to scheduling differences between -PagerDuty and Grafana OnCall, it's sometimes impossible to automatically migrate on-call shifts without manual changes -in PD. Pass `SCHEDULE_MIGRATION_MODE=web` to the tool to enable this mode. + PagerDuty and Grafana OnCall, it's sometimes impossible to automatically migrate on-call shifts without manual changes + in PD. Pass `SCHEDULE_MIGRATION_MODE=web` to the tool to enable this mode. - Using ICalendar file URLs from PagerDuty. This way it's always possible to migrate schedules without any manual -changes in PD, but resulting schedules in Grafana OnCall will be read-only. Pass `SCHEDULE_MIGRATION_MODE=ical` to the tool -to enable this mode. + changes in PD, but resulting schedules in Grafana OnCall will be read-only. Pass `SCHEDULE_MIGRATION_MODE=ical` to + the tool to enable this mode. On-call schedules will be migrated to new Grafana OnCall schedules with the same name as in PD. Any existing schedules with the same name will be deleted before migration. Any on-call schedules that reference unmatched users won't be @@ -197,4 +193,4 @@ but it can also make the names of integrations too long. - Connect integrations (press the "How to connect" button on the integration page) - Make sure users connect their phone numbers, Slack accounts, etc. in their user settings - When using `SCHEDULE_MIGRATION_MODE=ical`, at some point you would probably want to recreate schedules using -Google Calendar or Terraform to be able to modify migrated on-call schedules in Grafana OnCall + Google Calendar or Terraform to be able to modify migrated on-call schedules in Grafana OnCall From 1a6e30c2492928d9a06d71a048e72b69b6b9b7a6 Mon Sep 17 00:00:00 2001 From: Ildar Iskhakov Date: Fri, 9 Jun 2023 15:16:51 +0800 Subject: [PATCH 13/19] Upgrade helm dependecies, improve local setup (#2144) # What this PR does * Upgrade to the recent Grafana * Upgrade to the recent bitnami mariadb, rabbitmq charts which support arm64 now * Remove deprecated psp policies from grafana chart * Make startupProbe period smaller to increase installation speed ## Which issue(s) this PR fixes ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated - [ ] Documentation added (or `pr:no public docs` PR label added if not required) - [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required) --- .github/workflows/linting-and-tests.yml | 1 - CHANGELOG.md | 4 ++++ helm/README.md | 3 --- helm/oncall/Chart.yaml | 7 ++++--- helm/oncall/charts/grafana-6.29.6.tgz | Bin 32450 -> 0 bytes helm/oncall/charts/grafana-6.57.1.tgz | Bin 0 -> 39048 bytes helm/oncall/charts/mariadb-11.0.10.tgz | Bin 46158 -> 0 bytes helm/oncall/charts/mariadb-12.2.5.tgz | Bin 0 -> 45823 bytes helm/oncall/charts/rabbitmq-10.1.1.tgz | Bin 52854 -> 0 bytes helm/oncall/charts/rabbitmq-12.0.0.tgz | Bin 0 -> 55713 bytes helm/oncall/charts/redis-16.10.1.tgz | Bin 88052 -> 0 bytes helm/oncall/charts/redis-16.13.2.tgz | Bin 0 -> 88770 bytes helm/oncall/templates/engine/deployment.yaml | 2 +- helm/oncall/values.yaml | 3 +++ helm/values-arm64.yml | 16 ---------------- 15 files changed, 12 insertions(+), 24 deletions(-) delete mode 100644 helm/oncall/charts/grafana-6.29.6.tgz create mode 100644 helm/oncall/charts/grafana-6.57.1.tgz delete mode 100644 helm/oncall/charts/mariadb-11.0.10.tgz create mode 100644 helm/oncall/charts/mariadb-12.2.5.tgz delete mode 100644 helm/oncall/charts/rabbitmq-10.1.1.tgz create mode 100644 helm/oncall/charts/rabbitmq-12.0.0.tgz delete mode 100644 helm/oncall/charts/redis-16.10.1.tgz create mode 100644 helm/oncall/charts/redis-16.13.2.tgz delete mode 100644 helm/values-arm64.yml diff --git a/.github/workflows/linting-and-tests.yml b/.github/workflows/linting-and-tests.yml index f7cb062b..4bf8ae8d 100644 --- a/.github/workflows/linting-and-tests.yml +++ b/.github/workflows/linting-and-tests.yml @@ -388,7 +388,6 @@ jobs: --set grafana.env.GF_FEATURE_TOGGLES_ENABLE=topnav \ --set grafana.env.GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=grafana-oncall-app \ --set-json "grafana.plugins=[]" \ - --set-json 'grafana.securityContext={"runAsUser": 0, "runAsGroup": 0, "fsGroup": 0}' \ --set-json 'grafana.extraVolumeMounts=[{"name":"plugins","mountPath":"/var/lib/grafana/plugins/grafana-plugin","hostPath":"/oncall-plugin","readOnly":true}]' \ ./helm/oncall diff --git a/CHANGELOG.md b/CHANGELOG.md index b098094f..cd0f0133 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Changed + +- Helm chart: Upgrade helm dependecies, improve local setup [#2144](https://github.com/grafana/oncall/pull/2144) + ### Fixed - Fix receive channel filter in alert groups API [#2140](https://github.com/grafana/oncall/pull/2140) diff --git a/helm/README.md b/helm/README.md index 698a9664..0e538b25 100644 --- a/helm/README.md +++ b/helm/README.md @@ -20,10 +20,7 @@ ```bash helm install helm-testing \ --wait \ - --timeout 30m \ - --wait-for-jobs \ --values ./simple.yml \ - --values ./values-arm64.yml \ ./oncall ``` diff --git a/helm/oncall/Chart.yaml b/helm/oncall/Chart.yaml index 44c975eb..5fae0986 100644 --- a/helm/oncall/Chart.yaml +++ b/helm/oncall/Chart.yaml @@ -2,6 +2,7 @@ apiVersion: v2 name: oncall description: Developer-friendly incident response with brilliant Slack integration type: application +# version and appVersion are handled by CI, no need to change them manually version: 1.2.36 appVersion: v1.2.36 dependencies: @@ -10,7 +11,7 @@ dependencies: repository: https://charts.jetstack.io condition: cert-manager.enabled - name: mariadb - version: 11.0.10 + version: 12.2.5 repository: https://charts.bitnami.com/bitnami condition: mariadb.enabled - name: postgresql @@ -18,7 +19,7 @@ dependencies: repository: https://charts.bitnami.com/bitnami condition: postgresql.enabled - name: rabbitmq - version: 10.3.9 + version: 12.0.0 repository: https://charts.bitnami.com/bitnami condition: rabbitmq.enabled - name: redis @@ -26,7 +27,7 @@ dependencies: repository: https://charts.bitnami.com/bitnami condition: redis.enabled - name: grafana - version: 6.29.6 + version: 6.57.1 repository: https://grafana.github.io/helm-charts condition: grafana.enabled - name: ingress-nginx diff --git a/helm/oncall/charts/grafana-6.29.6.tgz b/helm/oncall/charts/grafana-6.29.6.tgz deleted file mode 100644 index ed0a64c9ed1b959bbce6bfd39d0527c469c5e945..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32450 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 Re*ypi|Nj^owDc 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 Q00030|5${X&j6+a0E?(6GXMYp literal 0 HcmV?d00001 diff --git a/helm/oncall/charts/mariadb-11.0.10.tgz b/helm/oncall/charts/mariadb-11.0.10.tgz deleted file mode 100644 index 0e41a301fce672ddc598f2f3f3dba7e59cc19da2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46158 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 diff --git a/helm/oncall/charts/mariadb-12.2.5.tgz b/helm/oncall/charts/mariadb-12.2.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d9b8b659d21b4bd4acdba877adb93dd59fc5d0da GIT binary patch literal 45823 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 A1^@s6 literal 0 HcmV?d00001 diff --git a/helm/oncall/charts/rabbitmq-10.1.1.tgz b/helm/oncall/charts/rabbitmq-10.1.1.tgz deleted file mode 100644 index 955e49d1616838bab508fd1ed6aea13a1e13b9d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52854 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 diff --git a/helm/oncall/charts/rabbitmq-12.0.0.tgz b/helm/oncall/charts/rabbitmq-12.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0be84a07069cba7e878eb452468626de4d6af2cd GIT binary patch literal 55713 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�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

F;*Po3I-FN&n{Nmp+fArKh7P6!pD% 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 Q3jhHB|GdoJj{uGb060$|8UO$Q diff --git a/helm/oncall/charts/redis-16.13.2.tgz b/helm/oncall/charts/redis-16.13.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..33b5e967b8cfff007e549c555cb64583606a7f91 GIT binary patch literal 88770 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 W&)~EBJ^wEN0RR6g?LxZ%rUw93uAxc* literal 0 HcmV?d00001 diff --git a/helm/oncall/templates/engine/deployment.yaml b/helm/oncall/templates/engine/deployment.yaml index f0848c76..ba9bb820 100644 --- a/helm/oncall/templates/engine/deployment.yaml +++ b/helm/oncall/templates/engine/deployment.yaml @@ -86,7 +86,7 @@ spec: httpGet: path: /startupprobe/ port: http - periodSeconds: 60 + periodSeconds: 10 timeoutSeconds: 3 resources: {{- toYaml .Values.engine.resources | nindent 12 }} diff --git a/helm/oncall/values.yaml b/helm/oncall/values.yaml index 2616a89c..5fc5fafb 100644 --- a/helm/oncall/values.yaml +++ b/helm/oncall/values.yaml @@ -327,6 +327,9 @@ grafana: serve_from_sub_path: true persistence: enabled: true + # Disable psp as PodSecurityPolicy is deprecated in v1.21+, unavailable in v1.25+ + rbac: + pspEnabled: false plugins: - grafana-oncall-app diff --git a/helm/values-arm64.yml b/helm/values-arm64.yml deleted file mode 100644 index 7d59ae5a..00000000 --- a/helm/values-arm64.yml +++ /dev/null @@ -1,16 +0,0 @@ -# Substituting bitnami image with official image -# to be able to run Rabbitmq on arm64 (Mac M1) -# Optional for amd64 systems -rabbitmq: - enabled: true - image: - repository: rabbitmq - tag: 3.10.10 - auth: - username: user - password: user - extraEnvVars: - - name: RABBITMQ_DEFAULT_USER - value: user - - name: RABBITMQ_DEFAULT_PASS - value: user \ No newline at end of file From a3d9b181c349eb996fcb504ba64f604524ef47d2 Mon Sep 17 00:00:00 2001 From: Rares Mardare Date: Fri, 9 Jun 2023 12:56:21 +0300 Subject: [PATCH 14/19] Templates&grouping tweaks&fixes (#2147) # What this PR does Templates&grouping tweaks \ fixes - responsiveness fixes - changed new route default template to be comment instead - some other minor changes --- .../HamburgerMenu/HamburgerMenu.module.css | 19 ------- .../HamburgerMenu/HamburgerMenu.module.scss | 35 ++++++++++++ .../HamburgerMenu/HamburgerMenu.tsx | 13 +++-- .../CollapsedIntegrationRouteDisplay.tsx | 8 +-- ...xpandedIntegrationRouteDisplay.module.scss | 16 ------ .../ExpandedIntegrationRouteDisplay.tsx | 30 ++++++---- ...le.css => IntegrationTemplate.module.scss} | 21 +++++-- .../IntegrationTemplate.tsx | 2 +- .../TemplatesAlertGroupsList.module.css | 2 + .../TemplatesAlertGroupsList.tsx | 6 +- .../integration_2/Integration2.helper.ts | 35 +++++++----- .../src/pages/integration_2/Integration2.tsx | 27 ++------- .../pages/integrations_2/Integrations2.tsx | 56 +++++++++---------- 13 files changed, 140 insertions(+), 130 deletions(-) delete mode 100644 grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.module.css create mode 100644 grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.module.scss rename grafana-plugin/src/containers/IntegrationTemplate/{IntegrationTemplate.module.css => IntegrationTemplate.module.scss} (77%) diff --git a/grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.module.css b/grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.module.css deleted file mode 100644 index 0a753b7d..00000000 --- a/grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.module.css +++ /dev/null @@ -1,19 +0,0 @@ -.hamburger-menu { - cursor: pointer; - color: var(--primary-text-color); -} - -.hamburger-menu-withBackground { - display: inline-flex; - flex-direction: column; - align-items: center; - vertical-align: middle; - justify-content: center; - background-color: rgba(204, 204, 220, 0.16); - border: 1px solid transparent; - height: 32px; - width: 30px; - padding: 4px; - cursor: pointer; - color: var(--primary-text-color); -} diff --git a/grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.module.scss b/grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.module.scss new file mode 100644 index 00000000..2331838b --- /dev/null +++ b/grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.module.scss @@ -0,0 +1,35 @@ +.hamburgerMenu { + cursor: pointer; + color: var(--primary-text-color); + + &--withBackground { + display: inline-flex; + flex-direction: column; + align-items: center; + vertical-align: middle; + justify-content: center; + background-color: rgba(204, 204, 220, 0.16); + border: 1px solid transparent; + height: 32px; + width: 30px; + padding: 4px; + cursor: pointer; + color: var(--primary-text-color); + } + + &--small { + display: inline-flex; + flex-direction: column; + align-items: center; + vertical-align: middle; + justify-content: center; + background-color: rgba(204, 204, 220, 0.16); + color: var(--secondary-background); + border: 1px solid transparent; + height: 24px; + width: 22px; + padding: 4px; + cursor: pointer; + color: var(--primary-text-color); + } +} diff --git a/grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.tsx b/grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.tsx index 7b7c1b48..02937ad6 100644 --- a/grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.tsx +++ b/grafana-plugin/src/components/HamburgerMenu/HamburgerMenu.tsx @@ -3,12 +3,13 @@ import React, { useRef } from 'react'; import { Icon } from '@grafana/ui'; import cn from 'classnames/bind'; -import styles from './HamburgerMenu.module.css'; +import styles from './HamburgerMenu.module.scss'; interface HamburgerMenuProps { openMenu: React.MouseEventHandler; listWidth: number; listBorder: number; + stopPropagation?: boolean; withBackground?: boolean; className?: string; } @@ -17,12 +18,16 @@ const cx = cn.bind(styles); const HamburgerMenu: React.FC = (props) => { const ref = useRef(); - const { openMenu, listBorder, listWidth, withBackground, className } = props; + const { openMenu, listBorder, listWidth, withBackground, className, stopPropagation = false } = props; return (

{ + className={withBackground ? cx('hamburgerMenu--withBackground') : cx('hamburgerMenu', className)} + onClick={(e) => { + if (stopPropagation) { + e.stopPropagation(); + } + const boundingRect = ref.current.getBoundingClientRect(); openMenu({ diff --git a/grafana-plugin/src/containers/IntegrationContainers/CollapsedIntegrationRouteDisplay/CollapsedIntegrationRouteDisplay.tsx b/grafana-plugin/src/containers/IntegrationContainers/CollapsedIntegrationRouteDisplay/CollapsedIntegrationRouteDisplay.tsx index 3c9fd4af..2a712ec1 100644 --- a/grafana-plugin/src/containers/IntegrationContainers/CollapsedIntegrationRouteDisplay/CollapsedIntegrationRouteDisplay.tsx +++ b/grafana-plugin/src/containers/IntegrationContainers/CollapsedIntegrationRouteDisplay/CollapsedIntegrationRouteDisplay.tsx @@ -29,13 +29,9 @@ const CollapsedIntegrationRouteDisplay: React.FC(undefined); - const [telegramInfo, setTelegramInfo] = useState>([]); useEffect(() => { - (async function () { - const telegram = await telegramChannelStore.getAll(); - setTelegramInfo(telegram); - })(); + telegramChannelStore.updateItems(); }, [channelFilterId]); const channelFilter = alertReceiveChannelStore.channelFilters[channelFilterId]; @@ -91,7 +87,7 @@ const CollapsedIntegrationRouteDisplay: React.FC - {IntegrationHelper.getChatOpsChannels(channelFilter, telegramInfo, store) + {IntegrationHelper.getChatOpsChannels(channelFilter, store) .filter((it) => it) .map((chatOpsChannel, key) => ( diff --git a/grafana-plugin/src/containers/IntegrationContainers/ExpandedIntegrationRouteDisplay/ExpandedIntegrationRouteDisplay.module.scss b/grafana-plugin/src/containers/IntegrationContainers/ExpandedIntegrationRouteDisplay/ExpandedIntegrationRouteDisplay.module.scss index 72c5715b..e28cf7d1 100644 --- a/grafana-plugin/src/containers/IntegrationContainers/ExpandedIntegrationRouteDisplay/ExpandedIntegrationRouteDisplay.module.scss +++ b/grafana-plugin/src/containers/IntegrationContainers/ExpandedIntegrationRouteDisplay/ExpandedIntegrationRouteDisplay.module.scss @@ -32,19 +32,3 @@ background: var(--gray-9); } } - -.hamburgerMenu-small { - display: inline-flex; - flex-direction: column; - align-items: center; - vertical-align: middle; - justify-content: center; - background-color: rgba(204, 204, 220, 0.16); - color: var(--secondary-background); - border: 1px solid transparent; - height: 24px; - width: 22px; - padding: 4px; - cursor: pointer; - color: var(--primary-text-color); -} diff --git a/grafana-plugin/src/containers/IntegrationContainers/ExpandedIntegrationRouteDisplay/ExpandedIntegrationRouteDisplay.tsx b/grafana-plugin/src/containers/IntegrationContainers/ExpandedIntegrationRouteDisplay/ExpandedIntegrationRouteDisplay.tsx index d57242dc..2569d2f0 100644 --- a/grafana-plugin/src/containers/IntegrationContainers/ExpandedIntegrationRouteDisplay/ExpandedIntegrationRouteDisplay.tsx +++ b/grafana-plugin/src/containers/IntegrationContainers/ExpandedIntegrationRouteDisplay/ExpandedIntegrationRouteDisplay.tsx @@ -41,6 +41,9 @@ import { UserActions } from 'utils/authorization'; const cx = cn.bind(styles); +const ACTIONS_LIST_WIDTH = 200; +const ACTIONS_LIST_BORDER = 2; + interface ExpandedIntegrationRouteDisplayProps { alertReceiveChannelId: AlertReceiveChannel['id']; channelFilterId: ChannelFilter['id']; @@ -83,7 +86,7 @@ const ExpandedIntegrationRouteDisplay: React.FC { setIsLoading(true); - Promise.all([escalationChainStore.updateItems(), telegramChannelStore.updateTelegramChannels()]).then(() => + Promise.all([escalationChainStore.updateItems(), telegramChannelStore.updateItems()]).then(() => setIsLoading(false) ); }, []); @@ -168,12 +171,14 @@ const ExpandedIntegrationRouteDisplay: React.FC )} - - - Publish to ChatOps - - - + {IntegrationHelper.hasChatopsInstalled(store) && ( + + + Publish to ChatOps + + + + )} @@ -363,15 +368,20 @@ export const RouteButtonsDisplay: React.FC = ({ )} > {({ openMenu }) => ( - + )} )} ); - function onDelete(e: React.SyntheticEvent) { - e.stopPropagation(); + function onDelete() { setRouteIdForDeletion(); } diff --git a/grafana-plugin/src/containers/IntegrationTemplate/IntegrationTemplate.module.css b/grafana-plugin/src/containers/IntegrationTemplate/IntegrationTemplate.module.scss similarity index 77% rename from grafana-plugin/src/containers/IntegrationTemplate/IntegrationTemplate.module.css rename to grafana-plugin/src/containers/IntegrationTemplate/IntegrationTemplate.module.scss index e7a7639c..6fdee1ab 100644 --- a/grafana-plugin/src/containers/IntegrationTemplate/IntegrationTemplate.module.css +++ b/grafana-plugin/src/containers/IntegrationTemplate/IntegrationTemplate.module.scss @@ -32,23 +32,32 @@ min-width: min-content; } +.template-block-list, +.template-block-codeeditor { + overflow-y: hidden; +} + +.template-block-list, +.template-block-codeeditor, +.template-block-result, +.result { + height: 100%; + max-height: 100%; +} + .template-block-list { width: 30%; - height: 100%; } - .template-block-codeeditor { width: 40%; - height: 100%; } - .template-block-result { width: 30%; - height: 100%; + overflow-y: scroll !important; } - .result { padding-left: 16px; + padding-bottom: 60px; } .template-block-codeeditor div[aria-label='Code editor container'] { diff --git a/grafana-plugin/src/containers/IntegrationTemplate/IntegrationTemplate.tsx b/grafana-plugin/src/containers/IntegrationTemplate/IntegrationTemplate.tsx index 0919c6fd..dbdd67d9 100644 --- a/grafana-plugin/src/containers/IntegrationTemplate/IntegrationTemplate.tsx +++ b/grafana-plugin/src/containers/IntegrationTemplate/IntegrationTemplate.tsx @@ -25,7 +25,7 @@ import { openErrorNotification } from 'utils'; import { waitForElement } from 'utils/DOM'; import LocationHelper from 'utils/LocationHelper'; -import styles from './IntegrationTemplate.module.css'; +import styles from './IntegrationTemplate.module.scss'; const cx = cn.bind(styles); diff --git a/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.module.css b/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.module.css index cc05ca2c..237640a8 100644 --- a/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.module.css +++ b/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.module.css @@ -7,6 +7,8 @@ .template-block-list { width: 30%; height: 100%; + max-width: 100%; + overflow-y: hidden; } .alert-group-payload-view { diff --git a/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.tsx b/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.tsx index 1033a26d..3b96fc9a 100644 --- a/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.tsx +++ b/grafana-plugin/src/containers/TemplatesAlertGroupsList/TemplatesAlertGroupsList.tsx @@ -41,13 +41,13 @@ const TemplatesAlertGroupsList = (props: TemplatesAlertGroupsListProps) => { }, []); const getCodeEditorHeight = () => { - const mainDiv = document.getElementById('content-container-id'); + const mainDiv = document.getElementById('alerts-content-container-id'); const height = mainDiv?.getBoundingClientRect().height - HEADER_OF_CONTAINER_HEIGHT; return `${height}px`; }; const getCodeEditorHeightWithBadge = () => { - const mainDiv = document.getElementById('content-container-id'); + const mainDiv = document.getElementById('alerts-content-container-id'); const height = mainDiv?.getBoundingClientRect().height - HEADER_OF_CONTAINER_HEIGHT - BADGE_WITH_PADDINGS_HEIGHT; return `${height}px`; }; @@ -80,7 +80,7 @@ const TemplatesAlertGroupsList = (props: TemplatesAlertGroupsListProps) => { }; return ( -
+
{selectedAlertPayload ? ( <> {isEditMode ? ( diff --git a/grafana-plugin/src/pages/integration_2/Integration2.helper.ts b/grafana-plugin/src/pages/integration_2/Integration2.helper.ts index ef7c6e53..4fff8ea5 100644 --- a/grafana-plugin/src/pages/integration_2/Integration2.helper.ts +++ b/grafana-plugin/src/pages/integration_2/Integration2.helper.ts @@ -72,23 +72,30 @@ const IntegrationHelper = { return totalDiffString; }, - getChatOpsChannels( - channelFilter: ChannelFilter, - telegramInfo: Array<{ id: string; channel_name: string }>, - store: RootStore - ): Array<{ name: string; icon: IconName }> { - const channels: Array<{ name: string; icon: IconName }> = []; + hasChatopsInstalled(store: RootStore) { + const hasSlack = Boolean(store.teamStore.currentTeam?.slack_team_identity); + const hasTelegram = + store.hasFeature(AppFeature.Telegram) && store.telegramChannelStore.currentTeamToTelegramChannel?.length > 0; + return hasSlack || hasTelegram; + }, - if ( - store.hasFeature(AppFeature.Slack) && - channelFilter.notify_in_slack && - channelFilter.notify_in_slack && - channelFilter.slack_channel?.display_name - ) { - channels.push({ name: channelFilter.slack_channel.display_name, icon: 'slack' }); + getChatOpsChannels(channelFilter: ChannelFilter, store: RootStore): Array<{ name: string; icon: IconName }> { + const channels: Array<{ name: string; icon: IconName }> = []; + const telegram = Object.keys(store.telegramChannelStore.items).map((k) => store.telegramChannelStore.items[k]); + + if (store.hasFeature(AppFeature.Slack) && channelFilter.notify_in_slack) { + const matchingSlackChannel = store.teamStore.currentTeam?.slack_channel?.id + ? store.slackChannelStore.items[store.teamStore.currentTeam.slack_channel?.id] + : undefined; + if (channelFilter.slack_channel?.display_name || matchingSlackChannel?.display_name) { + channels.push({ + name: channelFilter.slack_channel?.display_name || matchingSlackChannel?.display_name, + icon: 'slack', + }); + } } - const matchingTelegram = telegramInfo?.find((t) => t.id === channelFilter.telegram_channel); + const matchingTelegram = telegram.find((t) => t.id === channelFilter.telegram_channel); if ( store.hasFeature(AppFeature.Telegram) && diff --git a/grafana-plugin/src/pages/integration_2/Integration2.tsx b/grafana-plugin/src/pages/integration_2/Integration2.tsx index 20500b75..6ce84e0f 100644 --- a/grafana-plugin/src/pages/integration_2/Integration2.tsx +++ b/grafana-plugin/src/pages/integration_2/Integration2.tsx @@ -66,7 +66,7 @@ import { openNotification, openErrorNotification } from 'utils'; import { getVar } from 'utils/DOM'; import LocationHelper from 'utils/LocationHelper'; import { UserActions } from 'utils/authorization'; -import { DATASOURCE_GRAFANA, PLUGIN_ROOT } from 'utils/consts'; +import { PLUGIN_ROOT } from 'utils/consts'; import sanitize from 'utils/sanitize'; const cx = cn.bind(styles); @@ -86,7 +86,7 @@ interface Integration2State extends PageBaseState { const ACTIONS_LIST_WIDTH = 200; const ACTIONS_LIST_BORDER = 2; -const NEW_ROUTE_DEFAULT = '{{ (payload.severity == "foo" and "bar" in payload.region) or True }}'; +const NEW_ROUTE_DEFAULT = '{# (payload.severity == "foo" and "bar" in payload.region) or True #}'; @observer class Integration2 extends React.Component { @@ -603,9 +603,8 @@ const IntegrationSendDemoPayloadModal: React.FC { const store = useStore(); const { alertReceiveChannelStore } = store; - const stringifiedJson = JSON.stringify(alertReceiveChannel.demo_alert_payload, null, 2); - const initialDemoJSON = stringifiedJson.substring(1, stringifiedJson.length - 1); - const [demoPayload, setDemoPayload] = useState(alertReceiveChannel.demo_alert_payload); + const initialDemoJSON = JSON.stringify(alertReceiveChannel.demo_alert_payload, null, 2); + const [demoPayload, setDemoPayload] = useState(initialDemoJSON); let onPayloadChangeDebounced = debounce(100, onPayloadChange); return ( @@ -916,8 +915,6 @@ const IntegrationActions: React.FC = ({ alertReceiveCha const HowToConnectComponent: React.FC<{ id: AlertReceiveChannel['id'] }> = ({ id }) => { const { alertReceiveChannelStore } = useStore(); const alertReceiveChannelCounter = alertReceiveChannelStore.counters[id]; - const alertReceiveChannel = alertReceiveChannelStore.items[id]; - const isGrafanaDatasource = alertReceiveChannel.integration === DATASOURCE_GRAFANA; const hasAlerts = !!alertReceiveChannelCounter?.alerts_count; return ( @@ -949,7 +946,7 @@ const HowToConnectComponent: React.FC<{ id: AlertReceiveChannel['id'] }> = ({ id
} - content={isGrafanaDatasource || !hasAlerts ? renderContent() : null} + content={hasAlerts ? null : renderContent()} /> ); @@ -963,20 +960,6 @@ const HowToConnectComponent: React.FC<{ id: AlertReceiveChannel['id'] }> = ({ id No alerts yet; try to send a demo alert )} - - {isGrafanaDatasource && ( - - - - Contact Point - - and - - Notification Policy - - created in Grafana Alerting - - )}
); diff --git a/grafana-plugin/src/pages/integrations_2/Integrations2.tsx b/grafana-plugin/src/pages/integrations_2/Integrations2.tsx index 1de27eb1..2f293129 100644 --- a/grafana-plugin/src/pages/integrations_2/Integrations2.tsx +++ b/grafana-plugin/src/pages/integrations_2/Integrations2.tsx @@ -414,36 +414,34 @@ class Integrations extends React.Component
- <> -
-
{ - this.setState({ - confirmationModal: { - isOpen: true, - confirmText: 'Delete', - dismissText: 'Cancel', - onConfirm: () => this.handleDeleteAlertReceiveChannel(item.id), - title: 'Delete integration', - body: ( - - Are you sure you want to delete integration? - - ), - }, - }); - }} - style={{ width: '100%' }} - > - - - - Delete Integration - - -
+
+
{ + this.setState({ + confirmationModal: { + isOpen: true, + confirmText: 'Delete', + dismissText: 'Cancel', + onConfirm: () => this.handleDeleteAlertReceiveChannel(item.id), + title: 'Delete integration', + body: ( + + Are you sure you want to delete integration? + + ), + }, + }); + }} + style={{ width: '100%' }} + > + + + + Delete Integration + +
- +
)} From d3247447ef3884833268adeeed792df02027c1d3 Mon Sep 17 00:00:00 2001 From: Alexander Cherepanov Date: Mon, 12 Jun 2023 09:34:36 +0600 Subject: [PATCH 15/19] Fix usage of extra envs as map in Helm chart (#2146) # What this PR does 1. Fixes setting extra envs using: ```yaml env: proxy: http://example.com SOME_VAR: some-value ``` It had failed if postgresql setting enabled and in `job-migrate` 2. Fixes an issue if custom database and username set for internal mariadb, `MYSQL_` envs did not use them ```yaml mariadb: auth: database: grafana_oncall username: grafana_oncall ``` 3. Added `imagePullSecrets: []` to values.yaml. It used in helm chart, but does not present in the values.yaml 4. More unit tests ## Which issue(s) this PR fixes ## Checklist - [x] Unit, integration, and e2e (if applicable) tests updated - [ ] Documentation added (or `pr:no public docs` PR label added if not required) - [x] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required) Co-authored-by: Ildar Iskhakov --- CHANGELOG.md | 2 + helm/oncall/templates/_env.tpl | 4 +- helm/oncall/templates/_helpers.tpl | 30 +- helm/oncall/templates/celery/_deployment.tpl | 12 +- helm/oncall/templates/engine/deployment.yaml | 12 +- helm/oncall/templates/engine/job-migrate.yaml | 4 +- .../__snapshot__/wait_for_db_test.yaml.snap | 298 ++++++++++++++++++ helm/oncall/tests/extra_env_test.yaml | 108 +++++++ helm/oncall/tests/image_deployments_test.yaml | 33 ++ .../oncall/tests/image_pull_secrets_test.yaml | 25 ++ helm/oncall/tests/mysql_env_test.yaml | 118 +++++++ .../oncall/tests/mysql_password_env_test.yaml | 46 +++ helm/oncall/tests/postgres_env_test.yaml | 10 +- .../tests/postgres_password_env_test.yaml | 12 +- .../security_context_deployments_test.yaml | 39 +++ .../service_account_deployments_test.yaml | 30 ++ helm/oncall/tests/service_account_test.yaml | 44 +++ helm/oncall/tests/telegram_env_test.yaml | 55 ++++ helm/oncall/tests/uwsgi_env_test.yaml | 7 +- helm/oncall/tests/wait_for_db_test.yaml | 41 +++ helm/oncall/values.yaml | 8 + 21 files changed, 883 insertions(+), 55 deletions(-) create mode 100644 helm/oncall/tests/__snapshot__/wait_for_db_test.yaml.snap create mode 100644 helm/oncall/tests/extra_env_test.yaml create mode 100644 helm/oncall/tests/image_deployments_test.yaml create mode 100644 helm/oncall/tests/image_pull_secrets_test.yaml create mode 100644 helm/oncall/tests/mysql_env_test.yaml create mode 100644 helm/oncall/tests/mysql_password_env_test.yaml create mode 100644 helm/oncall/tests/security_context_deployments_test.yaml create mode 100644 helm/oncall/tests/service_account_deployments_test.yaml create mode 100644 helm/oncall/tests/service_account_test.yaml create mode 100644 helm/oncall/tests/telegram_env_test.yaml create mode 100644 helm/oncall/tests/wait_for_db_test.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index cd0f0133..8e706b59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Fix receive channel filter in alert groups API [#2140](https://github.com/grafana/oncall/pull/2140) +- Helm chart: Fix usage of `env` settings as map; + Fix usage of `mariadb.auth.database` and `mariadb.auth.username` for MYSQL env variables by @alexintech [#2146](https://github.com/grafana/oncall/pull/2146) ## v1.2.41 (2023-06-08) diff --git a/helm/oncall/templates/_env.tpl b/helm/oncall/templates/_env.tpl index f269f37d..c4b5a6ac 100644 --- a/helm/oncall/templates/_env.tpl +++ b/helm/oncall/templates/_env.tpl @@ -257,7 +257,7 @@ http://{{ include "oncall.grafana.fullname" . }} {{- if and (not .Values.mariadb.enabled) .Values.externalMysql.db_name -}} {{- required "externalMysql.db_name is required if not mariadb.enabled" .Values.externalMysql.db_name | quote}} {{- else -}} -"oncall" +{{- .Values.mariadb.auth.database | default "oncall" | quote -}} {{- end -}} {{- end -}} @@ -265,7 +265,7 @@ http://{{ include "oncall.grafana.fullname" . }} {{- if and (not .Values.mariadb.enabled) .Values.externalMysql.user -}} {{- .Values.externalMysql.user | quote }} {{- else -}} -"root" +{{- .Values.mariadb.auth.username | default "root" | quote -}} {{- end -}} {{- end -}} diff --git a/helm/oncall/templates/_helpers.tpl b/helm/oncall/templates/_helpers.tpl index 1566deb1..e58f9edc 100644 --- a/helm/oncall/templates/_helpers.tpl +++ b/helm/oncall/templates/_helpers.tpl @@ -97,17 +97,7 @@ Create the name of the service account to use {{- include "snippet.mysql.env" . | nindent 4 }} {{- include "snippet.rabbitmq.env" . | nindent 4 }} {{- include "snippet.redis.env" . | nindent 4 }} - {{- if .Values.env }} - {{- if (kindIs "map" .Values.env) }} - {{- range $key, $value := .Values.env }} - - name: {{ $key }} - value: {{ $value }} - {{- end -}} - {{/* support previous schema */}} - {{- else }} - {{- toYaml .Values.env | nindent 4 }} - {{- end }} - {{- end }} + {{- include "oncall.extraEnvs" . | nindent 4 }} {{- end }} {{- define "oncall.postgresql.wait-for-db" }} @@ -122,7 +112,19 @@ Create the name of the service account to use {{- include "snippet.postgresql.env" . | nindent 4 }} {{- include "snippet.rabbitmq.env" . | nindent 4 }} {{- include "snippet.redis.env" . | nindent 4 }} - {{- if .Values.env }} - {{- toYaml .Values.env | nindent 4 }} - {{- end }} + {{- include "oncall.extraEnvs" . | nindent 4 }} {{- end }} + +{{- define "oncall.extraEnvs" -}} +{{- if .Values.env }} + {{- if (kindIs "map" .Values.env) }} + {{- range $key, $value := .Values.env }} +- name: {{ $key }} + value: {{ $value }} + {{- end -}} + {{/* support previous schema */}} + {{- else }} +{{- toYaml .Values.env }} + {{- end }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/helm/oncall/templates/celery/_deployment.tpl b/helm/oncall/templates/celery/_deployment.tpl index 92d530ab..681a0d7b 100644 --- a/helm/oncall/templates/celery/_deployment.tpl +++ b/helm/oncall/templates/celery/_deployment.tpl @@ -59,17 +59,7 @@ spec: {{- end }} {{- include "snippet.rabbitmq.env" . | nindent 12 }} {{- include "snippet.redis.env" . | nindent 12 }} - {{- if .Values.env }} - {{- if (kindIs "map" .Values.env) }} - {{- range $key, $value := .Values.env }} - - name: {{ $key }} - value: {{ $value }} - {{- end -}} - {{/* support previous schema */}} - {{- else }} - {{- toYaml .Values.env | nindent 12 }} - {{- end }} - {{- end }} + {{- include "oncall.extraEnvs" . | nindent 12 }} {{- if .Values.celery.livenessProbe.enabled }} livenessProbe: exec: diff --git a/helm/oncall/templates/engine/deployment.yaml b/helm/oncall/templates/engine/deployment.yaml index ba9bb820..781e1698 100644 --- a/helm/oncall/templates/engine/deployment.yaml +++ b/helm/oncall/templates/engine/deployment.yaml @@ -59,17 +59,7 @@ spec: {{- end }} {{- include "snippet.rabbitmq.env" . | nindent 12 }} {{- include "snippet.redis.env" . | nindent 12 }} - {{- if .Values.env }} - {{- if (kindIs "map" .Values.env) }} - {{- range $key, $value := .Values.env }} - - name: {{ $key }} - value: {{ $value }} - {{- end -}} - {{/* support previous schema */}} - {{- else }} - {{- toYaml .Values.env | nindent 12 }} - {{- end }} - {{- end }} + {{- include "oncall.extraEnvs" . | nindent 12 }} livenessProbe: httpGet: path: /health/ diff --git a/helm/oncall/templates/engine/job-migrate.yaml b/helm/oncall/templates/engine/job-migrate.yaml index 8010905c..b52c824b 100644 --- a/helm/oncall/templates/engine/job-migrate.yaml +++ b/helm/oncall/templates/engine/job-migrate.yaml @@ -74,9 +74,7 @@ spec: {{- end }} {{- include "snippet.rabbitmq.env" . | nindent 12 }} {{- include "snippet.redis.env" . | nindent 12 }} - {{- if .Values.env }} - {{- toYaml .Values.env | nindent 12 }} - {{- end }} + {{- include "oncall.extraEnvs" . | nindent 12 }} resources: {{- toYaml .Values.engine.resources | nindent 12 }} {{- end }} diff --git a/helm/oncall/tests/__snapshot__/wait_for_db_test.yaml.snap b/helm/oncall/tests/__snapshot__/wait_for_db_test.yaml.snap new file mode 100644 index 00000000..76d8cace --- /dev/null +++ b/helm/oncall/tests/__snapshot__/wait_for_db_test.yaml.snap @@ -0,0 +1,298 @@ +database.type=mysql -> should create initContainer for MySQL database (default): + 1: | + - command: + - sh + - -c + - until (python manage.py migrate --check); do echo Waiting for database migrations; sleep 2; done + env: + - name: BASE_URL + value: https://example.com + - name: SECRET_KEY + valueFrom: + secretKeyRef: + key: SECRET_KEY + name: oncall + - name: MIRAGE_SECRET_KEY + valueFrom: + secretKeyRef: + key: MIRAGE_SECRET_KEY + name: oncall + - name: MIRAGE_CIPHER_IV + value: 1234567890abcdef + - name: DJANGO_SETTINGS_MODULE + value: settings.helm + - name: AMIXR_DJANGO_ADMIN_PATH + value: admin + - name: OSS + value: "True" + - name: UWSGI_LISTEN + value: "1024" + - name: BROKER_TYPE + value: rabbitmq + - name: GRAFANA_API_URL + value: http://oncall-grafana + - name: MYSQL_HOST + value: oncall-mariadb + - name: MYSQL_PORT + value: "3306" + - name: MYSQL_DB_NAME + value: oncall + - name: MYSQL_USER + value: root + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + key: mariadb-root-password + name: oncall-mariadb + - name: RABBITMQ_USERNAME + value: user + - name: RABBITMQ_PASSWORD + valueFrom: + secretKeyRef: + key: rabbitmq-password + name: oncall-rabbitmq + - name: RABBITMQ_HOST + value: oncall-rabbitmq + - name: RABBITMQ_PORT + value: "5672" + - name: RABBITMQ_PROTOCOL + value: amqp + - name: RABBITMQ_VHOST + value: "" + - name: REDIS_HOST + value: oncall-redis-master + - name: REDIS_PORT + value: "6379" + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: redis-password + name: oncall-redis + image: grafana/oncall:v1.2.36 + imagePullPolicy: Always + name: wait-for-db + securityContext: {} + 2: | + - command: + - sh + - -c + - until (python manage.py migrate --check); do echo Waiting for database migrations; sleep 2; done + env: + - name: BASE_URL + value: https://example.com + - name: SECRET_KEY + valueFrom: + secretKeyRef: + key: SECRET_KEY + name: oncall + - name: MIRAGE_SECRET_KEY + valueFrom: + secretKeyRef: + key: MIRAGE_SECRET_KEY + name: oncall + - name: MIRAGE_CIPHER_IV + value: 1234567890abcdef + - name: DJANGO_SETTINGS_MODULE + value: settings.helm + - name: AMIXR_DJANGO_ADMIN_PATH + value: admin + - name: OSS + value: "True" + - name: UWSGI_LISTEN + value: "1024" + - name: BROKER_TYPE + value: rabbitmq + - name: GRAFANA_API_URL + value: http://oncall-grafana + - name: MYSQL_HOST + value: oncall-mariadb + - name: MYSQL_PORT + value: "3306" + - name: MYSQL_DB_NAME + value: oncall + - name: MYSQL_USER + value: root + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + key: mariadb-root-password + name: oncall-mariadb + - name: RABBITMQ_USERNAME + value: user + - name: RABBITMQ_PASSWORD + valueFrom: + secretKeyRef: + key: rabbitmq-password + name: oncall-rabbitmq + - name: RABBITMQ_HOST + value: oncall-rabbitmq + - name: RABBITMQ_PORT + value: "5672" + - name: RABBITMQ_PROTOCOL + value: amqp + - name: RABBITMQ_VHOST + value: "" + - name: REDIS_HOST + value: oncall-redis-master + - name: REDIS_PORT + value: "6379" + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: redis-password + name: oncall-redis + image: grafana/oncall:v1.2.36 + imagePullPolicy: Always + name: wait-for-db + securityContext: {} +database.type=postgresql -> should create initContainer for PostgreSQL database: + 1: | + - command: + - sh + - -c + - until (python manage.py migrate --check); do echo Waiting for database migrations; sleep 2; done + env: + - name: BASE_URL + value: https://example.com + - name: SECRET_KEY + valueFrom: + secretKeyRef: + key: SECRET_KEY + name: oncall + - name: MIRAGE_SECRET_KEY + valueFrom: + secretKeyRef: + key: MIRAGE_SECRET_KEY + name: oncall + - name: MIRAGE_CIPHER_IV + value: 1234567890abcdef + - name: DJANGO_SETTINGS_MODULE + value: settings.helm + - name: AMIXR_DJANGO_ADMIN_PATH + value: admin + - name: OSS + value: "True" + - name: UWSGI_LISTEN + value: "1024" + - name: BROKER_TYPE + value: rabbitmq + - name: GRAFANA_API_URL + value: http://oncall-grafana + - name: DATABASE_TYPE + value: postgresql + - name: DATABASE_HOST + value: oncall-postgresql + - name: DATABASE_PORT + value: "5432" + - name: DATABASE_NAME + value: oncall + - name: DATABASE_USER + value: postgres + - name: DATABASE_PASSWORD + valueFrom: + secretKeyRef: + key: postgres-password + name: oncall-postgresql + - name: RABBITMQ_USERNAME + value: user + - name: RABBITMQ_PASSWORD + valueFrom: + secretKeyRef: + key: rabbitmq-password + name: oncall-rabbitmq + - name: RABBITMQ_HOST + value: oncall-rabbitmq + - name: RABBITMQ_PORT + value: "5672" + - name: RABBITMQ_PROTOCOL + value: amqp + - name: RABBITMQ_VHOST + value: "" + - name: REDIS_HOST + value: oncall-redis-master + - name: REDIS_PORT + value: "6379" + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: redis-password + name: oncall-redis + image: grafana/oncall:v1.2.36 + imagePullPolicy: Always + name: wait-for-db + securityContext: {} + 2: | + - command: + - sh + - -c + - until (python manage.py migrate --check); do echo Waiting for database migrations; sleep 2; done + env: + - name: BASE_URL + value: https://example.com + - name: SECRET_KEY + valueFrom: + secretKeyRef: + key: SECRET_KEY + name: oncall + - name: MIRAGE_SECRET_KEY + valueFrom: + secretKeyRef: + key: MIRAGE_SECRET_KEY + name: oncall + - name: MIRAGE_CIPHER_IV + value: 1234567890abcdef + - name: DJANGO_SETTINGS_MODULE + value: settings.helm + - name: AMIXR_DJANGO_ADMIN_PATH + value: admin + - name: OSS + value: "True" + - name: UWSGI_LISTEN + value: "1024" + - name: BROKER_TYPE + value: rabbitmq + - name: GRAFANA_API_URL + value: http://oncall-grafana + - name: DATABASE_TYPE + value: postgresql + - name: DATABASE_HOST + value: oncall-postgresql + - name: DATABASE_PORT + value: "5432" + - name: DATABASE_NAME + value: oncall + - name: DATABASE_USER + value: postgres + - name: DATABASE_PASSWORD + valueFrom: + secretKeyRef: + key: postgres-password + name: oncall-postgresql + - name: RABBITMQ_USERNAME + value: user + - name: RABBITMQ_PASSWORD + valueFrom: + secretKeyRef: + key: rabbitmq-password + name: oncall-rabbitmq + - name: RABBITMQ_HOST + value: oncall-rabbitmq + - name: RABBITMQ_PORT + value: "5672" + - name: RABBITMQ_PROTOCOL + value: amqp + - name: RABBITMQ_VHOST + value: "" + - name: REDIS_HOST + value: oncall-redis-master + - name: REDIS_PORT + value: "6379" + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + key: redis-password + name: oncall-redis + image: grafana/oncall:v1.2.36 + imagePullPolicy: Always + name: wait-for-db + securityContext: {} diff --git a/helm/oncall/tests/extra_env_test.yaml b/helm/oncall/tests/extra_env_test.yaml new file mode 100644 index 00000000..3c6e19d0 --- /dev/null +++ b/helm/oncall/tests/extra_env_test.yaml @@ -0,0 +1,108 @@ +suite: test extra envs for deployments +templates: + - engine/deployment.yaml + - engine/job-migrate.yaml + - celery/deployment-celery.yaml +release: + name: oncall +tests: + - it: env=[] -> should support old syntax + set: + env: + - name: SOME_VAR + value: some_value + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: SOME_VAR + value: some_value + + - it: env=map[] -> should set multiple envs + set: + env: + SOME_VAR: some_value + another_var: "another_value" + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: SOME_VAR + value: some_value + - contains: + path: spec.template.spec.containers[0].env + content: + name: another_var + value: "another_value" + + - it: env=[] -> should add envs into initContainer + templates: + - engine/deployment.yaml + - celery/deployment-celery.yaml + set: + env: + - name: SOME_VAR + value: some_value + asserts: + - contains: + path: spec.template.spec.initContainers[0].env + content: + name: SOME_VAR + value: some_value + + - it: env=map[] -> should add envs into initContainer + templates: + - engine/deployment.yaml + - celery/deployment-celery.yaml + set: + env: + SOME_VAR: some_value + another_var: "another_value" + asserts: + - contains: + path: spec.template.spec.initContainers[0].env + content: + name: SOME_VAR + value: some_value + - contains: + path: spec.template.spec.initContainers[0].env + content: + name: another_var + value: "another_value" + + - it: database.type=postgresql and env=map[] -> should add envs into initContainer + templates: + - engine/deployment.yaml + - celery/deployment-celery.yaml + set: + database.type: postgresql + env: + SOME_VAR: some_value + another_var: "another_value" + asserts: + - contains: + path: spec.template.spec.initContainers[0].env + content: + name: SOME_VAR + value: some_value + - contains: + path: spec.template.spec.initContainers[0].env + content: + name: another_var + value: "another_value" + + - it: database.type=postgresql and env=[] -> should support old style for initContainer + templates: + - engine/deployment.yaml + - celery/deployment-celery.yaml + set: + database.type: postgresql + env: + - name: SOME_VAR + value: some_value + asserts: + - contains: + path: spec.template.spec.initContainers[0].env + content: + name: SOME_VAR + value: some_value diff --git a/helm/oncall/tests/image_deployments_test.yaml b/helm/oncall/tests/image_deployments_test.yaml new file mode 100644 index 00000000..1418ae7c --- /dev/null +++ b/helm/oncall/tests/image_deployments_test.yaml @@ -0,0 +1,33 @@ +suite: test image and imagePullPolicy for deployments +templates: + - celery/deployment-celery.yaml + - engine/deployment.yaml + - engine/job-migrate.yaml +release: + name: oncall +chart: + appVersion: 1.2.36 +tests: + - it: image={} -> should use default image tag + asserts: + - equal: + path: spec.template.spec.containers[0].image + value: grafana/oncall:1.2.36 + - equal: + path: spec.template.spec.containers[0].imagePullPolicy + value: Always + + - it: image.repository and image.tag -> should use custom image + set: + image: + repository: custom-oncall + tag: 1.2.36-custom + pullPolicy: IfNotPresent + asserts: + - equal: + path: spec.template.spec.containers[0].image + value: custom-oncall:1.2.36-custom + - equal: + path: spec.template.spec.containers[0].imagePullPolicy + value: IfNotPresent + diff --git a/helm/oncall/tests/image_pull_secrets_test.yaml b/helm/oncall/tests/image_pull_secrets_test.yaml new file mode 100644 index 00000000..e4ffd7cb --- /dev/null +++ b/helm/oncall/tests/image_pull_secrets_test.yaml @@ -0,0 +1,25 @@ +suite: test image pull secrets +templates: + - celery/deployment-celery.yaml + - engine/deployment.yaml + - engine/job-migrate.yaml +release: + name: oncall +tests: + - it: imagePullSecrets=[] -> should not create spec.template.spec.imagePullSecrets + set: + imagePullSecrets: [] + asserts: + - notExists: + path: spec.template.spec.imagePullSecrets + + - it: imagePullSecrets -> should use custom imagePullSecrets + set: + imagePullSecrets: + - name: regcred + asserts: + - contains: + path: spec.template.spec.imagePullSecrets + content: + name: regcred + diff --git a/helm/oncall/tests/mysql_env_test.yaml b/helm/oncall/tests/mysql_env_test.yaml new file mode 100644 index 00000000..b374adbe --- /dev/null +++ b/helm/oncall/tests/mysql_env_test.yaml @@ -0,0 +1,118 @@ +suite: test MySQL envs for deployments +templates: + - engine/deployment.yaml + - engine/job-migrate.yaml + - celery/deployment-celery.yaml +release: + name: oncall +tests: + - it: mariadb.enabled=false -> external MySQL default settings + set: + mariadb.enabled: false + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: DATABASE_TYPE + not: true + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_DB_NAME + value: oncall + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_PORT + value: "3306" + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_USER + value: root + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_HOST + value: oncall-mariadb + + - it: externalMysql -> use external MySQL custom settings + set: + mariadb.enabled: false + externalMysql: + host: test-host + port: 5555 + db_name: grafana_oncall + user: test_user + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_DB_NAME + value: grafana_oncall + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_PORT + value: "5555" + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_USER + value: test_user + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_HOST + value: test-host + + - it: mariadb.enabled=true -> internal MySQL default settings + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_DB_NAME + value: oncall + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_PORT + value: "3306" + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_USER + value: root + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_HOST + value: oncall-mariadb + + - it: mariadb.auth -> internal MySQL custom settings + set: + mariadb: + auth: + database: grafana_oncall + username: grafana_oncall + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_DB_NAME + value: grafana_oncall + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_PORT + value: "3306" + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_USER + value: grafana_oncall + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_HOST + value: oncall-mariadb diff --git a/helm/oncall/tests/mysql_password_env_test.yaml b/helm/oncall/tests/mysql_password_env_test.yaml new file mode 100644 index 00000000..96aca613 --- /dev/null +++ b/helm/oncall/tests/mysql_password_env_test.yaml @@ -0,0 +1,46 @@ +suite: test MySQL password envs for deployments +release: + name: oncall +templates: + - engine/deployment.yaml + - engine/job-migrate.yaml + - celery/deployment-celery.yaml + - secrets.yaml +tests: + - it: secrets -> should fail if externalMysql.password not set + set: + mariadb.enabled: false + asserts: + - failedTemplate: + errorMessage: externalMysql.password is required if not mariadb.enabled + template: secrets.yaml + + - it: externalMySQL.password -> should create a Secret -mariadb-external + templates: + - engine/deployment.yaml + - engine/job-migrate.yaml + - celery/deployment-celery.yaml + set: + mariadb.enabled: false + externalMysql: + password: abcd123 + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: oncall-mysql-external + key: mariadb-root-password + - containsDocument: + kind: Secret + apiVersion: v1 + name: oncall-mysql-external + template: secrets.yaml + - equal: + path: data.mariadb-root-password + value: abcd123 + decodeBase64: true + documentIndex: 1 + template: secrets.yaml diff --git a/helm/oncall/tests/postgres_env_test.yaml b/helm/oncall/tests/postgres_env_test.yaml index e55648f4..bbacbe6e 100644 --- a/helm/oncall/tests/postgres_env_test.yaml +++ b/helm/oncall/tests/postgres_env_test.yaml @@ -1,4 +1,4 @@ -suite: test postgresql deployment environments +suite: test PostgreSQL envs for deployments templates: - engine/deployment.yaml - engine/job-migrate.yaml @@ -6,7 +6,7 @@ templates: release: name: oncall tests: - - it: external Postgresql default settings + - it: postgresql.enabled=false -> external PostgreSQL default settings set: database.type: postgresql postgresql.enabled: false @@ -37,7 +37,7 @@ tests: name: DATABASE_HOST value: oncall-postgresql - - it: external Postgresql custom settings + - it: externalPostgresql -> should use external PostgreSQL custom settings set: database.type: postgresql postgresql.enabled: false @@ -73,7 +73,7 @@ tests: name: DATABASE_HOST value: test-host - - it: internal Postgresql default settings + - it: postgresql.enabled=true -> internal PostgreSQL default settings set: database.type: postgresql postgresql.enabled: true @@ -104,7 +104,7 @@ tests: name: DATABASE_HOST value: oncall-postgresql - - it: internal Postgresql custom settings + - it: postgresql.auth -> should use internal PostgreSQL custom settings set: database.type: postgresql postgresql: diff --git a/helm/oncall/tests/postgres_password_env_test.yaml b/helm/oncall/tests/postgres_password_env_test.yaml index cd0e5b9a..83c2cc02 100644 --- a/helm/oncall/tests/postgres_password_env_test.yaml +++ b/helm/oncall/tests/postgres_password_env_test.yaml @@ -1,4 +1,4 @@ -suite: test postgresql password deployment environments +suite: test PostgreSQL password envs for deployments release: name: oncall templates: @@ -7,7 +7,7 @@ templates: - celery/deployment-celery.yaml - secrets.yaml tests: - - it: should fail if externalPostgresql.password not set + - it: secrets -> should fail if externalPostgresql.password not set set: database.type: postgresql postgresql.enabled: false @@ -16,7 +16,7 @@ tests: errorMessage: externalPostgresql.password is required if not postgresql.enabled and not externalPostgresql.existingSecret template: secrets.yaml - - it: externalPostgresql.password should create Secret -postgresql-external + - it: externalPostgresql.password -> should create a Secret -postgresql-external templates: - engine/deployment.yaml - engine/job-migrate.yaml @@ -47,7 +47,7 @@ tests: documentIndex: 1 template: secrets.yaml - - it: externalPostgresql.existingSecret should use existing secret + - it: externalPostgresql.existingSecret -> should use existing secret templates: - engine/deployment.yaml - engine/job-migrate.yaml @@ -67,7 +67,7 @@ tests: name: some-postgres-secret key: postgres-password - - it: externalPostgresql.passwordKey should be used for existing secret + - it: externalPostgresql.passwordKey -> should be used for existing secret templates: - engine/deployment.yaml - engine/job-migrate.yaml @@ -88,7 +88,7 @@ tests: name: some-postgres-secret key: postgres.key - - it: internal Postgresql custom settings + - it: postgresql.auth -> should use internal Postgresql custom settings templates: - engine/deployment.yaml - engine/job-migrate.yaml diff --git a/helm/oncall/tests/security_context_deployments_test.yaml b/helm/oncall/tests/security_context_deployments_test.yaml new file mode 100644 index 00000000..9cf6db81 --- /dev/null +++ b/helm/oncall/tests/security_context_deployments_test.yaml @@ -0,0 +1,39 @@ +suite: test security context for deployments +templates: + - celery/deployment-celery.yaml + - engine/deployment.yaml + - engine/job-migrate.yaml +release: + name: oncall +tests: + - it: podSecurityContext={} -> spec.template.spec.securityContext is empty (default) + set: + asserts: + - isNullOrEmpty: + path: spec.template.spec.securityContext + - isNullOrEmpty: + path: spec.template.spec.containers[0].securityContext + + - it: podSecurityContext.runAsNonRoot=true -> should fill securityContext + set: + podSecurityContext: + runAsNonRoot: true + runAsUser: 1000 + asserts: + - isSubset: + path: spec.template.spec.securityContext + content: + runAsNonRoot: true + runAsUser: 1000 + + - it: securityContext.runAsNonRoot=true -> should fill securityContext for container + set: + securityContext: + runAsNonRoot: true + runAsUser: 1000 + asserts: + - isSubset: + path: spec.template.spec.containers[0].securityContext + content: + runAsNonRoot: true + runAsUser: 1000 diff --git a/helm/oncall/tests/service_account_deployments_test.yaml b/helm/oncall/tests/service_account_deployments_test.yaml new file mode 100644 index 00000000..9fbe9303 --- /dev/null +++ b/helm/oncall/tests/service_account_deployments_test.yaml @@ -0,0 +1,30 @@ +suite: test service account deployments +templates: + - celery/deployment-celery.yaml + - engine/deployment.yaml + - engine/job-migrate.yaml +release: + name: oncall +tests: + - it: serviceAccount.create=true -> should use created serviceAccount for deployments (default) + asserts: + - equal: + path: spec.template.spec.serviceAccountName + value: oncall + + - it: serviceAccount.create=false -> should use default serviceAccount for deployments + set: + serviceAccount.create: false + asserts: + - equal: + path: spec.template.spec.serviceAccountName + value: default + + - it: serviceAccount.name=custom -> should use created custom serviceAccount for deployments + set: + serviceAccount.name: custom + asserts: + - equal: + path: spec.template.spec.serviceAccountName + value: custom + diff --git a/helm/oncall/tests/service_account_test.yaml b/helm/oncall/tests/service_account_test.yaml new file mode 100644 index 00000000..c60aabc0 --- /dev/null +++ b/helm/oncall/tests/service_account_test.yaml @@ -0,0 +1,44 @@ +suite: test service account +templates: + - serviceaccount.yaml +release: + name: oncall +tests: + - it: serviceAccount.create=true -> should create serviceAccount (default) + asserts: + - containsDocument: + kind: ServiceAccount + apiVersion: v1 + name: oncall + - notExists: + path: metadata.annotations + - isSubset: + path: metadata.labels + content: + app.kubernetes.io/instance: oncall + app.kubernetes.io/name: oncall + + - it: serviceAccount.create=false -> should not create serviceAccount + set: + serviceAccount.create: false + asserts: + - hasDocuments: + count: 0 + + - it: serviceAccount.name=custom -> should create custom serviceAccount + set: + serviceAccount.name: custom + asserts: + - equal: + path: metadata.name + value: custom + + - it: serviceAccount.annotations -> should add annotations to serviceAccount + set: + serviceAccount.annotations: + some-annotation: some-value + asserts: + - isSubset: + path: metadata.annotations + content: + some-annotation: some-value diff --git a/helm/oncall/tests/telegram_env_test.yaml b/helm/oncall/tests/telegram_env_test.yaml new file mode 100644 index 00000000..7f954568 --- /dev/null +++ b/helm/oncall/tests/telegram_env_test.yaml @@ -0,0 +1,55 @@ +suite: test telegram envs for deployments +templates: + - engine/deployment.yaml + - celery/deployment-celery.yaml +release: + name: oncall +tests: + - it: oncall.telegram.enabled=false -> Telegram integration disabled (default) + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: FEATURE_TELEGRAM_INTEGRATION_ENABLED + value: "False" + + - it: oncall.telegram.enabled=true -> should enable Telegram integration + set: + oncall.telegram: + enabled: true + webhookUrl: https://example.com + token: "abcd:123" + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: FEATURE_TELEGRAM_INTEGRATION_ENABLED + value: "True" + - contains: + path: spec.template.spec.containers[0].env + content: + name: TELEGRAM_WEBHOOK_HOST + value: "https://example.com" + - contains: + path: spec.template.spec.containers[0].env + content: + name: TELEGRAM_TOKEN + value: "abcd:123" + + - it: oncall.telegram.existingSecret=some-secret -> should prefer existing secret over oncall.telegram.token + set: + oncall.telegram: + enabled: true + token: "abcd:123" + existingSecret: some-secret + tokenKey: token + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: TELEGRAM_TOKEN + valueFrom: + secretKeyRef: + name: some-secret + key: token + diff --git a/helm/oncall/tests/uwsgi_env_test.yaml b/helm/oncall/tests/uwsgi_env_test.yaml index 7986c361..3ed3bbb0 100644 --- a/helm/oncall/tests/uwsgi_env_test.yaml +++ b/helm/oncall/tests/uwsgi_env_test.yaml @@ -6,7 +6,7 @@ templates: release: name: oncall tests: - - it: uwsgi.listen should overwrite UWSGI_LISTEN env + - it: uwsgi.listen -> should overwrite UWSGI_LISTEN env set: uwsgi.listen: 128 asserts: @@ -15,7 +15,7 @@ tests: content: name: UWSGI_LISTEN value: "128" - - it: uwsgi.envs should set multiple UWSGI_* envs + - it: uwsgi=map[] -> should set multiple UWSGI_* envs set: uwsgi: processes: 3 @@ -36,7 +36,8 @@ tests: content: name: UWSGI_MAX_REQUESTS value: "1000" - - it: uwsgi.null should not set any UWSGI_* variable + + - it: uwsgi=null -> should not set any UWSGI_* variable set: uwsgi: null asserts: diff --git a/helm/oncall/tests/wait_for_db_test.yaml b/helm/oncall/tests/wait_for_db_test.yaml new file mode 100644 index 00000000..a744962e --- /dev/null +++ b/helm/oncall/tests/wait_for_db_test.yaml @@ -0,0 +1,41 @@ +suite: test init container wait-for-db in deployments +templates: + - celery/deployment-celery.yaml + - engine/deployment.yaml +release: + name: oncall +chart: + appVersion: v1.2.36 +tests: + - it: database.type=mysql -> should create initContainer for MySQL database (default) + asserts: + - contains: + path: spec.template.spec.initContainers + content: + name: wait-for-db + any: true + - contains: + path: spec.template.spec.initContainers[0].env + content: + name: MYSQL_DB_NAME + value: oncall + - matchSnapshot: + path: spec.template.spec.initContainers + + - it: database.type=postgresql -> should create initContainer for PostgreSQL database + set: + database.type: postgresql + asserts: + - contains: + path: spec.template.spec.initContainers + content: + name: wait-for-db + any: true + - contains: + path: spec.template.spec.initContainers[0].env + content: + name: DATABASE_TYPE + value: postgresql + - matchSnapshot: + path: spec.template.spec.initContainers + diff --git a/helm/oncall/values.yaml b/helm/oncall/values.yaml index 5fc5fafb..2398c86a 100644 --- a/helm/oncall/values.yaml +++ b/helm/oncall/values.yaml @@ -4,6 +4,14 @@ # If you want to install grafana as a part of this release make sure to configure grafana.grafana.ini.server.domain too base_url: example.com +## Optionally specify an array of imagePullSecrets. +## Secrets must be manually created in the namespace. +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ +## e.g: +## imagePullSecrets: +## - name: myRegistryKeySecretName +imagePullSecrets: [] + image: # Grafana OnCall docker image repository repository: grafana/oncall From 1c07bec8fc0d0431b917f345949bb784d9b0c04b Mon Sep 17 00:00:00 2001 From: Yulia Shanyrova Date: Mon, 12 Jun 2023 09:48:36 +0200 Subject: [PATCH 16/19] Integrations2 filtering small fix (#2148) Integrations2 filtering small fix --- grafana-plugin/src/pages/integrations_2/Integrations2.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/grafana-plugin/src/pages/integrations_2/Integrations2.tsx b/grafana-plugin/src/pages/integrations_2/Integrations2.tsx index 2f293129..746d8aa3 100644 --- a/grafana-plugin/src/pages/integrations_2/Integrations2.tsx +++ b/grafana-plugin/src/pages/integrations_2/Integrations2.tsx @@ -473,9 +473,12 @@ class Integrations extends React.Component applyFilters = () => { const { store } = this.props; const { alertReceiveChannelStore } = store; - const { integrationsFilters, page } = this.state; + const { integrationsFilters } = this.state; - return alertReceiveChannelStore.updatePaginatedItems(integrationsFilters, page); + return alertReceiveChannelStore.updatePaginatedItems(integrationsFilters).then(() => { + this.setState({ page: 1 }); + LocationHelper.update({ p: 1 }, 'partial'); + }); }; debouncedUpdateIntegrations = debounce(this.applyFilters, FILTERS_DEBOUNCE_MS); From 71a5ae1458256f9048ff249d466fdfeece7d6f27 Mon Sep 17 00:00:00 2001 From: Rares Mardare Date: Mon, 12 Jun 2023 15:32:24 +0300 Subject: [PATCH 17/19] Fix for Filters discarding the query param (#2155) # What this PR does Original escalation: https://github.com/grafana/support-escalations/issues/6237 Now instead of always reading the values from local storage, we first check for query params instead and then for local storage. On the first render we skip re-updating the local storage, therefore if you visit alert groups with `team 1` and `team 2`, while local storage had `team 3`, this will not overwrite the local storage but it **WILL** do so once the teams value change in the dropdown. --- CHANGELOG.md | 1 + .../RemoteFilters/RemoteFilters.helpers.ts | 12 +++++-- .../RemoteFilters/RemoteFilters.tsx | 32 ++++++++----------- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e706b59..425ed326 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Fixed bug on Filters where team param from URL was discarded [#6237](https://github.com/grafana/support-escalations/issues/6237) - Fix receive channel filter in alert groups API [#2140](https://github.com/grafana/oncall/pull/2140) - Helm chart: Fix usage of `env` settings as map; Fix usage of `mariadb.auth.database` and `mariadb.auth.username` for MYSQL env variables by @alexintech [#2146](https://github.com/grafana/oncall/pull/2146) diff --git a/grafana-plugin/src/containers/RemoteFilters/RemoteFilters.helpers.ts b/grafana-plugin/src/containers/RemoteFilters/RemoteFilters.helpers.ts index ca03ff2f..9cc38b07 100644 --- a/grafana-plugin/src/containers/RemoteFilters/RemoteFilters.helpers.ts +++ b/grafana-plugin/src/containers/RemoteFilters/RemoteFilters.helpers.ts @@ -10,12 +10,18 @@ const normalize = (value: any) => { return value; }; -export function parseFilters(query: { [key: string]: any }, filterOptions: FilterOption[]) { - const filters = filterOptions.filter((filterOption: FilterOption) => filterOption.name in query); +export function parseFilters( + data: { [key: string]: any }, + filterOptions: FilterOption[], + query: { [key: string]: any } +) { + const filters = filterOptions.filter((filterOption: FilterOption) => filterOption.name in data); const values = filters.reduce((memo: any, filterOption: FilterOption) => { - const rawValue = query[filterOption.name]; + const rawValue = query[filterOption.name] || data[filterOption.name]; // query takes priority over local storage + let value: any = rawValue; + if (filterOption.type === 'options' || filterOption.type === 'team_select') { if (!Array.isArray(rawValue)) { value = [rawValue]; diff --git a/grafana-plugin/src/containers/RemoteFilters/RemoteFilters.tsx b/grafana-plugin/src/containers/RemoteFilters/RemoteFilters.tsx index 189a4073..6f8b92c6 100644 --- a/grafana-plugin/src/containers/RemoteFilters/RemoteFilters.tsx +++ b/grafana-plugin/src/containers/RemoteFilters/RemoteFilters.tsx @@ -69,17 +69,10 @@ class RemoteFilters extends Component { const filterOptions = await filtersStore.updateOptionsForPage(page); - let { filters, values } = parseFilters({ ...query, ...filtersStore.globalValues }, filterOptions); + let { filters, values } = parseFilters({ ...query, ...filtersStore.globalValues }, filterOptions, query); if (isEmpty(values)) { - let newQuery = defaultFilters || { team: [] }; - /* if (filtersStore.values[page]) { - newQuery = { ...filtersStore.values[page] }; - } else { - newQuery = defaultFilters || { team: [] }; - } */ - - ({ filters, values } = parseFilters(newQuery, filterOptions)); + ({ filters, values } = parseFilters(defaultFilters || { team: [] }, filterOptions, query)); } this.setState({ filterOptions, filters, values }, () => this.onChange(true)); @@ -369,17 +362,20 @@ class RemoteFilters extends Component { store.filtersStore.updateValuesForPage(page, values); - Object.keys({ ...store.filtersStore.globalValues }).forEach((key) => { - if (!(key in values)) { - delete store.filtersStore.globalValues[key]; - } - }); + if (!isOnMount) { + // Skip updating local storage for mounting, this way URL won't overwrite local storage but subsequent actions WILL do + Object.keys({ ...store.filtersStore.globalValues }).forEach((key) => { + if (!(key in values)) { + delete store.filtersStore.globalValues[key]; + } + }); - const newGlobalValues = pickBy(values, (_, key) => - filterOptions.some((option) => option.name === key && option.global) - ); + const newGlobalValues = pickBy(values, (_, key) => + filterOptions.some((option) => option.name === key && option.global) + ); - store.filtersStore.globalValues = newGlobalValues; + store.filtersStore.globalValues = newGlobalValues; + } LocationHelper.update({ ...values }, 'partial'); onChange(values, isOnMount); From 2d721355a4441565242889ff9efaaee22fb770fc Mon Sep 17 00:00:00 2001 From: Joey Orlando Date: Mon, 12 Jun 2023 14:56:53 +0200 Subject: [PATCH 18/19] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 425ed326..a66d6cdb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## v1.2.42 (2023-06-12) ### Changed From cc3c18c89c72227ca8e2c23191cefbf54dc3103b Mon Sep 17 00:00:00 2001 From: Matias Bordese Date: Mon, 12 Jun 2023 10:04:07 -0300 Subject: [PATCH 19/19] Add instructions for prometheus exporter setup (#2103) --- README.md | 36 ++++++++++++++++--- docker-compose.yml | 15 ++++++++ .../apps/metrics_exporter/tests/test_views.py | 24 +++++++++++++ engine/apps/metrics_exporter/urls.py | 2 +- engine/apps/metrics_exporter/views.py | 12 +++++++ engine/settings/base.py | 3 ++ engine/settings/ci-test.py | 2 ++ helm/oncall/templates/_env.tpl | 16 +++++++++ helm/oncall/templates/celery/_deployment.tpl | 1 + helm/oncall/templates/engine/deployment.yaml | 1 + helm/oncall/templates/engine/job-migrate.yaml | 1 + helm/oncall/templates/secrets.yaml | 10 ++++++ helm/oncall/values.yaml | 3 ++ 13 files changed, 121 insertions(+), 5 deletions(-) create mode 100644 engine/apps/metrics_exporter/tests/test_views.py diff --git a/README.md b/README.md index 3cc78af2..398b7250 100644 --- a/README.md +++ b/README.md @@ -45,17 +45,45 @@ We prepared multiple environments: ```bash echo "DOMAIN=http://localhost:8080 - COMPOSE_PROFILES=with_grafana # Remove this line if you want to use existing grafana + # Remove 'with_grafana' below if you want to use existing grafana + # Add 'with_prometheus' below to optionally enable a local prometheus for oncall metrics + # e.g. COMPOSE_PROFILES=with_grafana,with_prometheus + COMPOSE_PROFILES=with_grafana + # to setup an auth token for prometheus exporter metrics: + # PROMETHEUS_EXPORTER_SECRET=my_random_prometheus_secret + # also, make sure to enable the /metrics endpoint: + # FEATURE_PROMETHEUS_EXPORTER_ENABLED=True SECRET_KEY=my_random_secret_must_be_more_than_32_characters_long" > .env ``` -3. Launch services: +3. (Optional) If you want to enable/setup the prometheus metrics exporter +(besides the changes above), create a `prometheus.yml` file (replacing +`my_random_prometheus_secret` accordingly), next to your `docker-compose.yml`: + + ```bash + echo "global: + scrape_interval: 15s + evaluation_interval: 15s + + scrape_configs: + - job_name: prometheus + metrics_path: /metrics/ + authorization: + - credentials: my_random_prometheus_secret + static_configs: + - targets: [\"host.docker.internal:8080\"]" > prometheus.yml + ``` + + NOTE: you will need to setup a Prometheus datasource using `http://prometheus:9090` + as the URL in the Grafana UI. + +4. Launch services: ```bash docker-compose pull && docker-compose up -d ``` -4. Go to [OnCall Plugin Configuration](http://localhost:3000/plugins/grafana-oncall-app), using log in credentials +5. Go to [OnCall Plugin Configuration](http://localhost:3000/plugins/grafana-oncall-app), using log in credentials as defined above: `admin`/`admin` (or find OnCall plugin in configuration->plugins) and connect OnCall _plugin_ with OnCall _backend_: @@ -63,7 +91,7 @@ We prepared multiple environments: OnCall backend URL: http://engine:8080 ``` -5. Enjoy! Check our [OSS docs](https://grafana.com/docs/oncall/latest/open-source/) if you want to set up +6. Enjoy! Check our [OSS docs](https://grafana.com/docs/oncall/latest/open-source/) if you want to set up Slack, Telegram, Twilio or SMS/calls through Grafana Cloud. ## Update version diff --git a/docker-compose.yml b/docker-compose.yml index 6bb3e6cf..ad8cc97a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,8 @@ x-environment: &oncall-environment BROKER_TYPE: redis BASE_URL: $DOMAIN SECRET_KEY: $SECRET_KEY + FEATURE_PROMETHEUS_EXPORTER_ENABLED: $FEATURE_PROMETHEUS_EXPORTER_ENABLED + PROMETHEUS_EXPORTER_SECRET: $PROMETHEUS_EXPORTER_SECRET REDIS_URI: redis://redis:6379/0 DJANGO_SETTINGS_MODULE: settings.hobby CELERY_WORKER_QUEUE: "default,critical,long,slack,telegram,webhook,retry,celery" @@ -72,6 +74,18 @@ services: interval: 5s retries: 10 + prometheus: + image: prom/prometheus + hostname: prometheus + restart: always + ports: + - "9090:9090" + volumes: + - ./prometheus.yml:/etc/prometheus/prometheus.yml + - prometheus_data:/prometheus + profiles: + - with_prometheus + grafana: image: "grafana/${GRAFANA_IMAGE:-grafana:latest}" restart: always @@ -94,5 +108,6 @@ services: volumes: grafana_data: + prometheus_data: oncall_data: redis_data: diff --git a/engine/apps/metrics_exporter/tests/test_views.py b/engine/apps/metrics_exporter/tests/test_views.py new file mode 100644 index 00000000..3a2381c9 --- /dev/null +++ b/engine/apps/metrics_exporter/tests/test_views.py @@ -0,0 +1,24 @@ +import pytest +from django.urls import reverse +from rest_framework.test import APIClient + + +@pytest.mark.django_db +@pytest.mark.parametrize( + "token,auth,expected", + [ + (None, None, 200), + ("secret", "invalid", 401), + ("secret", "secret", 200), + ], +) +def test_metrics_exporter_auth(settings, token, auth, expected): + settings.PROMETHEUS_EXPORTER_SECRET = token + + client = APIClient() + client.credentials(HTTP_AUTHORIZATION="Bearer {}".format(auth)) + + url = reverse("metrics-exporter") + response = client.get(url) + + assert response.status_code == expected diff --git a/engine/apps/metrics_exporter/urls.py b/engine/apps/metrics_exporter/urls.py index 4768cd79..3b22480e 100644 --- a/engine/apps/metrics_exporter/urls.py +++ b/engine/apps/metrics_exporter/urls.py @@ -3,5 +3,5 @@ from django.urls import path from .views import MetricsExporterView urlpatterns = [ - path("", MetricsExporterView.as_view()), + path("", MetricsExporterView.as_view(), name="metrics-exporter"), ] diff --git a/engine/apps/metrics_exporter/views.py b/engine/apps/metrics_exporter/views.py index 7a03de78..2028700a 100644 --- a/engine/apps/metrics_exporter/views.py +++ b/engine/apps/metrics_exporter/views.py @@ -1,11 +1,23 @@ +import re + +from django.conf import settings from django.http import HttpResponse from prometheus_client import generate_latest from rest_framework.views import APIView from .metrics_collectors import application_metrics_registry +RE_AUTH_TOKEN = re.compile(r"^[Bb]earer\s{1}(.+)$") + class MetricsExporterView(APIView): def get(self, request): + if settings.PROMETHEUS_EXPORTER_SECRET: + authorization = request.headers.get("Authorization", "") + match = RE_AUTH_TOKEN.match(authorization) + token = match.groups()[0] if match else None + if not token or token != settings.PROMETHEUS_EXPORTER_SECRET: + return HttpResponse(status=401) + result = generate_latest(application_metrics_registry).decode("utf-8") return HttpResponse(result, content_type="text/plain; version=0.0.4; charset=utf-8") diff --git a/engine/settings/base.py b/engine/settings/base.py index 25056d8d..aa2adca4 100644 --- a/engine/settings/base.py +++ b/engine/settings/base.py @@ -92,6 +92,9 @@ ONCALL_GATEWAY_URL = os.environ.get("ONCALL_GATEWAY_URL") ONCALL_GATEWAY_API_TOKEN = os.environ.get("ONCALL_GATEWAY_API_TOKEN") ONCALL_BACKEND_REGION = os.environ.get("ONCALL_BACKEND_REGION") +# Prometheus exporter metrics endpoint auth +PROMETHEUS_EXPORTER_SECRET = os.environ.get("PROMETHEUS_EXPORTER_SECRET") + # Database class DatabaseTypes: diff --git a/engine/settings/ci-test.py b/engine/settings/ci-test.py index 9751c49d..fa03e76c 100644 --- a/engine/settings/ci-test.py +++ b/engine/settings/ci-test.py @@ -40,3 +40,5 @@ TWILIO_ACCOUNT_SID = "dummy_twilio_account_sid" TWILIO_AUTH_TOKEN = "dummy_twilio_auth_token" EXTRA_MESSAGING_BACKENDS = [("apps.base.tests.messaging_backend.TestOnlyBackend", 42)] + +FEATURE_PROMETHEUS_EXPORTER_ENABLED = True diff --git a/helm/oncall/templates/_env.tpl b/helm/oncall/templates/_env.tpl index c4b5a6ac..a028907a 100644 --- a/helm/oncall/templates/_env.tpl +++ b/helm/oncall/templates/_env.tpl @@ -480,3 +480,19 @@ rabbitmq-password value: {{ .Values.oncall.smtp.enabled | toString | title | quote }} {{- end -}} {{- end }} + +{{- define "snippet.oncall.exporter.env" -}} +{{- if .Values.oncall.exporter.enabled -}} +- name: FEATURE_PROMETHEUS_EXPORTER_ENABLED + value: {{ .Values.oncall.exporter.enabled | toString | title | quote }} +- name: PROMETHEUS_EXPORTER_SECRET + valueFrom: + secretKeyRef: + name: {{ include "oncall.fullname" . }}-exporter + key: exporter-secret + optional: true +{{- else -}} +- name: FEATURE_PROMETHEUS_EXPORTER_ENABLED + value: {{ .Values.oncall.exporter.enabled | toString | title | quote }} +{{- end -}} +{{- end }} diff --git a/helm/oncall/templates/celery/_deployment.tpl b/helm/oncall/templates/celery/_deployment.tpl index 681a0d7b..7a8361dd 100644 --- a/helm/oncall/templates/celery/_deployment.tpl +++ b/helm/oncall/templates/celery/_deployment.tpl @@ -51,6 +51,7 @@ spec: {{- include "snippet.oncall.slack.env" . | nindent 12 }} {{- include "snippet.oncall.telegram.env" . | nindent 12 }} {{- include "snippet.oncall.smtp.env" . | nindent 12 }} + {{- include "snippet.oncall.exporter.env" . | nindent 12 }} {{- if eq .Values.database.type "mysql" }} {{- include "snippet.mysql.env" . | nindent 12 }} {{- end }} diff --git a/helm/oncall/templates/engine/deployment.yaml b/helm/oncall/templates/engine/deployment.yaml index 781e1698..6b91cccf 100644 --- a/helm/oncall/templates/engine/deployment.yaml +++ b/helm/oncall/templates/engine/deployment.yaml @@ -51,6 +51,7 @@ spec: {{- include "snippet.oncall.telegram.env" . | nindent 12 }} {{- include "snippet.oncall.smtp.env" . | nindent 12 }} {{- include "snippet.oncall.twilio.env" . | nindent 12 }} + {{- include "snippet.oncall.exporter.env" . | nindent 12 }} {{- if eq .Values.database.type "mysql" }} {{- include "snippet.mysql.env" . | nindent 12 }} {{- end }} diff --git a/helm/oncall/templates/engine/job-migrate.yaml b/helm/oncall/templates/engine/job-migrate.yaml index b52c824b..06353ad4 100644 --- a/helm/oncall/templates/engine/job-migrate.yaml +++ b/helm/oncall/templates/engine/job-migrate.yaml @@ -66,6 +66,7 @@ spec: env: {{- include "snippet.oncall.env" . | nindent 12 }} {{- include "snippet.oncall.smtp.env" . | nindent 12 }} + {{- include "snippet.oncall.exporter.env" . | nindent 12 }} {{- if eq .Values.database.type "mysql" }} {{- include "snippet.mysql.env" . | nindent 12 }} {{- end }} diff --git a/helm/oncall/templates/secrets.yaml b/helm/oncall/templates/secrets.yaml index 8a0dc069..62a97896 100644 --- a/helm/oncall/templates/secrets.yaml +++ b/helm/oncall/templates/secrets.yaml @@ -51,6 +51,16 @@ data: smtp-password: {{ .Values.oncall.smtp.password | b64enc | quote }} {{- end }} --- +{{ if and .Values.oncall.exporter.enabled .Values.oncall.exporter.authToken -}} +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "oncall.fullname" . }}-exporter +type: Opaque +data: + exporter-secret: {{ .Values.oncall.exporter.authToken | b64enc | quote }} +{{- end }} +--- {{ if and (not .Values.postgresql.enabled) (eq .Values.database.type "postgresql") (not .Values.externalPostgresql.existingSecret) -}} apiVersion: v1 kind: Secret diff --git a/helm/oncall/values.yaml b/helm/oncall/values.yaml index 2398c86a..d7333149 100644 --- a/helm/oncall/values.yaml +++ b/helm/oncall/values.yaml @@ -141,6 +141,9 @@ oncall: password: ~ tls: ~ fromEmail: ~ + exporter: + enabled: false + authToken: ~ twilio: # Twilio account SID/username to allow OnCall to send SMSes and make phone calls accountSid: ""