Commit Graph

15 Commits

Author SHA1 Message Date
Łukasz Mierzwa
983c7f50ee Refactor NewAlertmanager() to not register new instance by default
This makes it easier to test code
2018-01-08 14:28:28 -08:00
Łukasz Mierzwa
efda91f542 Rename Alertmanager.Timeout -> Alertmanager.RequestTimeout 2018-01-08 13:51:38 -08:00
Łukasz Mierzwa
c8b7b3bcd0 Implement functional options, this time for real 2018-01-08 13:30:46 -08:00
Łukasz Mierzwa
3eb28b3a6f Use functional options pattern when creating Alertmanager instances 2018-01-06 17:19:05 -08:00
Łukasz Mierzwa
b6dd993c2b Add support for proxying user connection to Alertmanager
Fixes #190.

With this feature unsee can be configured to proxy requests to selected Alertmanager instances, if it's enabled unsee silence form will send a request via unsee rather than directly. This allows users to manage silences in environments where they have access to unsee but not to Alertmanager. Only silences endpoints on Alertmanager API are proxied.
2018-01-03 16:17:58 -08:00
Łukasz Mierzwa
65a27b39df Move label coloring config options from 'color' to 'labels' section 2017-12-03 10:09:17 -08:00
Łukasz Mierzwa
a1eab56649 Migrate all old env usages to the new naming scheme 2017-12-02 21:55:43 -08:00
Łukasz Mierzwa
860375650e Add --receivers.keep for consistency with other options
there's --labels.keep so same should apply to receivers, add new option, tests and fixes as it wasn't working properly
2017-12-02 21:51:31 -08:00
Łukasz Mierzwa
6273a5a585 Rewrite flag & env handling to use viper
This adds support for reading configuration from file, env support is still there and legacy env variables will still work, but flags are now following config schema, so they don't match old flags.
Having a config file allows to express more complex configuration options, which is needed for some feature requests.
2017-11-27 20:34:36 -08:00
Luke Overend
f8c327c2d7 Add REMOVE_RECEIVERS option
This option allows for all alerts for a specified receiver, or list of
receivers, to be removed from unsee.

My use case for this is using a receiver for auto-remediation which will
contain information that the user will never need to see in the UI.
2017-11-24 07:51:07 +00:00
Łukasz Mierzwa
54b1455276 Use dedicated struct for storing alert annotations
Annotations are just string maps, but to render those we need a bit more information (is it a link, should it be visible by default). Store them as more complex structs internally, this also allows us to drop alert.Links since we now have enough information to tell if annotation is a link
2017-09-07 12:15:32 -07:00
Łukasz Mierzwa
3608ccba21 Strip labels in dedup, not on pull
Strippling labels should be done after alerts are deduplicated, when user requests some alerts with a filter, not during data collection from Alertmanager. When labels are stripped before dedup then they are merged into one, because labels are needed to calculate uniqueness, which means we will return wrong data
2017-08-11 12:28:02 -07:00
Łukasz Mierzwa
d1d4a85409 Add a test for total number of alerts we get from mock, should be 24 2017-08-11 12:28:02 -07:00
Łukasz Mierzwa
549ff9eefd Add KEEP_LABELS option for whitelisting labels
This allows to provide a list of labels that are the only labels allowed in the UI, reversing the logic of STRIP_LABELS.
Fixes #170
2017-08-11 12:28:02 -07:00
Łukasz Mierzwa
5d4ae47888 Convert all packages to be internal
Internal packages are supported by Go 1.5+, any package in /internal/ dir is only importable from the same repo. This will cleanup main dir a bit and provide better namespace for unsee subpackages
2017-08-04 16:21:27 -07:00