Commit Graph

55 Commits

Author SHA1 Message Date
Christopher Taylor
2c04c5aaa7
UI: add 'Link' button to alerts in list (#2880)
* add 'Link' button

adds a button to each alert that allows linking to a single alert.
This works by generating a link that filters on _all_ of the alert's
label values, similar to the button to create a new silence from an
alert.

Signed-off-by: Christopher Taylor <chris.taylor@soundcloud.com>

* update asset/assets_vfsdata.go

Signed-off-by: Christopher Taylor <chris.taylor@soundcloud.com>

Signed-off-by: Christopher Taylor <chris.taylor@soundcloud.com>
2022-10-05 18:29:12 +02:00
Tim
1138a088f6
Adding telegram support (#2827)
* added telegram config in notifiers

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* added telegram config to config.go

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* added package telegram to notify and initialization in cmd

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* added telegram.default.message

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* added telegram template to notifiers.go

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* added message rendering from template to telegram integration

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* documentation for telegram_configs

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* added tests for telegram

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* fixed config_test.go

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* added valid parse_mode list to the error log

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* made use of httpconfig, moved telegram client creation to New func, changed message truncation to 4096 chars

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* changed supported values for telegram config

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* added mock url for telegram tests to pass

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* added api_url check to telegram config

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* changed bot_token type to secret

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* removed extra emptyline

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* convert bot_token to string in telegram client creation

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* updated configuration.md

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* fixed mixed up errors

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>

* check telegram api url without conversion to string

Signed-off-by: timmilesdw <tuktamyshev.t0308@gmail.com>
2022-02-22 17:51:02 +01:00
Brad Ison
c0a7b75c9c
Automate CSS-inlining for default HTML email template (#2798)
* Automate CSS-inlining for default HTML email template

The original HTML email template was added in `template/email.html`.
It looks like the CSS was manually inlined.  Most likely using the
premailer.dialect.ca web form, which is mentioned in the README for
the Mailgun transactional-email-templates project.  The resulting HTML
with inlined CSS was then copied into `template/default.tmpl`.  This
has resulted in `email.html` and `default.tmpl` diverging at times.

This commit adds build automation to inline the CSS automatically
using [juice][1].  The Go template containing the resulting HTML has
been moved into its own file to avoid the script that performs the CSS
inlining having to parse the `default.tmpl` file to insert it there.

Fixes #1939.

[1]: https://www.npmjs.com/package/juice

Signed-off-by: Brad Ison <bison@xvdf.io>

* Update asset/assets_vfsdata.go

Signed-off-by: Brad Ison <bison@xvdf.io>
2022-01-03 17:33:53 +01:00
Simon Pasquier
48a99764a1
*: bump to Go 1.17 (#2792)
* *: bump to Go 1.17

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* *: fix yamllint errors

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2021-12-22 14:03:53 +01:00
Marco Pracucci
3a63cc2835
Updated assets
Signed-off-by: Marco Pracucci <marco@pracucci.com>
2021-06-16 15:55:28 +02:00
Andrey Kuzmin
194f1cfd7c
Integrate elm-review in CI (#2555)
* Run elm-review from CI

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>

* Use the jfmengels/elm-review-simplify rule

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>

* Make assets

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>
2021-04-27 07:14:00 +02:00
Andrey Kuzmin
54431be888
UI cleanup dead code with elm-review (#2528)
* Add elm-review

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>

* elm-review --fix-all

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>

* Update vfsdata

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>
2021-04-08 21:04:09 +02:00
Goutham Veeramachaneni
df77f87194
Recompile frontend
Signed-off-by: Goutham Veeramachaneni <gouthamve@gmail.com>
2021-03-10 19:17:00 +01:00
Andrey Kuzmin
b0083ec55d
Negative matchers on the Silence form page (#2488)
* Support negative matchers in silence form

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>

* Extract url manipulation from filterBar

This is needed for silence form, where we don't have to
manipulate the url.

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>

* Only show the silence button in the alert list

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>

* Validate matchers

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>

* Improve silence form layout

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>

* Fix for editing existing silence

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>

* Fix for resetting the form

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>

* Update assets_vfsdata.go

Signed-off-by: Andrey Kuzmin <unsoundscapes@gmail.com>
2021-03-01 16:40:32 +01:00
Kiril Vladimirov
740a97345f ui: add isEqual field to Matcher
Signed-off-by: Kiril Vladimirov <kiril@vladimiroff.org>
2021-02-19 00:14:04 +02:00
Simon Pasquier
45db1a1163
ui: update versions for the Elm components (#2482)
The frontend CI job started to fail for some obscure reasons, most
probably because we use a very old version of NodeJS.

To make it work again, this change does the following:

* Bump to the latest NodeJS LTS version and use the buster variant.
* Use Yarn instead of npm to install Javascript packages.
* Bump Elm components to their latest versions.

There should be no functional change to the UI code.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2021-02-09 15:47:54 +01:00
Nicholas Capo
193ebba04d
Display Silence and Alert dates in ISO8601 format (#2363)
* This changes the Alert view the SilenceList and SilenceView

Signed-off-by: Nicholas Capo <nicholas.capo@gmail.com>
2020-12-03 23:06:14 +01:00
B++
00b86d9067
setting favicon.ico dinamically (#2392)
* added favico link with relative path

Signed-off-by: jberny <f.bernardi89@gmail.com>

* re-generated assets

Signed-off-by: jberny <f.bernardi89@gmail.com>
2020-10-15 11:10:48 +02:00
Jon Campbell
8e861c646b
Corrected Template Username Casing (#2345)
* Corrected Template Username Casing

Signed-off-by: midnightconman <midnightconman@gmail.com>

* Added assets_vfsdata

Signed-off-by: midnightconman <midnightconman@gmail.com>
2020-08-12 17:53:56 +02:00
masataka
73db78741f
Add date picker to silence form views (#2262)
* add datepicker

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* fix import error

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* fix unnecessary import from DateTime package

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* fix unnecessary import utc

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* change datetime picker component

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* added datetime picker utils

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* added datetime picker utils

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* remove config

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* replace case expressions to Result.toMaybe

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>
2020-07-24 14:52:29 +02:00
Julien Pivotto
1cba0c7a37
Remove HipChat (#2281)
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2020-06-11 15:51:10 +02:00
masataka
443fdb0b36
fix receiver regex (#2090)
Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>
2020-02-18 17:24:05 +01:00
Simon Pasquier
5211fad581
ui/app: fix silences filter (#2075)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-10-18 11:47:26 +02:00
Stephen Reddekopp
f3a2ff8b7f Disable the grammarly plugin on all textareas to prevent inserted nodes from crashing the vdom (#2061)
Signed-off-by: Stephen Reddekopp <stephen.reddekopp@gmail.com>
2019-10-04 11:00:22 +02:00
masataka
c5d41bb68e Grouping label's expand button with grouping id (#2012)
* Expand button with id

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* fixed indexedMap

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* rebuild

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>
2019-08-29 09:33:24 +02:00
Tim Reddehase
d517f786ef Allow slashes in receivers (#2011)
* do not split receiver by slash

I'm not sure why this was originally done, because a slash seems to be perfectly
valid in a receiver definition. The only issue i encountered was that linking
from a fired alert was not working, because of the splitting performed here.

Signed-off-by: Tim Reddehase <tim.reddehase@xing.com>

* urlquery escape Receiver by default for URL

If Receiver is allowed to contain slashes and other special characters
we need to percent encode them properly.

Signed-off-by: Tim Reddehase <tim.reddehase@xing.com>

* rerun make asset/assets_vfsdata.go

Signed-off-by: Tim Reddehase <tim.reddehase@xing.com>
2019-08-28 10:01:47 +02:00
Simon Pasquier
a1c04ee956
Fix out-of-date assets (#2013)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-08-27 16:41:12 +02:00
masataka
c1040d5d74 Recreate silence with previous comment. (#1927)
* Recreate silence with previous comment.

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* implement newSilenceFromMatchersAndComment

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* Trigger

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>
2019-08-27 12:03:57 +02:00
Simon Pasquier
b11dc2ebc0
Remove Travis CI (#2005)
This change moves the continuous integration to Circle CI only as
maintaining 2 systems has a cost.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-08-26 11:15:28 +02:00
masataka
b33a9366dd Textarea with auto resize in UI (#1893)
* textarea with auto resize

Signed-off-by: mizukoshi-m <mizukoshi@mfeed.ad.jp>

* implement resize textarea on type

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* remove scrollHeight

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* Add new function for textarea field

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* remove unnecessary code

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>
2019-06-12 08:54:16 +02:00
masataka
e33edd6f13 Create Silence from filter Bar (#1911)
* Create Silence from filters

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>

* Get rid of unnecessary things

Signed-off-by: m-masataka <m.mizukoshi.wakuwaku@gmail.com>
2019-06-05 19:01:56 +02:00
stuart nelson
d291471f1e
Merge pull request #1888 from MIBc/master
Invalid APISecret error if only set default api_secret for wechat
2019-05-15 14:58:28 +02:00
lvjiawei
46a59f12d5 Invalid APISecret error if only set default api_secret for wechat
Signed-off-by: lvjiawei <lvjiawei@cmss.chinamobile.com>
2019-05-15 02:54:03 -07:00
Stuart Nelson
d7000fc984 Merge branch 'master' into stn/collapse-alert-groups 2019-05-13 10:03:27 +02:00
Andrey Kuzmin
0f1df58dee Regenerate bindata
Signed-off-by: Andrey Kuzmin <andrey.kuzmin@soundcloud.com>
2019-05-11 20:28:33 +02:00
Will Hegedus
96a33e1bc6 Add filtering based off "active" query param
Signed-off-by: Will Hegedus <wbhegedus@liberty.edu>
2019-05-08 12:05:18 -04:00
stuart nelson
e8d1840e02 Regenerate assets
Signed-off-by: stuart nelson <stuartnelson3@gmail.com>
2019-05-07 16:08:35 +02:00
stuart nelson
b4fb8a28ef Collapse alert groups when initially viewing ui
Signed-off-by: stuart nelson <stuartnelson3@gmail.com>
2019-05-03 16:15:07 +02:00
James Ritchie
a6bdc73fa4 added icon to show inhibited status
Signed-off-by: James Ritchie <james.g.ritchie@baesystems.com>
2019-05-01 08:22:41 +00:00
stuart nelson
0a7e227549 Merge branch 'master' into default-grouping-in-ui
Signed-off-by: stuart nelson <stuartnelson3@gmail.com>
2019-04-30 15:09:56 +02:00
stuart nelson
1f41731881 Correctly construct filter query string for api
Updating the api in
bc373f562f
resulted in the UI sending query strings for the
filter that no longer match what the backend
expects. This brings that in to line.

Signed-off-by: stuart nelson <stuartnelson3@gmail.com>
2019-04-29 16:50:56 +02:00
Andrey Kuzmin
461a6e5450 Update assets_vfsdata.go
Signed-off-by: Andrey Kuzmin <andrey.kuzmin@soundcloud.com>
2019-04-27 12:21:53 +02:00
Simon Pasquier
badb5c51aa asset: fix when outside of $GOPATH
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-04-15 11:41:50 +02:00
beorn7
f2345d7c8e Make the silence preview show also muted alerts
Even if an alert is already silenced and/or muted, I still want to
know that my newly created silence will affect it.

Signed-off-by: beorn7 <beorn@soundcloud.com>
2019-03-01 14:15:53 +01:00
Max Leonard Inden
8e157b3af5
api/v2: Make cluster status peers and name optional
If a users chooses to disable the Alertmanager cluster feature, there is
no cluster name nor cluster peers. Hence these should be optional. Only
cluster status is set to "disabled".

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2019-02-04 11:40:30 +01:00
Max Leonard Inden
2f055d9966
api/v2: Do not populate cluster info if clustering is disabled
When users start Alertmanager with `--cluster.listen-address=`, the
cluster will not be initialized, hence api.peer will be `nil`. So far
this would result in a nil pointer dereference by the API v2 accessing
the api.peer field.

With this patch, api v2 skips populating the peers array, sets the name
to an empty string and the status to "disabled" in case `api.peer` is
nil.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2019-01-31 16:56:59 +01:00
stuart nelson
dba283edd0
respect regex matchers when recreating silences (#1697)
* Respect regexes when recreating silences
* Generate assets

Signed-off-by: stuart nelson <stuartnelson3@gmail.com>
2019-01-09 10:33:43 +01:00
stuart nelson
b437240bd9
Stn/update alert compact view (#1698)
* Remove inhibited/silenced text

In the alert list, this is already seen via the
icons. In the silence preview, since it's in the
silence preview, clearly it's affected by the
silence.

* Generate assets

Signed-off-by: stuart nelson <stuartnelson3@gmail.com>
2019-01-08 16:26:12 +01:00
Max Leonard Inden
2b697aaa6b
api/v2: Extract shared properties of gettable and postable alert
With issue 1465 on openapi-generator [1] being fixed, we can not extract
shared properties of the gettable and postable alert definition into a
shared object (`alert`) like we do for silence, gettable silence and
postable silence.

In addition this patch does the following changes to the UI:

- Use `List GettableAlert` instead of plural type definition like
`GettableAlerts` because the plural definitions are not generated.

- Fix openapi-generator-cli docker image to specific hash.

[1] https://github.com/OpenAPITools/openapi-generator/issues/1465

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-28 14:35:39 +01:00
Max Inden
218b8fb1f4 ui: Pass parameterized api url down to status logic (#1637)
Previously the api url was hardcoded in the elm logic fetching the
status of an Alertmanager. Instead it is now being passed down like we
already did for /alerts, /silences and /receivers.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-27 15:33:19 +01:00
Max Leonard Inden
f504f953c1
ui: Move /alerts to API v2
Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-23 12:53:48 +01:00
Max Leonard Inden
8c19b96bd6
Revert "ui: Patch /alerts and /receivers to use api v1"
This reverts commit fb86df6add.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-21 17:10:17 +01:00
Max Leonard Inden
b4b8b750df
api/v2/openapi.yaml: Differentiate between post and get silence
Instead of having one general silence, differentiate between postable
and gettable silence, hence making more fields required.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-15 16:21:07 +01:00
Max Leonard Inden
fb86df6add
ui: Patch /alerts and /receivers to use api v1
With the previous patch /status and /silences were requested from api
v2. Requesting alerts from api v1 is done in a separate commit to be
able to revert it once alerts also come from api v2.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-15 13:25:41 +01:00
Max Leonard Inden
e4e053b18e
ui: Move /status & /silences to API v2
This patch makes the Alertmanager UI (/status & /silences) use the
api/v2 endpoint. In addition it adds logic to generate the elm side data
model based on the OpenAPI specification.

Signed-off-by: Max Leonard Inden <IndenML@gmail.com>
2018-11-15 13:24:26 +01:00